manager: don't bother with creating /run/systemd/units/ in test mode
authorLennart Poettering <lennart@poettering.net>
Wed, 6 Dec 2017 22:24:29 +0000 (23:24 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 7 Dec 2017 10:07:55 +0000 (11:07 +0100)
This makes sure running "systemd --test" works again on systems running
older systemd versions where the dir doesn't exist yet.

src/core/manager.c

index de0a719..3f92ac3 100644 (file)
@@ -732,7 +732,7 @@ int manager_new(UnitFileScope scope, unsigned test_run_flags, Manager **_m) {
                 goto fail;
         }
 
-        if (MANAGER_IS_SYSTEM(m)) {
+        if (MANAGER_IS_SYSTEM(m) && test_run_flags == 0) {
                 r = mkdir_label("/run/systemd/units", 0755);
                 if (r < 0 && r != -EEXIST)
                         goto fail;
@@ -740,7 +740,6 @@ int manager_new(UnitFileScope scope, unsigned test_run_flags, Manager **_m) {
 
         /* Note that we do not set up the notify fd here. We do that after deserialization,
          * since they might have gotten serialized across the reexec. */
-
         m->taint_usr = dir_is_empty("/usr") > 0;
 
         r = manager_setup_prefix(m);