tests/docker: inline variable definitions or move close to use
Variables that are defined with ":=" are handled imperatively, so moving them closer to the first use ensures that all the assignments prior to the first use are taken into account. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20220401141326.1244422-6-pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220419091020.3008144-9-alex.bennee@linaro.org>
This commit is contained in:
parent
1d64909543
commit
79bd3ae9d3
@ -9,26 +9,12 @@ COMMA := ,
|
||||
HOST_ARCH = $(if $(ARCH),$(ARCH),$(shell uname -m))
|
||||
|
||||
DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
|
||||
# we don't run tests on intermediate images (used as base by another image)
|
||||
DOCKER_PARTIAL_IMAGES := debian10 debian11
|
||||
# we don't directly build virtual images (they are used to build other images)
|
||||
DOCKER_VIRTUAL_IMAGES := debian-bootstrap debian-toolchain
|
||||
__IMAGES := $(sort $(filter-out $(DOCKER_VIRTUAL_IMAGES), $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.docker)))))
|
||||
DOCKER_IMAGES := $(if $(IMAGES), $(filter $(IMAGES), $(__IMAGES)), $(__IMAGES))
|
||||
DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES))
|
||||
# Use a global constant ccache directory to speed up repetitive builds
|
||||
DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache
|
||||
ifeq ($(HOST_ARCH),x86_64)
|
||||
DOCKER_DEFAULT_REGISTRY := registry.gitlab.com/qemu-project/qemu
|
||||
endif
|
||||
DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY))
|
||||
|
||||
__TESTS := $(notdir $(shell \
|
||||
find $(SRC_PATH)/tests/docker/ -name 'test-*' -type f))
|
||||
DOCKER_TESTS := $(if $(TESTS), $(filter $(TESTS), $(__TESTS)), $(__TESTS))
|
||||
|
||||
ENGINE := auto
|
||||
|
||||
DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(ENGINE)
|
||||
|
||||
CUR_TIME := $(shell date +%Y-%m-%d-%H.%M.%S.$$$$)
|
||||
@ -47,8 +33,6 @@ $(DOCKER_SRC_COPY):
|
||||
|
||||
docker-qemu-src: $(DOCKER_SRC_COPY)
|
||||
|
||||
docker-image: ${DOCKER_TARGETS}
|
||||
|
||||
# General rule for building docker images. If we are a sub-make
|
||||
# invoked with SKIP_DOCKER_BUILD we still check the image is up to date
|
||||
# though
|
||||
@ -96,6 +80,8 @@ docker-binfmt-image-debian-%: $(DOCKER_FILES_DIR)/debian-bootstrap.docker
|
||||
endif
|
||||
|
||||
# Enforce dependencies for composite images
|
||||
# we don't run tests on intermediate images (used as base by another image)
|
||||
DOCKER_PARTIAL_IMAGES := debian10 debian11
|
||||
ifeq ($(HOST_ARCH),x86_64)
|
||||
docker-image-debian-amd64: docker-image-debian10
|
||||
DOCKER_PARTIAL_IMAGES += debian-amd64-cross
|
||||
@ -205,6 +191,15 @@ DOCKER_PARTIAL_IMAGES += debian-tricore-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-xtensa-cross
|
||||
DOCKER_PARTIAL_IMAGES += fedora-cris-cross
|
||||
|
||||
# images that are only used to build other images
|
||||
DOCKER_VIRTUAL_IMAGES := debian-bootstrap debian-toolchain
|
||||
|
||||
__IMAGES := $(sort $(filter-out $(DOCKER_VIRTUAL_IMAGES), $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.docker)))))
|
||||
DOCKER_IMAGES := $(if $(IMAGES), $(filter $(IMAGES), $(__IMAGES)), $(__IMAGES))
|
||||
|
||||
__TESTS := $(notdir $(shell find $(SRC_PATH)/tests/docker/ -name 'test-*' -type f))
|
||||
DOCKER_TESTS := $(if $(TESTS), $(filter $(TESTS), $(__TESTS)), $(__TESTS))
|
||||
|
||||
# Expand all the pre-requistes for each docker image and test combination
|
||||
$(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES) $(DOCKER_VIRTUAL_IMAGES),$(DOCKER_IMAGES)), \
|
||||
$(foreach t,$(DOCKER_TESTS), \
|
||||
@ -263,6 +258,9 @@ docker:
|
||||
|
||||
docker-help: docker
|
||||
|
||||
# Use a global constant ccache directory to speed up repetitive builds
|
||||
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.
|
||||
@ -308,5 +306,7 @@ docker-run-%: IMAGE = $(shell echo '$@' | sed -e 's/docker-run-\([^@]*\)@\(.*\)/
|
||||
docker-run-%:
|
||||
@$(MAKE) docker-run TEST=$(CMD) IMAGE=qemu/$(IMAGE)
|
||||
|
||||
docker-image: ${DOCKER_IMAGES:%=docker-image-%}
|
||||
|
||||
docker-clean:
|
||||
$(call quiet-command, $(DOCKER_SCRIPT) clean)
|
||||
|
Loading…
Reference in New Issue
Block a user