summaryrefslogtreecommitdiffstats
path: root/test/integration-test-wrapper.py
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2024-10-07 17:48:55 +0200
committerLuca Boccassi <luca.boccassi@gmail.com>2024-10-08 00:58:38 +0200
commit0d7f5a9ae6f5fc70c5ad23398c2b7a515e9b1982 (patch)
treea30f59b7ca8c46c42569c1053d6733f8b9ce0d81 /test/integration-test-wrapper.py
parentMerge pull request #34472 from ikruglov/ikruglov/io-systemd-Machine (diff)
downloadsystemd-0d7f5a9ae6f5fc70c5ad23398c2b7a515e9b1982.tar.xz
systemd-0d7f5a9ae6f5fc70c5ad23398c2b7a515e9b1982.zip
mkosi: mark test as skipped when QEMU crashes
On Ubuntu/Debian infrastructure QEMU crashes a lot, so mark the test as skipped in that case as there's nothing we can do about it and we shouldn't mark runs as failed
Diffstat (limited to 'test/integration-test-wrapper.py')
-rwxr-xr-xtest/integration-test-wrapper.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/integration-test-wrapper.py b/test/integration-test-wrapper.py
index 72bd89410c..a680ddee53 100755
--- a/test/integration-test-wrapper.py
+++ b/test/integration-test-wrapper.py
@@ -175,6 +175,14 @@ def main():
result = subprocess.run(cmd)
+ # On Debian/Ubuntu we get a lot of random QEMU crashes. Retry once, and then skip if it fails again.
+ if args.vm and result.returncode == 247 and args.exit_code != 247:
+ journal_file.unlink(missing_ok=True)
+ result = subprocess.run(cmd)
+ if args.vm and result.returncode == 247 and args.exit_code != 247:
+ print(f"Test {args.name} failed due to QEMU crash (error 247), ignoring", file=sys.stderr)
+ exit(77)
+
if journal_file and (keep_journal == "0" or (result.returncode in (args.exit_code, 77) and keep_journal == "fail")):
journal_file.unlink(missing_ok=True)