]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
TEST-53-ISSUE-16347: Implement rtc via custom argument
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 24 Feb 2025 16:12:22 +0000 (17:12 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 4 Mar 2025 14:45:13 +0000 (15:45 +0100)
Let's get rid of the configure script for this use case by just
implementing the necessary logic in integration-test-wrapper.py.
We need to get rid of our usage of configure scripts to allow enabling
the History= setting.

(cherry picked from commit 2db2cb3034e71600d25ab1c181f692265d3833fe)

test/TEST-53-ISSUE-16347/meson.build
test/TEST-53-ISSUE-16347/mkosi.configure [deleted file]
test/integration-test-wrapper.py
test/meson.build

index 4c764a21c39dc467d6311e809cb22abe352ce18a..cb9e6a6d4ecefb7082489275272678702589b4c1 100644 (file)
@@ -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 (executable)
index d754fe4..0000000
+++ /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\"]"
index 746c0f98d91e53a00fed46729c06c1197aa84e15..7dac8998c8a7d0f531a43c44097d3b155555e053 100755 (executable)
@@ -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 []),
index 92f184e3f576769fbb9c1306a536d431dbfb7044..845a1c962275db86b27a34ede90070a9f27f4d26 100644 (file)
@@ -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