chiark / gitweb /
nspawn: create empty /etc/resolv.conf if necessary
[elogind.git] / src / libsystemd-bus / test-bus-kernel.c
index 8266272ac27c3b4ccc9a1b65ed642c4711dd3087..ffabdcbd14a2ae673666778cea936c851d528036 100644 (file)
@@ -71,7 +71,21 @@ 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");
+        {
+                //FIXME:
+                struct kdbus_cmd_match cmd_match;
+
+                cmd_match.size = sizeof(cmd_match);
+                cmd_match.src_id = KDBUS_MATCH_SRC_ID_ANY;
+
+                r = ioctl(sd_bus_get_fd(a), KDBUS_CMD_MATCH_ADD, &cmd_match);
+                assert_se(r >= 0);
+
+                r = ioctl(sd_bus_get_fd(b), KDBUS_CMD_MATCH_ADD, &cmd_match);
+                assert_se(r >= 0);
+        }
+
+        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);
@@ -106,13 +120,16 @@ int main(int argc, char *argv[]) {
 
                 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.x0pointer.foobar");
-        assert_se(r == -ENXIO);
+        assert_se(r == -ESRCH);
 
         sd_bus_unref(a);
         sd_bus_unref(b);