[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 2/8] iotests: allow test discovery before building
From: |
Daniel P . Berrangé |
Subject: |
[PATCH v2 2/8] iotests: allow test discovery before building |
Date: |
Fri, 3 Mar 2023 16:07:21 +0000 |
The 'check' script can be invoked in "dry run" mode, in which case it
merely does test discovery and prints out all their names. Despite only
doing test discovery it still validates that the various QEMU binaries
can be found. This makes it impossible todo test discovery prior to
building QEMU. This is a desirable feature to support, because it will
let meson discover tests.
Fortunately the code in the TestEnv constructor is ordered in a way
that makes this fairly trivial to achieve. We can just short circuit
the constructor after the basic directory paths have been set.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/qemu-iotests/check | 3 ++-
tests/qemu-iotests/testenv.py | 7 ++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
index da7e8a87fe..bb294ef556 100755
--- a/tests/qemu-iotests/check
+++ b/tests/qemu-iotests/check
@@ -145,7 +145,8 @@ if __name__ == '__main__':
aiomode=args.aiomode, cachemode=args.cachemode,
imgopts=args.imgopts, misalign=args.misalign,
debug=args.debug, valgrind=args.valgrind,
- gdb=args.gdb, qprint=args.print)
+ gdb=args.gdb, qprint=args.print,
+ dry_run=args.dry_run)
if len(sys.argv) > 1 and sys.argv[-len(args.tests)-1] == '--':
if not args.tests:
diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
index aa9d735414..9a37ad9152 100644
--- a/tests/qemu-iotests/testenv.py
+++ b/tests/qemu-iotests/testenv.py
@@ -178,7 +178,8 @@ def __init__(self, source_dir: str, build_dir: str,
debug: bool = False,
valgrind: bool = False,
gdb: bool = False,
- qprint: bool = False) -> None:
+ qprint: bool = False,
+ dry_run: bool = False) -> None:
self.imgfmt = imgfmt
self.imgproto = imgproto
self.aiomode = aiomode
@@ -218,6 +219,10 @@ def __init__(self, source_dir: str, build_dir: str,
self.build_root = os.path.join(self.build_iotests, '..', '..')
self.init_directories()
+
+ if dry_run:
+ return
+
self.init_binaries()
self.malloc_perturb_ = os.getenv('MALLOC_PERTURB_',
--
2.39.2
- [PATCH v2 0/8] iotests: make meson aware of individual I/O tests, Daniel P . Berrangé, 2023/03/03
- [PATCH v2 1/8] iotests: explicitly pass source/build dir to 'check' command, Daniel P . Berrangé, 2023/03/03
- [PATCH v2 2/8] iotests: allow test discovery before building,
Daniel P . Berrangé <=
- [PATCH v2 3/8] iotests: strip subdir path when listing tests, Daniel P . Berrangé, 2023/03/03
- [PATCH v2 4/8] iotests: print TAP protocol version when reporting tests, Daniel P . Berrangé, 2023/03/03
- [PATCH v2 5/8] iotests: connect stdin to /dev/null when running tests, Daniel P . Berrangé, 2023/03/03
- [PATCH v2 7/8] iotests: register each I/O test separately with meson, Daniel P . Berrangé, 2023/03/03
- [PATCH v2 6/8] iotests: always use a unique sub-directory per test, Daniel P . Berrangé, 2023/03/03