diff --git a/test/TEST-53-ISSUE-16347/meson.build b/test/TEST-53-ISSUE-16347/meson.build index 4c764a21c39..cb9e6a6d4ec 100644 --- a/test/TEST-53-ISSUE-16347/meson.build +++ b/test/TEST-53-ISSUE-16347/meson.build @@ -3,9 +3,7 @@ integration_tests += [ integration_test_template + { 'name' : fs.name(meson.current_source_dir()), - 'mkosi-args' : integration_test_template['mkosi-args'] + [ - '--configure-script', meson.current_source_dir() / 'mkosi.configure', - ], + 'rtc' : true, 'vm' : true, }, ] diff --git a/test/TEST-53-ISSUE-16347/mkosi.configure b/test/TEST-53-ISSUE-16347/mkosi.configure deleted file mode 100755 index d754fe46e2b..00000000000 --- a/test/TEST-53-ISSUE-16347/mkosi.configure +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: LGPL-2.1-or-later -set -e - -RTC="$(date -u +%Y-%m-%dT%H:%M:%S -d "+3 days")" -jq ".QemuArgs += [\"-rtc\", \"base=$RTC\"]" diff --git a/test/integration-test-wrapper.py b/test/integration-test-wrapper.py index 746c0f98d91..7dac8998c8a 100755 --- a/test/integration-test-wrapper.py +++ b/test/integration-test-wrapper.py @@ -6,6 +6,7 @@ import argparse import base64 import dataclasses +import datetime import json import os import re @@ -363,6 +364,7 @@ def main() -> None: parser.add_argument('--exit-code', required=True, type=int) 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('mkosi_args', nargs='*') args = parser.parse_args() @@ -466,6 +468,16 @@ def main() -> None: """ ) + if args.rtc: + if sys.version_info >= (3, 12): + now = datetime.datetime.now(datetime.UTC) + else: + now = datetime.datetime.utcnow() + + rtc = datetime.datetime.strftime(now, r'%Y-%m-%dT%H:%M:%S') + else: + rtc = None + cmd = [ args.mkosi, '--directory', os.fspath(args.meson_source_dir), @@ -485,6 +497,7 @@ def main() -> None: '--credential', f'systemd.unit-dropin.{args.unit}={shlex.quote(dropin)}', '--runtime-network=none', '--runtime-scratch=no', + *([f'--qemu-args=-rtc base={rtc}'] if rtc else []), *args.mkosi_args, '--firmware', args.firmware, *(['--kvm', 'no'] if int(os.getenv('TEST_NO_KVM', '0')) else []), diff --git a/test/meson.build b/test/meson.build index 92f184e3f57..845a1c96227 100644 --- a/test/meson.build +++ b/test/meson.build @@ -299,6 +299,7 @@ integration_test_template = { 'vm' : false, 'coredump-exclude-regex' : '', 'sanitizer-exclude-regex' : '', + 'rtc' : false, } testdata_subdirs = [ 'auxv', @@ -417,6 +418,10 @@ foreach integration_test : integration_tests integration_test_args += ['--vm'] endif + if integration_test['rtc'] + integration_test_args += ['--rtc'] + endif + if not mkosi.found() continue endif