Am 27.03.2014 15:28, schrieb Stefan Hajnoczi: > 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. The causes targets to be generated for qtest test cases
That causes targets ... ? > 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 <stefa...@redhat.com> > --- > tests/Makefile | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tests/Makefile b/tests/Makefile > index 803c8e6..679cfbc 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)) I'd keep this line unmodified after the endif, but that's just my personal style preference. > +endif > > qtest-obj-y = tests/libqtest.o libqemuutil.a libqemustub.a > $(check-qtest-y): $(qtest-obj-y) > My own patch also works because CONFIG_POSIX is undefined for Windows: http://repo.or.cz/w/qemu/ar7.git/patch/fb8019dc75641ce7b35d40d4836663acb9c17b8b Reviewed-by: Stefan Weil <s...@weilnetz.de>