]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: turn check if manager cannot be intialized into macro
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 2 Dec 2015 03:35:16 +0000 (22:35 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 2 Dec 2015 14:50:00 +0000 (09:50 -0500)
We need to check the same thing in multiple tests. Use a shared
macro to make it easier to update the list of errnos.

Change the errno code for "unitialized cgroup fs" for ENOMEDIUM.
Exec format error looks like something more serious.

This fixes test-execute invocation in mock.

src/basic/cgroup-util.c
src/cgls/cgls.c
src/libsystemd/sd-bus/test-bus-creds.c
src/test/test-engine.c
src/test/test-execute.c
src/test/test-helper.h
src/test/test-path.c
src/test/test-sched-prio.c

index 8bc2c1e799b07ef67c60118ea02d001b26c0cad4..639f9f3db1c75b81a5cf38ff4ac560838972a774 100644 (file)
@@ -2135,7 +2135,7 @@ int cg_unified(void) {
         else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC))
                 unified_cache = false;
         else
-                return -ENOEXEC;
+                return -ENOMEDIUM;
 
         return unified_cache;
 }
index e6277a9084d86c10c01394fb384c393e114043a6..12537ae85ba2294fdae5b32fb401dc1f741d563a 100644 (file)
@@ -131,7 +131,7 @@ static int get_cgroup_root(char **ret) {
 
         if (!arg_machine) {
                 r = cg_get_root_path(ret);
-                if (r == -ENOEXEC)
+                if (r == -ENOMEDIUM)
                         return log_error_errno(r, "Failed to get root control group path: No cgroup filesystem mounted on /sys/fs/cgroup");
                 else if (r < 0)
                         return log_error_errno(r, "Failed to get root control group path: %m");
index 500fffc5ceae4e1997123f200d3dc7cac3710cc4..8003501059cd6ff01703860d34573deac3886a3a 100644 (file)
@@ -29,7 +29,7 @@ int main(int argc, char *argv[]) {
         _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
         int r;
 
-        if (cg_unified() == -ENOEXEC) {
+        if (cg_unified() == -ENOMEDIUM) {
                 puts("Skipping test: /sys/fs/cgroup/ not available");
                 return EXIT_TEST_SKIP;
         }
index c98d01168c358a8119185816308f7fb1f220296b..217a80e543ad50afb7b7926bf481abed01656e4e 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "bus-util.h"
 #include "manager.h"
+#include "test-helper.h"
 
 int main(int argc, char *argv[]) {
         _cleanup_(sd_bus_error_free) sd_bus_error err = SD_BUS_ERROR_NULL;
@@ -38,7 +39,7 @@ int main(int argc, char *argv[]) {
         /* prepare the test */
         assert_se(set_unit_path(TEST_DIR) >= 0);
         r = manager_new(MANAGER_USER, true, &m);
-        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
+        if (MANAGER_SKIP_TEST(r)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return EXIT_TEST_SKIP;
         }
index 03ec0fcfc75456db6cc760996aa8a0a79bbf6884..1ab10fb313e2ca9ee076ea07248aecab785ec462 100644 (file)
@@ -29,6 +29,7 @@
 #include "mkdir.h"
 #include "path-util.h"
 #include "rm-rf.h"
+#include "test-helper.h"
 #include "unit.h"
 #include "util.h"
 
@@ -296,7 +297,7 @@ int main(int argc, char *argv[]) {
         assert_se(unsetenv("VAR3") == 0);
 
         r = manager_new(MANAGER_USER, true, &m);
-        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT)) {
+        if (MANAGER_SKIP_TEST(r)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return EXIT_TEST_SKIP;
         }
index f75dd3374ad3e674e4e4e5a468baa6f2bead9741..c0f6a91787a1b7063faa182c45122b5d953df032 100644 (file)
 
 #include "sd-daemon.h"
 
+#include "macro.h"
+
 #define TEST_REQ_RUNNING_SYSTEMD(x)                                 \
         if (sd_booted() > 0) {                                      \
                 x;                                                  \
         } else {                                                    \
                 printf("systemd not booted skipping '%s'\n", #x);   \
         }
+
+#define MANAGER_SKIP_TEST(r)                                    \
+        IN_SET(r,                                               \
+               -EPERM,                                          \
+               -EACCES,                                         \
+               -EADDRINUSE,                                     \
+               -EHOSTDOWN,                                      \
+               -ENOENT,                                         \
+               -ENOMEDIUM /* cannot determine cgroup */         \
+               )
index 8302bdd28302a0f0e4525fe933d73f15e5a1afeb..6e6a72d8dce40a975fa941f42394a4b158a98437 100644 (file)
@@ -29,6 +29,7 @@
 #include "rm-rf.h"
 #include "string-util.h"
 #include "strv.h"
+#include "test-helper.h"
 #include "unit.h"
 #include "util.h"
 
@@ -44,7 +45,7 @@ static int setup_test(Manager **m) {
         assert_se(m);
 
         r = manager_new(MANAGER_USER, true, &tmp);
-        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
+        if (MANAGER_SKIP_TEST(r)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return -EXIT_TEST_SKIP;
         }
index 8396ae60f3de0c0860fb78d5522ae8af15a9edc7..7958a6c71a9960ba662af29df8ca0837d7ab3a94 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "macro.h"
 #include "manager.h"
+#include "test-helper.h"
 
 int main(int argc, char *argv[]) {
         Manager *m = NULL;
@@ -35,7 +36,7 @@ int main(int argc, char *argv[]) {
         /* prepare the test */
         assert_se(set_unit_path(TEST_DIR) >= 0);
         r = manager_new(MANAGER_USER, true, &m);
-        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
+        if (MANAGER_SKIP_TEST(r)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return EXIT_TEST_SKIP;
         }