Akihiko Odaki <akihiko.od...@daynix.com> writes: > On 2025/05/22 1:42, Alex Bennée wrote: >> The user can run a subset of the tcg tests directly, e.g.: >> make run-tcg-tests-hexagon-linux-user >> but in this case we fail if there has not been a full build to >> ensure >> all the test-plugins are there. Fix the dependency to ensure we always >> will build them before running tests. >> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> >> --- >> tests/Makefile.include | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> diff --git a/tests/Makefile.include b/tests/Makefile.include >> index 23fb722d42..7f7f62cbf6 100644 >> --- a/tests/Makefile.include >> +++ b/tests/Makefile.include >> @@ -46,7 +46,7 @@ $(foreach TARGET,$(TCG_TESTS_TARGETS), \ >> $(eval $(BUILD_DIR)/tests/tcg/config-$(TARGET).mak: >> config-host.mak)) >> .PHONY: $(TCG_TESTS_TARGETS:%=build-tcg-tests-%) >> -$(TCG_TESTS_TARGETS:%=build-tcg-tests-%): build-tcg-tests-%: >> $(BUILD_DIR)/tests/tcg/config-%.mak >> +$(TCG_TESTS_TARGETS:%=build-tcg-tests-%): build-tcg-tests-%: >> $(BUILD_DIR)/tests/tcg/config-%.mak test-plugins > > I don't think this is going to work. > > test-plugins will invoke run-ninja, which is defined as follows: > > run-ninja: config-host.mak > ifneq ($(filter $(ninja-targets), $(ninja-cmd-goals)),) > +$(if $(MAKE.nq),@:,$(quiet-@)$(NINJA) $(NINJAFLAGS) \ > $(sort $(filter $(ninja-targets), $(ninja-cmd-goals))) | cat) > > $(ninja-cmd-goals) should contain test-plugins, but it doesn't if I > understand it correctly.
It certainly does: ➜ rm -rf tests/tcg/plugins/ 🕙11:31:03 alex@draig:qemu.git/builds/all on HEAD (61e51c3) (REBASING 5/26) [$?] ➜ make test-plugins /home/alex/lsrc/qemu.git/builds/all/pyvenv/bin/meson introspect --targets --tests --benchmarks | /home/alex/lsrc/qemu.git/builds/all/pyvenv/bin/python3 -B scripts/mtest2make.py > Makefile.mtest [1/14] Compiling C object tests/tcg/plugins/libbb.so.p/bb.c.o [2/14] Linking target tests/tcg/plugins/libbb.so [3/14] Compiling C object tests/tcg/plugins/libempty.so.p/empty.c.o [4/14] Linking target tests/tcg/plugins/libempty.so [5/14] Compiling C object tests/tcg/plugins/libinline.so.p/inline.c.o [6/14] Linking target tests/tcg/plugins/libinline.so [7/14] Compiling C object tests/tcg/plugins/libinsn.so.p/insn.c.o [8/14] Linking target tests/tcg/plugins/libinsn.so [9/14] Compiling C object tests/tcg/plugins/libmem.so.p/mem.c.o [10/14] Linking target tests/tcg/plugins/libmem.so [11/14] Compiling C object tests/tcg/plugins/libreset.so.p/reset.c.o [12/14] Linking target tests/tcg/plugins/libreset.so [13/14] Compiling C object tests/tcg/plugins/libsyscall.so.p/syscall.c.o [14/14] Linking target tests/tcg/plugins/libsyscall.so > >> $(call quiet-command, \ >> $(MAKE) -C tests/tcg/$* $(SUBDIR_MAKEFLAGS), \ >> "BUILD","$* guest-tests") -- Alex Bennée Virtualisation Tech Lead @ Linaro