iotests: allow test discovery before building
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> Acked-by: Hanna Czenczek <hreitz@redhat.com> Tested-by: Thomas Huth <thuth@redhat.com> Message-Id: <20230303160727.3977246-3-berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230315174331.2959-20-alex.bennee@linaro.org>
This commit is contained in:
parent
0c8076b024
commit
a9e21786da
@ -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:
|
||||
|
@ -178,7 +178,8 @@ class TestEnv(ContextManager['TestEnv']):
|
||||
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 @@ class TestEnv(ContextManager['TestEnv']):
|
||||
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_',
|
||||
|
Loading…
Reference in New Issue
Block a user