]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: Skip tests which need to access /sys/fs/cgroup if that is not available 1146/head
authorMartin Pitt <martin.pitt@ubuntu.com>
Fri, 4 Sep 2015 14:34:21 +0000 (16:34 +0200)
committerMartin Pitt <martin.pitt@ubuntu.com>
Fri, 4 Sep 2015 14:34:21 +0000 (16:34 +0200)
Commit efdb023 ("core: unified cgroup hierarchy support") introduced a new
error ENOEXEC in cg_unified() if /sys/fs/cgroup/ is not available. Adjust the
"skip" checks in various tests accordingly.

Add a corresponding "skip" check to test-bus-creds as well, as
sd_bus_creds_new_from_pid() now calls cg_unified() as well.

This re-fixes "make check" in build chroots without /sys/fs/cgroup.

https://github.com/systemd/systemd/issues/1132

src/libsystemd/sd-bus/test-bus-creds.c
src/test/test-engine.c
src/test/test-path.c
src/test/test-sched-prio.c

index edd5033db212d4023733ebf3193202fe5b0421c5..580117165a17bfa1d5a804c695ceacd5179b7147 100644 (file)
 #include "sd-bus.h"
 #include "bus-dump.h"
 #include "bus-util.h"
+#include "cgroup-util.h"
 
 int main(int argc, char *argv[]) {
         _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL;
         int r;
 
+        if (cg_unified() == -ENOEXEC) {
+                puts("Skipping test: /sys/fs/cgroup/ not available");
+                return EXIT_TEST_SKIP;
+        }
+
         r = sd_bus_creds_new_from_pid(&creds, 0, _SD_BUS_CREDS_ALL);
         assert_se(r >= 0);
 
index a7ab21a415518cc9fb7404f7aef1dd007b293760..6596069ade5102dcbcc115c5f6534e9b9b610727 100644 (file)
@@ -38,7 +38,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)) {
+        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return EXIT_TEST_SKIP;
         }
index 5d190378f18b42c0e5d58a0a1c261078765d6830..676c9f17932ab94a6812792455917c4d0ba68b5c 100644 (file)
@@ -40,7 +40,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)) {
+        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return -EXIT_TEST_SKIP;
         }
index f915539e00ec0969b04bf3404397305c07c2cb5a..ebc9110c4d700d35b6706db55f59b44431568dce 100644 (file)
@@ -35,7 +35,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)) {
+        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return EXIT_TEST_SKIP;
         }