async: context: support stopping the context

Up until this point, the async::context would run forever and have
no way of exiting the process, which isn't very useful.  Add some
support for stop conditions so that we can ask the context to stop
and cleanly exit.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia5967162fb103d4b4b0490d8cbbef12bdb361bac
diff --git a/test/async/context.cpp b/test/async/context.cpp
new file mode 100644
index 0000000..60d3d8d
--- /dev/null
+++ b/test/async/context.cpp
@@ -0,0 +1,10 @@
+#include <sdbusplus/async.hpp>
+
+#include <gtest/gtest.h>
+
+TEST(Context, RunSimple)
+{
+    sdbusplus::async::context ctx;
+    ctx.run(std::execution::just() |
+            std::execution::then([&ctx]() { ctx.request_stop(); }));
+}
diff --git a/test/meson.build b/test/meson.build
index e62c1e7..c2e937a 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -20,6 +20,7 @@
 endif
 
 tests = [
+    'async/context',
     'async/task',
     'bus/list_names',
     'bus/match',