From: Daan De Meyer Date: Thu, 27 Mar 2025 14:53:28 +0000 (+0100) Subject: test: Mark tests as skipped if requirements were not satisfied X-Git-Tag: v258-rc1~995^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=29a1e7df64818192be719f1309ae449054b0d7c4;p=thirdparty%2Fsystemd.git test: Mark tests as skipped if requirements were not satisfied Instead of not creating the test at all, let's always create test but simply mark them as skipped as this is more observable than simply not creating the test at all. --- diff --git a/test/integration-tests/integration-test-wrapper.py b/test/integration-tests/integration-test-wrapper.py index d0989106854..7335611eb7b 100755 --- a/test/integration-tests/integration-test-wrapper.py +++ b/test/integration-tests/integration-test-wrapper.py @@ -365,6 +365,7 @@ def main() -> None: parser.add_argument('--coredump-exclude-regex', required=True) parser.add_argument('--sanitizer-exclude-regex', required=True) parser.add_argument('--rtc', action=argparse.BooleanOptionalAction) + parser.add_argument('--skip', action=argparse.BooleanOptionalAction) parser.add_argument('mkosi_args', nargs='*') args = parser.parse_args() @@ -386,6 +387,10 @@ def main() -> None: print(f'TEST_NO_QEMU=1, skipping {args.name}', file=sys.stderr) exit(77) + if args.skip: + print(f'meson requirements for test {args.name} were not fulfilled, skipping', file=sys.stderr) + exit(77) + for s in os.getenv('TEST_SKIP', '').split(): if s in args.name: print(f'Skipping {args.name} due to TEST_SKIP', file=sys.stderr) diff --git a/test/integration-tests/meson.build b/test/integration-tests/meson.build index cdcc1d8dba3..3afbeac1e46 100644 --- a/test/integration-tests/meson.build +++ b/test/integration-tests/meson.build @@ -125,6 +125,10 @@ foreach integration_test : integration_tests integration_test_args += ['--rtc'] endif + if not integration_test['enabled'] + integration_test_args += ['--skip'] + endif + if not mkosi.found() continue endif @@ -153,10 +157,6 @@ foreach integration_test : integration_tests integration_test_env += {'SYSTEMD_INTEGRATION_TESTS': '1'} endif - if not integration_test['enabled'] - continue - endif - # We don't explicitly depend on the "mkosi" target because that means the image is rebuilt on every # "ninja -C build". Instead, the mkosi target has to be rebuilt manually before running the # integration tests with mkosi.