chiark / gitweb /
nspawn: introduce the new /machine/ tree in the cgroup tree and move containers there
[elogind.git] / src / libsystemd-bus / test-bus-kernel.c
index f519bf61cb065cae5ce79ff83a9dffd54c177ed8..5a5d9fc252798bda6dc87c63daa251439506dce5 100644 (file)
@@ -71,7 +71,7 @@ int main(int argc, char *argv[]) {
 
         printf("unique b: %s\n", ub);
 
-        r = sd_bus_emit_signal(a, "/foo", "waldo.com", "Piep", "s", "I am a string");
+        r = sd_bus_emit_signal(a, "/foo/bar/waldo", "waldo.com", "Piep", "sss", "I am a string", "/this/is/a/path", "and.this.a.domain.name");
         assert_se(r >= 0);
 
         r = sd_bus_process(b, &m);
@@ -85,14 +85,37 @@ int main(int argc, char *argv[]) {
         assert_se(r >= 0);
         assert_se(streq(the_string, "I am a string"));
 
-        r = sd_bus_request_name(a, "net.0pointer.foobar", 0);
+        sd_bus_message_unref(m);
+        m = NULL;
+
+        r = sd_bus_request_name(a, "net.x0pointer.foobar", 0);
+        assert_se(r >= 0);
+
+        r = sd_bus_message_new_method_call(b, "net.x0pointer.foobar", "/a/path", "an.inter.face", "AMethod", &m);
+        assert_se(r >= 0);
+
+        r = sd_bus_send(b, m, NULL);
         assert_se(r >= 0);
 
-        r = sd_bus_release_name(a, "net.0pointer.foobar");
+        for (;;) {
+                sd_bus_message_unref(m);
+                m = NULL;
+                r = sd_bus_process(a, &m);
+                assert_se(r > 0);
+                assert_se(m);
+
+                bus_message_dump(m);
+                assert_se(sd_bus_message_rewind(m, true) >= 0);
+
+                if (sd_bus_message_is_method_call(m, "an.inter.face", "AMethod"))
+                        break;
+        }
+
+        r = sd_bus_release_name(a, "net.x0pointer.foobar");
         assert_se(r >= 0);
 
-        r = sd_bus_release_name(a, "net.0pointer.foobar");
-        assert_se(r < 0);
+        r = sd_bus_release_name(a, "net.x0pointer.foobar");
+        assert_se(r == -ESRCH);
 
         sd_bus_unref(a);
         sd_bus_unref(b);