]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: add a helper function to skip with errno 10070/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 13 Sep 2018 14:11:16 +0000 (16:11 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 14 Sep 2018 07:29:57 +0000 (09:29 +0200)
src/libsystemd/sd-bus/test-bus-gvariant.c
src/shared/tests.c
src/shared/tests.h
src/test/test-engine.c
src/test/test-execute.c
src/test/test-netlink-manual.c
src/test/test-path.c
src/test/test-sched-prio.c
src/test/test-unit-file.c
src/test/test-unit-name.c

index 648fea76e0219e87f61f49a7c637b012539c2b5e..ae418efa8b34c6fb3f3b69cb1a252ac4c55b1526 100644 (file)
@@ -114,18 +114,16 @@ static void test_bus_gvariant_get_alignment(void) {
         assert_se(bus_gvariant_get_alignment("((t)(t))") == 8);
 }
 
-static void test_marshal(void) {
+static int test_marshal(void) {
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL, *n = NULL;
         _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
-        _cleanup_free_ void *blob;
+        _cleanup_free_ void *blob = NULL;
         size_t sz;
         int r;
 
         r = sd_bus_open_user(&bus);
-        if (r < 0) {
-                log_info("Failed to connect to bus, skipping tests.");
-                exit(EXIT_TEST_SKIP);
-        }
+        if (r < 0)
+                return log_tests_skipped_errno(r, "Failed to connect to bus");
 
         bus->message_version = 2; /* dirty hack to enable gvariant */
 
@@ -197,6 +195,8 @@ static void test_marshal(void) {
 
         assert_se(sd_bus_message_seal(m, 4712, 0) >= 0);
         assert_se(bus_message_dump(m, NULL, BUS_MESSAGE_DUMP_WITH_HEADER) >= 0);
+
+        return EXIT_SUCCESS;
 }
 
 int main(int argc, char *argv[]) {
@@ -205,7 +205,6 @@ int main(int argc, char *argv[]) {
         test_bus_gvariant_is_fixed_size();
         test_bus_gvariant_get_size();
         test_bus_gvariant_get_alignment();
-        test_marshal();
 
-        return 0;
+        return test_marshal();
 }
index 8d70c02802dba9d483ae72e3f7b10575196e042a..10fe6a088c326a962b68808b3f556945a021bfaa 100644 (file)
@@ -102,3 +102,9 @@ int log_tests_skipped(const char *message) {
                    program_invocation_short_name, message);
         return EXIT_TEST_SKIP;
 }
+
+int log_tests_skipped_errno(int r, const char *message) {
+        log_notice_errno(r, "%s: %s, skipping tests: %m",
+                         program_invocation_short_name, message);
+        return EXIT_TEST_SKIP;
+}
index f35a526737a7ccc48759b3127c7ad513faa9bdb7..549959edf2e5b023fe7ed9a4b16d70f55cc2da08 100644 (file)
@@ -7,3 +7,4 @@ const char* get_catalog_dir(void);
 bool slow_tests_enabled(void);
 void test_setup_logging(int level);
 int log_tests_skipped(const char *message);
+int log_tests_skipped_errno(int r, const char *message);
index 0483c5b698e71cbcd63a453685ad44c25fbd376a..0673d36b6225aabb06f50b9ed886743e3f87fe9b 100644 (file)
@@ -28,10 +28,8 @@ int main(int argc, char *argv[]) {
         assert_se(set_unit_path(get_testdata_dir()) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
         r = manager_new(UNIT_FILE_USER, MANAGER_TEST_RUN_BASIC, &m);
-        if (MANAGER_SKIP_TEST(r)) {
-                log_notice_errno(r, "Skipping test: manager_new: %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (MANAGER_SKIP_TEST(r))
+                return log_tests_skipped_errno(r, "manager_new");
         assert_se(r >= 0);
         assert_se(manager_startup(m, NULL, NULL) >= 0);
 
index 15967f76c27e534a76904513e5f93cc438b633ec..c3ea5f6469ec38db4019c15d76f1e22e8b8eb842 100644 (file)
@@ -664,10 +664,8 @@ static int run_tests(UnitFileScope scope, const test_function_t *tests) {
         assert_se(tests);
 
         r = manager_new(scope, MANAGER_TEST_RUN_BASIC, &m);
-        if (MANAGER_SKIP_TEST(r)) {
-                log_notice_errno(r, "Skipping test: manager_new: %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (MANAGER_SKIP_TEST(r))
+                return log_tests_skipped_errno(r, "manager_new");
         assert_se(r >= 0);
         assert_se(manager_startup(m, NULL, NULL) >= 0);
 
index a471456e0cf01c52dee7ac79f442b237cd790b86..1ebe8d197202c55227a6a453b6f02023aa4bcbfe 100644 (file)
@@ -47,16 +47,12 @@ static int test_tunnel_configure(sd_netlink *rtnl) {
 
         /* skip test if module cannot be loaded */
         r = load_module("ipip");
-        if (r < 0) {
-                log_info_errno(r, "Skipping tests: failed to load module 'ipip': %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (r < 0)
+                return log_tests_skipped_errno(r, "failed to load module 'ipip'");
 
         r = load_module("sit");
-        if (r < 0) {
-                log_info_errno(r, "Skipping tests: failed to load module 'sit': %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (r < 0)
+                return log_tests_skipped_errno(r, "failed to load module 'sit'");
 
         if (getuid() != 0)
                 return log_tests_skipped("not root");
index 025b3295a0b4ae4ed38655916a3fff4ed70d801f..0b5537b3646a27d048ccd749a5615a6ed011e3a7 100644 (file)
@@ -37,10 +37,8 @@ static int setup_test(Manager **m) {
                 return log_tests_skipped("cgroupfs not available");
 
         r = manager_new(UNIT_FILE_USER, MANAGER_TEST_RUN_BASIC, &tmp);
-        if (MANAGER_SKIP_TEST(r)) {
-                log_notice_errno(r, "Skipping test: manager_new: %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (MANAGER_SKIP_TEST(r))
+                return log_tests_skipped_errno(r, "manager_new");
         assert_se(r >= 0);
         assert_se(manager_startup(tmp, NULL, NULL) >= 0);
 
index f6ca192f07596e07fabc5ceee8a9ba7c4fa3a429..1aa178182bffb482068d1c374d85b09f1736fad9 100644 (file)
@@ -29,10 +29,8 @@ int main(int argc, char *argv[]) {
         assert_se(set_unit_path(get_testdata_dir()) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
         r = manager_new(UNIT_FILE_USER, MANAGER_TEST_RUN_BASIC, &m);
-        if (MANAGER_SKIP_TEST(r)) {
-                log_notice_errno(r, "Skipping test: manager_new: %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (MANAGER_SKIP_TEST(r))
+                return log_tests_skipped_errno(r, "manager_new");
         assert_se(r >= 0);
         assert_se(manager_startup(m, NULL, NULL) >= 0);
 
index 71321468279b16c71943105c7b8a5a48c6ed298f..cb074aaa4d9e4d2dccb842e0aabd565de414829c 100644 (file)
@@ -39,11 +39,8 @@ static int test_unit_file_get_set(void) {
         assert_se(h);
 
         r = unit_file_get_list(UNIT_FILE_SYSTEM, NULL, h, NULL, NULL);
-
-        if (IN_SET(r, -EPERM, -EACCES)) {
-                log_notice_errno(r, "Skipping test: unit_file_get_list: %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (IN_SET(r, -EPERM, -EACCES))
+                return log_tests_skipped_errno(r, "unit_file_get_list");
 
         log_full_errno(r == 0 ? LOG_INFO : LOG_ERR, r,
                        "unit_file_get_list: %m");
index b1600db5342ea209817e10fa90351b017341da53..157c900276edc58622488042d71f7405e3d917ad 100644 (file)
@@ -205,10 +205,8 @@ static int test_unit_printf(void) {
         assert_se(get_shell(&shell) >= 0);
 
         r = manager_new(UNIT_FILE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
-        if (MANAGER_SKIP_TEST(r)) {
-                log_notice_errno(r, "Skipping test: manager_new: %m");
-                return EXIT_TEST_SKIP;
-        }
+        if (MANAGER_SKIP_TEST(r))
+                return log_tests_skipped_errno(r, "manager_new");
         assert_se(r == 0);
 
 #define expect(unit, pattern, expected)                                 \