def main():
- if not bool(int(os.getenv("SYSTEMD_INTEGRATION_TESTS", "0"))):
- print("SYSTEMD_INTEGRATION_TESTS=1 not found in environment, skipping", file=sys.stderr)
- exit(77)
-
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--meson-source-dir', required=True, type=Path)
parser.add_argument('--meson-build-dir', required=True, type=Path)
parser.add_argument('--test-number', required=True)
parser.add_argument('--storage', required=True)
parser.add_argument('--firmware', required=True)
+ parser.add_argument('--slow', action=argparse.BooleanOptionalAction)
parser.add_argument('mkosi_args', nargs="*")
args = parser.parse_args()
+ if not bool(int(os.getenv("SYSTEMD_INTEGRATION_TESTS", "0"))):
+ print(f"SYSTEMD_INTEGRATION_TESTS=1 not found in environment, skipping {args.test_name}", file=sys.stderr)
+ exit(77)
+
+ if args.slow and not bool(int(os.getenv("SYSTEMD_SLOW_TESTS", "0"))):
+ print(f"SYSTEMD_SLOW_TESTS=1 not found in environment, skipping {args.test_name}", file=sys.stderr)
+ exit(77)
+
name = args.test_name + (f"-{i}" if (i := os.getenv("MESON_TEST_ITERATION")) else "")
test_unit = f"testsuite-{args.test_number}.service"
'storage' : 'volatile',
'priority' : 0,
'firmware' : 'linux',
+ 'slow' : false,
}
# TODO: This fs.exists call isn't included in rebuild logic
'--test-number', test_number,
'--storage', test_params['storage'],
'--firmware', test_params['firmware'],
- '--',
- ] + test_params['mkosi_args']
+ ]
+
+ if test_params['slow']
+ args += ['--slow']
+ endif
+
+ args += ['--'] + test_params['mkosi_args']
integration_test_env = {}
if want_integration_tests
- integration_test_env = {'SYSTEMD_INTEGRATION_TESTS': '1'}
+ integration_test_env += {'SYSTEMD_INTEGRATION_TESTS': '1'}
+ endif
+
+ if want_slow_tests
+ integration_test_env += {'SYSTEMD_SLOW_TESTS': '1'}
endif
# We don't explicitly depend on the "mkosi" target because that means the image is rebuilt