diff mbox series

[v2,4/8] tests/qemu-iotests: Allow to run "./check -n" from the source directory, too

Message ID 20220209101530.3442837-5-thuth@redhat.com
State New
Headers show
Series Improve integration of iotests in the meson test harness | expand

Commit Message

Thomas Huth Feb. 9, 2022, 10:15 a.m. UTC
For better integration of the iotests into the meson build system, it
would be very helpful to get the list of the tests in the "auto" group
during the "configure" step already. However, "check -n -g auto"
currently only works if the binaries have already been built. To fix this,
skip the check for the binaries while setting up the TestEnv.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qemu-iotests/check      | 2 +-
 tests/qemu-iotests/testenv.py | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
index 75de1b4691..a67b831534 100755
--- a/tests/qemu-iotests/check
+++ b/tests/qemu-iotests/check
@@ -124,7 +124,7 @@  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 0f32897fe8..ec8c83ab07 100644
--- a/tests/qemu-iotests/testenv.py
+++ b/tests/qemu-iotests/testenv.py
@@ -180,7 +180,8 @@  def __init__(self, imgfmt: str, imgproto: str, aiomode: 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
@@ -226,6 +227,12 @@  def __init__(self, imgfmt: str, imgproto: str, aiomode: str,
         self.build_root = os.path.join(self.build_iotests, '..', '..')
 
         self.init_directories()
+
+        # Don't try to look for binaries etc. in dry run mode, so that
+        # the dry run mode also works without building the binaries first
+        if dry_run:
+            return
+
         self.init_binaries()
 
         self.malloc_perturb_ = os.getenv('MALLOC_PERTURB_',