diff --git a/test/integration-tests/integration-test-wrapper.py b/test/integration-tests/integration-test-wrapper.py index d098910685..7335611eb7 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 cdcc1d8dba..3afbeac1e4 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.