From: Paolo Bonzini Date: Tue, 19 Apr 2022 09:10:05 +0000 (+0100) Subject: tests/docker: simplify docker-TEST@IMAGE targets X-Git-Tag: v7.1.0-rc0~145^2~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d39eaa2266f738c10e63cb3d73983cfc4c8fc69b;p=thirdparty%2Fqemu.git tests/docker: simplify docker-TEST@IMAGE targets No need to go through the shell when we already have the test and images at the point where the targets are declared. Signed-off-by: Paolo Bonzini Message-Id: <20220401141326.1244422-8-pbonzini@redhat.com> Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20220419091020.3008144-11-alex.bennee@linaro.org> --- diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 3b5ebd55670..2a187cb5a21 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -204,7 +204,7 @@ DOCKER_TESTS := $(if $(TESTS), $(filter $(TESTS), $(__TESTS)), $(__TESTS)) $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES)), \ $(foreach t,$(DOCKER_TESTS), \ $(eval .PHONY: docker-$t@$i) \ - $(eval docker-$t@$i: docker-image-$i docker-run-$t@$i) \ + $(eval docker-$t@$i: docker-image-$i; @$(MAKE) docker-run TEST=$t IMAGE=$i) \ ) \ $(foreach t,$(DOCKER_TESTS), \ $(eval docker-all-tests: docker-$t@$i) \ @@ -263,7 +263,7 @@ DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache # This rule if for directly running against an arbitrary docker target. # It is called by the expanded docker targets (e.g. make -# docker-test-foo@bar) which will do additional verification. +# docker-test-foo@bar) which will also ensure the image is up to date. # # For example: make docker-run TEST="test-quick" IMAGE="debian:arm64" EXECUTABLE=./aarch64-linux-user/qemu-aarch64 # @@ -298,14 +298,6 @@ docker-run: docker-qemu-src $(call quiet-command, rm -r $(DOCKER_SRC_COPY), \ " CLEANUP $(DOCKER_SRC_COPY)") -# Run targets: -# -# Of the form docker-TEST-FOO@IMAGE-BAR which will then be expanded into a call to "make docker-run" -docker-run-%: CMD = $(shell echo '$@' | sed -e 's/docker-run-\([^@]*\)@\(.*\)/\1/') -docker-run-%: IMAGE = $(shell echo '$@' | sed -e 's/docker-run-\([^@]*\)@\(.*\)/\2/') -docker-run-%: - @$(MAKE) docker-run TEST=$(CMD) IMAGE=qemu/$(IMAGE) - docker-image: ${DOCKER_IMAGES:%=docker-image-%} docker-clean: