diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2019-03-12 14:13:16 +0000 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2019-03-12 17:05:21 +0000 |
commit | fdfda70e282a6983b6f46e942162e14621ca268f (patch) | |
tree | 198dad860608eef49340d1f91b2da54575a11f40 /tests/tcg | |
parent | 3d55c026241d2717b3fd97800889c19fad7b6ae8 (diff) | |
download | qemu-fdfda70e282a6983b6f46e942162e14621ca268f.zip |
tests/tcg: split run-test into user and system variants
We can't rely on shell redirect magic to get things right so lets
setup a common output chardev that is expecting to write to files. As
we have split run-test up we might as well move the default monitor
bits into the call.
Finally a little make sophistry is required to correctly quote
$(COMMA) and as we don't inherit common rules we have our own little
copy here.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'tests/tcg')
-rw-r--r-- | tests/tcg/Makefile | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile index 454d0a4119..d26a36df61 100644 --- a/tests/tcg/Makefile +++ b/tests/tcg/Makefile @@ -32,10 +32,17 @@ -include ../../config-host.mak -include ../config-target.mak +# for including , in command strings +COMMA := , + quiet-command = $(if $(V),$1,$(if $(2),@printf " %-7s %s\n" $2 $3 && $1, @$1)) # $1 = test name, $2 = cmd, $3 = desc +ifdef CONFIG_USER_ONLY run-test = $(call quiet-command, timeout $(TIMEOUT) $2 > $1.out,"TEST",$3) +else +run-test = $(call quiet-command, timeout $(TIMEOUT) $2,"TEST",$3) +endif # $1 = test name, $2 = reference diff-out = $(call quiet-command, diff -u $1.out $2 | head -n 10,"DIFF","$1.out with $2") @@ -54,11 +61,10 @@ LDFLAGS= # The QEMU for this TARGET ifdef CONFIG_USER_ONLY QEMU=../qemu-$(TARGET_NAME) -QEMU_OPTS= else QEMU=../qemu-system-$(TARGET_NAME) -QEMU_OPTS=-monitor none -display none endif +QEMU_OPTS= # If TCG debugging is enabled things are a lot slower @@ -110,8 +116,17 @@ all: $(TESTS) RUN_TESTS=$(patsubst %,run-%, $(TESTS)) RUN_TESTS+=$(EXTRA_RUNS) +ifdef CONFIG_USER_ONLY run-%: % $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<, "$< on $(TARGET_NAME)") +else +run-%: % + $(call run-test, $<, \ + $(QEMU) -monitor none -display none \ + -chardev file$(COMMA)path=$<.out$(COMMA)id=output \ + $(QEMU_OPTS) $<, \ + "$< on $(TARGET_NAME)") +endif .PHONY: run run: $(RUN_TESTS) |