[v1,24/24] tests/Makefile.include: add (clean-)check-tcg targets

Message ID 20180410193919.28026-25-alex.bennee@linaro.org
State Superseded
Headers show
Series
  • fix building of tests/tcg
Related show

Commit Message

Alex Bennée April 10, 2018, 7:39 p.m.
This will ensure all linux-user targets build their guest test
programs.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
 tests/Makefile.include | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

-- 
2.16.2

Comments

Philippe Mathieu-Daudé April 16, 2018, 1:53 a.m. | #1
On 04/10/2018 04:39 PM, Alex Bennée wrote:
> This will ensure all linux-user targets build their guest test

> programs.

> 

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


> ---

>  tests/Makefile.include | 19 ++++++++++++++++++-

>  1 file changed, 18 insertions(+), 1 deletion(-)

> 

> diff --git a/tests/Makefile.include b/tests/Makefile.include

> index 3d2f0458ab..c402de901e 100644

> --- a/tests/Makefile.include

> +++ b/tests/Makefile.include

> @@ -10,6 +10,7 @@ check-help:

>  	@echo " $(MAKE) check-speed          Run qobject speed tests"

>  	@echo " $(MAKE) check-qapi-schema    Run QAPI schema tests"

>  	@echo " $(MAKE) check-block          Run block tests"

> +	@echo " $(MAKE) check-tcg            Run TCG tests"

>  	@echo " $(MAKE) check-report.html    Generates an HTML test report"

>  	@echo " $(MAKE) check-clean          Clean the tests"

>  	@echo

> @@ -916,6 +917,23 @@ check-report.xml: $(patsubst %,check-report-qtest-%.xml, $(QTEST_TARGETS)) check

>  check-report.html: check-report.xml

>  	$(call quiet-command,gtester-report $< > $@,"GEN","$@")

>  

> +# Per guest TCG tests

> +

> +LINUX_USER_TARGETS=$(filter %-linux-user,$(TARGET_LIST))

> +BUILD_TCG_TARGET_RULES=$(patsubst %,tcg-tests-%, $(LINUX_USER_TARGETS))

> +CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(LINUX_USER_TARGETS))

> +

> +tcg-tests-%:

> +	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" guest-tests,)

> +

> +clean-tcg-tests-%:

> +	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" clean-guest-tests,)

> +

> +.PHONY: check-tcg

> +check-tcg: $(BUILD_TCG_TARGET_RULES)

> +

> +.PHONY: clean-tcg

> +clean-tcg: $(CLEAN_TCG_TARGET_RULES)

>  

>  # Other tests

>  

> @@ -958,7 +976,6 @@ check-speed: $(patsubst %,check-%, $(check-speed-y))

>  check-block: $(patsubst %,check-%, $(check-block-y))

>  check: check-qapi-schema check-unit check-qtest check-decodetree

>  check-clean:

> -	$(MAKE) -C tests/tcg clean

>  	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)

>  	rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))

>  	rm -f tests/test-qapi-gen-timestamp

>

Patch

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 3d2f0458ab..c402de901e 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -10,6 +10,7 @@  check-help:
 	@echo " $(MAKE) check-speed          Run qobject speed tests"
 	@echo " $(MAKE) check-qapi-schema    Run QAPI schema tests"
 	@echo " $(MAKE) check-block          Run block tests"
+	@echo " $(MAKE) check-tcg            Run TCG tests"
 	@echo " $(MAKE) check-report.html    Generates an HTML test report"
 	@echo " $(MAKE) check-clean          Clean the tests"
 	@echo
@@ -916,6 +917,23 @@  check-report.xml: $(patsubst %,check-report-qtest-%.xml, $(QTEST_TARGETS)) check
 check-report.html: check-report.xml
 	$(call quiet-command,gtester-report $< > $@,"GEN","$@")
 
+# Per guest TCG tests
+
+LINUX_USER_TARGETS=$(filter %-linux-user,$(TARGET_LIST))
+BUILD_TCG_TARGET_RULES=$(patsubst %,tcg-tests-%, $(LINUX_USER_TARGETS))
+CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(LINUX_USER_TARGETS))
+
+tcg-tests-%:
+	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" guest-tests,)
+
+clean-tcg-tests-%:
+	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" clean-guest-tests,)
+
+.PHONY: check-tcg
+check-tcg: $(BUILD_TCG_TARGET_RULES)
+
+.PHONY: clean-tcg
+clean-tcg: $(CLEAN_TCG_TARGET_RULES)
 
 # Other tests
 
@@ -958,7 +976,6 @@  check-speed: $(patsubst %,check-%, $(check-speed-y))
 check-block: $(patsubst %,check-%, $(check-block-y))
 check: check-qapi-schema check-unit check-qtest check-decodetree
 check-clean:
-	$(MAKE) -C tests/tcg clean
 	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
 	rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
 	rm -f tests/test-qapi-gen-timestamp