[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 13/17] tests/tcg: list test targets in Makefile.prereqs
From: |
Paolo Bonzini |
Subject: |
[PATCH 13/17] tests/tcg: list test targets in Makefile.prereqs |
Date: |
Fri, 1 Apr 2022 16:13:22 +0200 |
Omit the rules altogether for targets that do not have a compiler.
Makefile.qemu now is only invoked if the tests are actually built/run.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220328140240.40798-13-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 14 +++++++-------
tests/tcg/Makefile.qemu | 11 -----------
tests/tcg/configure.sh | 17 ++++++++++++-----
3 files changed, 19 insertions(+), 23 deletions(-)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index b5d0d6bc98..091ca8513f 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -36,19 +36,16 @@ export SRC_PATH
SPEED = quick
-# Build up our target list from the filtered list of ninja targets
-TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))
-
-include tests/tcg/Makefile.prereqs
config-host.mak: $(SRC_PATH)/tests/tcg/configure.sh
tests/tcg/Makefile.prereqs: config-host.mak
# Per guest TCG tests
-BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(TARGETS))
-CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(TARGETS))
-RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(TARGETS))
+BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(TCG_TESTS_TARGETS))
+CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(TCG_TESTS_TARGETS))
+RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(TCG_TESTS_TARGETS))
-$(foreach TARGET,$(TARGETS), \
+$(foreach TARGET,$(TCG_TESTS_TARGETS), \
$(eval $(BUILD_DIR)/tests/tcg/config-$(TARGET).mak: config-host.mak))
$(BUILD_TCG_TARGET_RULES): build-tcg-tests-%: $(if
$(CONFIG_PLUGIN),test-plugins)
@@ -84,6 +81,9 @@ clean-tcg: $(CLEAN_TCG_TARGET_RULES)
.PHONY: check-venv check-avocado check-acceptance
check-acceptance-deprecated-warning
+# Build up our target list from the filtered list of ninja targets
+TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))
+
TESTS_VENV_DIR=$(BUILD_DIR)/tests/venv
TESTS_VENV_REQ=$(SRC_PATH)/tests/requirements.txt
TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results
diff --git a/tests/tcg/Makefile.qemu b/tests/tcg/Makefile.qemu
index 84c8543878..cda5e5a33e 100644
--- a/tests/tcg/Makefile.qemu
+++ b/tests/tcg/Makefile.qemu
@@ -95,7 +95,6 @@ all:
.PHONY: guest-tests
-ifneq ($(GUEST_BUILD),)
guest-tests: $(GUEST_BUILD)
run-guest-tests: guest-tests
@@ -105,16 +104,6 @@ run-guest-tests: guest-tests
SRC_PATH="$(SRC_PATH)" SPEED=$(SPEED) run), \
"RUN", "tests for $(TARGET_NAME)")
-else
-guest-tests:
- $(call quiet-command, true, "BUILD", \
- "$(TARGET) guest-tests SKIPPED")
-
-run-guest-tests:
- $(call quiet-command, true, "RUN", \
- "tests for $(TARGET) SKIPPED")
-endif
-
# It doesn't matter if these don't exits
.PHONY: clean-guest-tests
clean-guest-tests:
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index 904c351029..e51cd56b60 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -81,7 +81,9 @@ fi
: ${cross_ld_tricore="tricore-ld"}
makefile=tests/tcg/Makefile.prereqs
-: > $makefile
+echo "# Automatically generated by configure - do not modify" > $makefile
+
+tcg_tests_targets=
for target in $target_list; do
arch=${target%%-*}
@@ -228,6 +230,7 @@ for target in $target_list; do
echo "target=$target" >> $config_target_mak
case $target in
*-softmmu)
+ test -f $source_path/tests/tcg/$arch/Makefile.softmmu-target || continue
qemu="qemu-system-$arch"
;;
*-linux-user|*-bsd-user)
@@ -235,11 +238,7 @@ for target in $target_list; do
;;
esac
- echo "run-tcg-tests-$target: $qemu\$(EXESUF)" >> $makefile
-
eval "target_compiler_cflags=\${cross_cc_cflags_$arch}"
- echo "QEMU=$PWD/$qemu" >> $config_target_mak
- echo "CROSS_CC_GUEST_CFLAGS=$target_compiler_cflags" >> $config_target_mak
got_cross_cc=no
@@ -362,8 +361,16 @@ for target in $target_list; do
echo "CROSS_CC_HAS_I386_NOPIE=y" >> $config_target_mak
;;
esac
+ got_cross_cc=yes
break
fi
done
fi
+ if test $got_cross_cc = yes; then
+ echo "QEMU=$PWD/$qemu" >> $config_target_mak
+ echo "CROSS_CC_GUEST_CFLAGS=$target_compiler_cflags" >>
$config_target_mak
+ echo "run-tcg-tests-$target: $qemu\$(EXESUF)" >> $makefile
+ tcg_tests_targets="$tcg_tests_targets $target"
+ fi
done
+echo "TCG_TESTS_TARGETS=$tcg_tests_targets" >> $makefile
--
2.35.1
- [PATCH 03/17] tests/docker: remove dead variable, (continued)
- [PATCH 03/17] tests/docker: remove dead variable, Paolo Bonzini, 2022/04/01
- [PATCH 04/17] tests/docker: remove unnecessary default definitions, Paolo Bonzini, 2022/04/01
- [PATCH 06/17] tests/docker: remove unnecessary filtering of $(DOCKER_IMAGES), Paolo Bonzini, 2022/04/01
- [PATCH 05/17] tests/docker: inline variable definitions or move close to use, Paolo Bonzini, 2022/04/01
- [PATCH 07/17] tests/docker: simplify docker-TEST@IMAGE targets, Paolo Bonzini, 2022/04/01
- [PATCH 09/17] tests/tcg: add compiler test variables when using containers, Paolo Bonzini, 2022/04/01
- [PATCH 10/17] tests/tcg: remove CONFIG_LINUX_USER from config-target.mak, Paolo Bonzini, 2022/04/01
- [PATCH 11/17] tests/tcg: remove CONFIG_USER_ONLY from config-target.mak, Paolo Bonzini, 2022/04/01
- [PATCH 08/17] tests/docker: do not duplicate rules for hexagon-cross, Paolo Bonzini, 2022/04/01
- [PATCH 12/17] tests/tcg: prepare Makefile.prereqs at configure time, Paolo Bonzini, 2022/04/01
- [PATCH 13/17] tests/tcg: list test targets in Makefile.prereqs,
Paolo Bonzini <=
- [PATCH 15/17] tests/tcg: isolate from QEMU's config-host.mak, Paolo Bonzini, 2022/04/01
- [PATCH 16/17] tests/docker: remove SKIP_DOCKER_BUILD, Paolo Bonzini, 2022/04/01
- [PATCH 17/17] tests/tcg: fix non-static build, Paolo Bonzini, 2022/04/01
- [PATCH 14/17] tests/tcg: invoke Makefile.target directly from QEMU's makefile, Paolo Bonzini, 2022/04/01
- Re: [PATCH 00/17] tests/docker and tests/tcg cleanup and diet, Alex Bennée, 2022/04/11