chiark / gitweb /
bus: don't rely on static IDs in tests
authorDavid Herrmann <dh.herrmann@gmail.com>
Tue, 17 Feb 2015 17:03:50 +0000 (18:03 +0100)
committerDavid Herrmann <dh.herrmann@gmail.com>
Tue, 17 Feb 2015 17:16:07 +0000 (18:16 +0100)
We should never put any constraints on the IDs returned by the kernel. Use
sd_bus_get_unique_name() to retrieve the ID of a peer.

src/libsystemd/sd-bus/test-bus-zero-copy.c

index a054f74..4ea9f9f 100644 (file)
@@ -39,6 +39,7 @@
 
 int main(int argc, char *argv[]) {
         _cleanup_free_ char *name = NULL, *bus_name = NULL, *address = NULL;
+        const char *unique;
         uint8_t *p;
         sd_bus *a, *b;
         int r, bus_ref;
@@ -81,7 +82,10 @@ int main(int argc, char *argv[]) {
         r = sd_bus_start(b);
         assert_se(r >= 0);
 
-        r = sd_bus_message_new_method_call(b, &m, ":1.1", "/a/path", "an.inter.face", "AMethod");
+        r = sd_bus_get_unique_name(a, &unique);
+        assert_se(r >= 0);
+
+        r = sd_bus_message_new_method_call(b, &m, unique, "/a/path", "an.inter.face", "AMethod");
         assert_se(r >= 0);
 
         r = sd_bus_message_open_container(m, 'r', "aysay");