summaryrefslogtreecommitdiff
path: root/tests/tcg
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2019-03-12 14:13:16 +0000
committerAlex Bennée <alex.bennee@linaro.org>2019-03-12 17:05:21 +0000
commitfdfda70e282a6983b6f46e942162e14621ca268f (patch)
tree198dad860608eef49340d1f91b2da54575a11f40 /tests/tcg
parent3d55c026241d2717b3fd97800889c19fad7b6ae8 (diff)
downloadqemu-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/Makefile19
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)