X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Ftest-bus-cleanup.c;h=f58688059304e821be5be2495317eeaf9814eb9f;hb=a2243d548830d2aff6b768a0b47a0f0a513012a5;hp=e36a69f0d1e14d4334ec9c7b0fd194b493f05b4f;hpb=151b9b9662a90455262ce575a8a8ae74bf4ff336;p=elogind.git diff --git a/src/libsystemd/sd-bus/test-bus-cleanup.c b/src/libsystemd/sd-bus/test-bus-cleanup.c index e36a69f0d..f58688059 100644 --- a/src/libsystemd/sd-bus/test-bus-cleanup.c +++ b/src/libsystemd/sd-bus/test-bus-cleanup.c @@ -34,11 +34,18 @@ static void test_bus_new(void) { printf("after new: refcount %u\n", REFCNT_GET(bus->n_ref)); } -static void test_bus_open(void) { +static int test_bus_open(void) { _cleanup_bus_unref_ sd_bus *bus = NULL; + int r; - assert_se(sd_bus_open_system(&bus) >= 0); + r = sd_bus_open_system(&bus); + if (r == -ECONNREFUSED || r == -ENOENT) + return r; + + assert_se(r >= 0); printf("after open: refcount %u\n", REFCNT_GET(bus->n_ref)); + + return 0; } static void test_bus_new_method_call(void) { @@ -70,11 +77,20 @@ static void test_bus_new_signal(void) { } int main(int argc, char **argv) { + int r; + log_parse_environment(); log_open(); test_bus_new(); - test_bus_open(); + r = test_bus_open(); + if (r < 0) { + log_info("Failed to connect to bus, skipping tests."); + return EXIT_TEST_SKIP; + } + test_bus_new_method_call(); test_bus_new_signal(); + + return EXIT_SUCCESS; }