]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: Run tests that don't need a vm in systemd-nspawn
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 28 May 2024 13:54:35 +0000 (15:54 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 29 May 2024 12:10:50 +0000 (14:10 +0200)
If we're not running the test as root, stick to using a virtual
machine, as mkosi can't do rootless nspawn yet.

25 files changed:
test/TEST-06-SELINUX/meson.build
test/TEST-08-INITRD/meson.build
test/TEST-13-NSPAWN/meson.build
test/TEST-17-UDEV/meson.build
test/TEST-21-DFUZZER/meson.build
test/TEST-24-CRYPTSETUP/meson.build
test/TEST-29-PORTABLE/meson.build
test/TEST-30-ONCLOCKCHANGE/meson.build
test/TEST-31-DEVICE-ENUMERATION/meson.build
test/TEST-32-OOMPOLICY/meson.build
test/TEST-36-NUMAPOLICY/meson.build
test/TEST-38-FREEZER/meson.build
test/TEST-50-DISSECT/meson.build
test/TEST-53-ISSUE-16347/meson.build
test/TEST-55-OOMD/meson.build
test/TEST-62-RESTRICT-IFACES/meson.build
test/TEST-64-UDEV-STORAGE/meson.build
test/TEST-66-DEVICE-ISOLATION/meson.build
test/TEST-67-INTEGRITY/meson.build
test/TEST-70-TPM2/meson.build
test/TEST-82-SOFTREBOOT/meson.build
test/TEST-83-BTRFS/meson.build
test/TEST-84-STORAGETM/meson.build
test/integration-test-wrapper.py
test/meson.build

index dd1dfb0bafe56fd18a7a9b2900e0fb8aea87483c..7a850beb816021e7a9a05f0d1c2c66c239218632 100644 (file)
@@ -6,6 +6,7 @@ integration_tests += [
                 'cmdline' : integration_test_template['cmdline'] + ['selinux=1', 'lsm=selinux'],
                 # FIXME; Figure out why reboot sometimes hangs with 'linux' firmware.
                 'firmware' : 'uefi',
+                'vm' : true,
         },
 ]
 
index 34edec0d355217f311e0c004083c23eefd750132..dcbfe20134ce29fbc205a79846b3e8fac08e0eb7 100644 (file)
@@ -7,5 +7,6 @@ integration_tests += [
                         'rd.systemd.wants=initrd-run-mount.service',
                 ],
                 'exit-code' : 124,
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 3373df297c1c508ddd209a0d41be96c10d91a04a..29c8e434cac1fca8587e743e339104f7eeadd81c 100644 (file)
@@ -6,5 +6,6 @@ integration_tests += [
                 'timeout' : 3600,
                 'priority' : 50,
                 'slow' : true,
+                'vm' : true,
         },
 ]
index ec621d5068ec6d8ecb1cdd3445199fa56d72ef08..cef370bd656197dbcd5babca6aeb3f119f3f45c9 100644 (file)
@@ -20,5 +20,6 @@ integration_tests += [
                 'mkosi-args' : integration_test_template['mkosi-args'] + [
                         '--runtime-size=11G',
                 ],
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 174ec42867f0a79fe31d981846329373d9957b6f..cd0f1f6574a2fbcaada4548fc3f92b2405a9c46d 100644 (file)
@@ -3,6 +3,7 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
 
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 2b832a8f6d3c12ea778acb93b44232a4e7386f67..b715c0dd2619dd57676454feb013011a82204708 100644 (file)
@@ -6,5 +6,6 @@ integration_tests += [
                 'configuration' : integration_test_template['configuration'] + {
                         'memory-accounting' : 'yes',
                 },
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 8d6df66cb06ca6f5dc8d7787f6e24bac6c890580..4c764a21c39dc467d6311e809cb22abe352ce18a 100644 (file)
@@ -6,5 +6,6 @@ integration_tests += [
                 'mkosi-args' : integration_test_template['mkosi-args'] + [
                         '--configure-script', meson.current_source_dir() / 'mkosi.configure',
                 ],
+                'vm' : true,
         },
 ]
index 71014a3158a59aa0975fef7c267f998cf92c291b..adc050978696804c6277e5adb5d5156408bfcfb3 100644 (file)
@@ -5,6 +5,7 @@ integration_tests += [
                 'name' : fs.name(meson.current_source_dir()),
                 'credentials' : integration_test_template['credentials'] + [
                         files('systemd.unit-dropin.init.scope'),
-                ]
+                ],
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 3c206d9f54e3d4c7d20b85c9ccd61c690dd0a76c..363104d861bc93d46efe4582ca163ae084d10243 100644 (file)
@@ -33,6 +33,7 @@ foreach testcase : [
                                 '--configure-script', files('@0@.configure'.format(testcase)),
                         ],
                         'priority' : 10,
+                        'vm' : true,
                 },
         ]
 endforeach
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 4e0bf908746f1b78194c6aa2173ca24dfda57f16..d84c2b78382b3cfb5d57d10a81294f568d43b8c9 100644 (file)
@@ -7,5 +7,6 @@ integration_tests += [
                         'wants' : '@0@ tpm2.target'.format(integration_test_template['configuration']['wants']),
                         'after' : '@0@ tpm2.target'.format(integration_test_template['configuration']['after']),
                 },
+                'vm' : true,
         },
 ]
index a9b26ffd840fec1ec9455507f361ed87948248b7..a7c1bf0bd5573174d17dd448a0a18db87d1e76fe 100644 (file)
@@ -6,5 +6,6 @@ integration_tests += [
                 'unit' : files('TEST-82-SOFTREBOOT.service'),
                 'cmdline' : ['systemd.set_credential=kernelcmdlinecred:uff'],
                 'storage' : 'persistent',
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index 8dec5f37e73a80d31833a772fa16883b02a07615..77370ce4588c492616a081a23117e5b55dce4f3b 100644 (file)
@@ -3,5 +3,6 @@
 integration_tests += [
         integration_test_template + {
                 'name' : fs.name(meson.current_source_dir()),
+                'vm' : true,
         },
 ]
index c84296d8164e0eef93d825d9d226c40df2a7908f..5b098a3e01f3c95e93f3981ea60a8e27fe990492 100755 (executable)
@@ -48,6 +48,7 @@ def main():
     parser.add_argument('--storage', required=True)
     parser.add_argument('--firmware', required=True)
     parser.add_argument('--slow', action=argparse.BooleanOptionalAction)
+    parser.add_argument('--vm', action=argparse.BooleanOptionalAction)
     parser.add_argument('--exit-code', required=True, type=int)
     parser.add_argument('mkosi_args', nargs="*")
     args = parser.parse_args()
@@ -145,7 +146,7 @@ def main():
             ),
         ]),
         '--credential', f"journal.storage={'persistent' if sys.stderr.isatty() else args.storage}",
-        'qemu',
+        'qemu' if args.vm or os.getuid() != 0 else 'boot',
     ]
 
     result = subprocess.run(cmd)
index 5c15ade344c4c4ca58a8535de2cb27f49df8f545..92edd079b44cbb0b438ccb773a1390d872690820 100644 (file)
@@ -293,6 +293,7 @@ integration_test_template = {
         'credentials' : [],
         'qemu-args' : [],
         'exit-code' : 123,
+        'vm' : false,
 }
 testdata_subdirs = [
         'auxv',
@@ -407,6 +408,10 @@ foreach integration_test : integration_tests
                 integration_test_args += ['--slow']
         endif
 
+        if integration_test['vm']
+                integration_test_args += ['--vm']
+        endif
+
         if not mkosi.found()
                 continue
         endif