mirror of
https://github.com/systemd/systemd.git
synced 2025-03-02 12:58:35 +03:00
test: Add option to save in progress test journals to /tmp
The journal isn't the best at being fast, especially when writing to disk and not to memory, which can cause integration tests to grind to a halt on beefy systems due to all the systemd-journal-remote instances not being able to write journal entries to disk fast enough. Let's introduce an option to allow writing in progress test journals to use /tmp which can be used on beefy systems with lots of memory to speed things up.
This commit is contained in:
parent
7893362508
commit
e49fdecd16
@ -151,6 +151,10 @@ that make use of `run_testcases`.
|
||||
|
||||
`TEST_SKIP_TESTCASE=testcase`: takes a space separated list of testcases to skip.
|
||||
|
||||
`TEST_JOURNAL_USE_TMP=1`: Write test journal to `/tmp` while the test is in
|
||||
progress and only move the journal to its final location in the build directory
|
||||
(`$BUILD_DIR/test/journal`) when the test is finished.
|
||||
|
||||
### SELinux AVCs
|
||||
|
||||
To have `TEST-06-SELINUX` check for SELinux denials, write the following to
|
||||
|
@ -10,6 +10,7 @@ import json
|
||||
import os
|
||||
import re
|
||||
import shlex
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
@ -441,7 +442,11 @@ def main() -> None:
|
||||
"""
|
||||
)
|
||||
|
||||
journal_file = (args.meson_build_dir / (f'test/journal/{name}.journal')).absolute()
|
||||
if os.getenv('TEST_JOURNAL_USE_TMP', '0') == '1':
|
||||
journal_file = Path(f'/tmp/systemd-integration-tests/journal/{name.journal}')
|
||||
else:
|
||||
journal_file = (args.meson_build_dir / f'test/journal/{name}.journal').absolute()
|
||||
|
||||
journal_file.unlink(missing_ok=True)
|
||||
|
||||
if not sys.stderr.isatty():
|
||||
@ -551,6 +556,11 @@ def main() -> None:
|
||||
):
|
||||
journal_file.unlink(missing_ok=True)
|
||||
|
||||
if os.getenv('TEST_JOURNAL_USE_TMP', '0') == '1':
|
||||
dst = args.meson_build_dir / f'test/journal/{name}.journal'
|
||||
dst.parent.mkdir(parents=True, exist_ok=True)
|
||||
shutil.move(journal_file, dst)
|
||||
|
||||
if shell or (result.returncode in (args.exit_code, 77) and not coredumps and not sanitizer):
|
||||
exit(0 if shell or result.returncode == args.exit_code else 77)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user