diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2024-02-27 14:43:09 +0000 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-02-28 09:09:16 +0000 |
commit | 151b7dba391fab64cc008a1fdba6ddcf6f8c39c8 (patch) | |
tree | f3df7b7eabbe1a032a8f4b338f64b9929096f2f1 /tests/vm | |
parent | cdb5bfc9f3454e969c51669a2283347b9755d517 (diff) | |
download | qemu-151b7dba391fab64cc008a1fdba6ddcf6f8c39c8.zip qemu-151b7dba391fab64cc008a1fdba6ddcf6f8c39c8.tar.gz qemu-151b7dba391fab64cc008a1fdba6ddcf6f8c39c8.tar.bz2 |
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>
Diffstat (limited to 'tests/vm')
-rw-r--r-- | tests/vm/Makefile.include | 2 | ||||
-rw-r--r-- | tests/vm/basevm.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include index bf12e0f..ac56824 100644 --- a/tests/vm/Makefile.include +++ b/tests/vm/Makefile.include @@ -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 $*") diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index c0d62c0..f8fd751 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -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) |