From 5c4e24c1516b6b8c21b6defcd4ffcf05f21202f7 Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Fri, 28 Mar 2014 10:55:54 +0100 Subject: [PATCH] tests: Correctly skip qtest on non-POSIX hosts MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit qtest test cases only work on POSIX hosts. The following line only defines dependencies for qtest binaries on POSIX hosts: check-qtest-$(CONFIG_POSIX)=$(foreach TARGET,$(TARGETS),$(check-qtest-$(TARGET)-y)) But the QTEST_TARGETS definition earlier in the Makefile fails to check CONFIG_POSIX. This causes make targets to be generated for qtest test cases even though we don't know how to build the binaries. The following error message is printed when trying to run gtester on a binary that was never built: GLib-WARNING **: Failed to execute test binary: tests/endianness-test.exe: Failed to execute child process "tests/endianness-test.exe" (No such file or directory) This patch makes QTEST_TARGETS empty on non-POSIX hosts. This prevents the targets from being generated. Signed-off-by: Stefan Hajnoczi Signed-off-by: Andreas Färber --- tests/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/Makefile b/tests/Makefile index ef286e79c9..0e3eb44eb3 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -277,8 +277,10 @@ tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_hel # QTest rules TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS))) +ifeq ($(CONFIG_POSIX),y) QTEST_TARGETS=$(foreach TARGET,$(TARGETS), $(if $(check-qtest-$(TARGET)-y), $(TARGET),)) -check-qtest-$(CONFIG_POSIX)=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y)) +check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y)) +endif qtest-obj-y = tests/libqtest.o libqemuutil.a libqemustub.a $(check-qtest-y): $(qtest-obj-y) -- 2.11.4.GIT