diff options
Diffstat (limited to 'src/libsystemd/sd-bus/test-bus-marshal.c')
-rw-r--r-- | src/libsystemd/sd-bus/test-bus-marshal.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/libsystemd/sd-bus/test-bus-marshal.c b/src/libsystemd/sd-bus/test-bus-marshal.c index c647f0ff12..1e9810ce4f 100644 --- a/src/libsystemd/sd-bus/test-bus-marshal.c +++ b/src/libsystemd/sd-bus/test-bus-marshal.c @@ -1,6 +1,4 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ -/*** -***/ #include <math.h> #include <stdlib.h> @@ -20,9 +18,10 @@ #include "bus-label.h" #include "bus-message.h" #include "bus-util.h" +#include "escape.h" #include "fd-util.h" -#include "hexdecoct.h" #include "log.h" +#include "tests.h" #include "util.h" static void test_bus_path_encode_unique(void) { @@ -112,7 +111,7 @@ int main(int argc, char *argv[]) { uint8_t u, v; void *buffer = NULL; size_t sz; - char *h; + _cleanup_free_ char *h = NULL; const int32_t integer_array[] = { -1, -2, 0, 1, 2 }, *return_array; char *s; _cleanup_free_ char *first = NULL, *second = NULL, *third = NULL; @@ -122,9 +121,13 @@ int main(int argc, char *argv[]) { double dbl; uint64_t u64; + test_setup_logging(LOG_INFO); + r = sd_bus_default_user(&bus); if (r < 0) - return EXIT_TEST_SKIP; + r = sd_bus_default_system(&bus); + if (r < 0) + return log_tests_skipped("Failed to connect to bus"); r = sd_bus_message_new_method_call(bus, &m, "foobar.waldo", "/", "foobar.waldo", "Piep"); assert_se(r >= 0); @@ -151,7 +154,7 @@ int main(int argc, char *argv[]) { assert_se(r >= 0); r = sd_bus_message_append(m, "()"); - assert_se(r >= 0); + assert_se(r == -EINVAL); r = sd_bus_message_append(m, "ba(ss)", 255, 3, "aaa", "1", "bbb", "2", "ccc", "3"); assert_se(r >= 0); @@ -194,14 +197,12 @@ int main(int argc, char *argv[]) { r = bus_message_get_blob(m, &buffer, &sz); assert_se(r >= 0); - h = hexmem(buffer, sz); + h = cescape_length(buffer, sz); assert_se(h); - log_info("message size = %zu, contents =\n%s", sz, h); - free(h); #if HAVE_GLIB -#ifndef __SANITIZE_ADDRESS__ +#if !HAS_FEATURE_ADDRESS_SANITIZER { GDBusMessage *g; char *p; @@ -295,7 +296,7 @@ int main(int argc, char *argv[]) { assert_se(v == 10); r = sd_bus_message_read(m, "()"); - assert_se(r > 0); + assert_se(r < 0); r = sd_bus_message_read(m, "ba(ss)", &boolean, 3, &x, &y, &a, &b, &c, &d); assert_se(r > 0); @@ -376,7 +377,7 @@ int main(int argc, char *argv[]) { assert_se(sd_bus_message_verify_type(m, 'a', "{yv}") > 0); - r = sd_bus_message_skip(m, "a{yv}y(ty)y(yt)y()"); + r = sd_bus_message_skip(m, "a{yv}y(ty)y(yt)y"); assert_se(r >= 0); assert_se(sd_bus_message_verify_type(m, 'b', NULL) > 0); |