tests/vm: avoid re-building the VM images all the time
The main problem is that "check-venv" is a .PHONY target will always evaluate and trigger a full re-build of the VM images. While its tempting to drop it from the dependencies that does introduce a breakage on freshly configured builds. Fortunately we do have the otherwise redundant --force flag for the script which up until now was always on. If we make the usage of --force conditional on dependencies other than check-venv triggering the update we can avoid the costly rebuild and still run cleanly on a fresh checkout. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2118 Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240227144335.1196131-4-alex.bennee@linaro.org>
This commit is contained in:
parent
cdb5bfc9f3
commit
151b7dba39
@ -102,7 +102,7 @@ $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \
|
||||
$(if $(LOG_CONSOLE),--log-console) \
|
||||
--source-path $(SRC_PATH) \
|
||||
--image "$@" \
|
||||
--force \
|
||||
$(if $(filter-out check-venv, $?), --force) \
|
||||
--build-image $@, \
|
||||
" VM-IMAGE $*")
|
||||
|
||||
|
@ -646,9 +646,9 @@ def main(vmcls, config=None):
|
||||
vm = vmcls(args, config=config)
|
||||
if args.build_image:
|
||||
if os.path.exists(args.image) and not args.force:
|
||||
sys.stderr.writelines(["Image file exists: %s\n" % args.image,
|
||||
sys.stderr.writelines(["Image file exists, skipping build: %s\n" % args.image,
|
||||
"Use --force option to overwrite\n"])
|
||||
return 1
|
||||
return 0
|
||||
return vm.build_image(args.image)
|
||||
if args.build_qemu:
|
||||
vm.add_source_dir(args.build_qemu)
|
||||
|
Loading…
Reference in New Issue
Block a user