mirror of https://gitlab.com/qemu-project/qemu
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>
This commit is contained in:
parent
3d55c02624
commit
fdfda70e28
|
@ -32,10 +32,17 @@
|
||||||
-include ../../config-host.mak
|
-include ../../config-host.mak
|
||||||
-include ../config-target.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))
|
quiet-command = $(if $(V),$1,$(if $(2),@printf " %-7s %s\n" $2 $3 && $1, @$1))
|
||||||
|
|
||||||
# $1 = test name, $2 = cmd, $3 = desc
|
# $1 = test name, $2 = cmd, $3 = desc
|
||||||
|
ifdef CONFIG_USER_ONLY
|
||||||
run-test = $(call quiet-command, timeout $(TIMEOUT) $2 > $1.out,"TEST",$3)
|
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
|
# $1 = test name, $2 = reference
|
||||||
diff-out = $(call quiet-command, diff -u $1.out $2 | head -n 10,"DIFF","$1.out with $2")
|
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
|
# The QEMU for this TARGET
|
||||||
ifdef CONFIG_USER_ONLY
|
ifdef CONFIG_USER_ONLY
|
||||||
QEMU=../qemu-$(TARGET_NAME)
|
QEMU=../qemu-$(TARGET_NAME)
|
||||||
QEMU_OPTS=
|
|
||||||
else
|
else
|
||||||
QEMU=../qemu-system-$(TARGET_NAME)
|
QEMU=../qemu-system-$(TARGET_NAME)
|
||||||
QEMU_OPTS=-monitor none -display none
|
|
||||||
endif
|
endif
|
||||||
|
QEMU_OPTS=
|
||||||
|
|
||||||
|
|
||||||
# If TCG debugging is enabled things are a lot slower
|
# If TCG debugging is enabled things are a lot slower
|
||||||
|
@ -110,8 +116,17 @@ all: $(TESTS)
|
||||||
RUN_TESTS=$(patsubst %,run-%, $(TESTS))
|
RUN_TESTS=$(patsubst %,run-%, $(TESTS))
|
||||||
RUN_TESTS+=$(EXTRA_RUNS)
|
RUN_TESTS+=$(EXTRA_RUNS)
|
||||||
|
|
||||||
|
ifdef CONFIG_USER_ONLY
|
||||||
run-%: %
|
run-%: %
|
||||||
$(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<, "$< on $(TARGET_NAME)")
|
$(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
|
.PHONY: run
|
||||||
run: $(RUN_TESTS)
|
run: $(RUN_TESTS)
|
||||||
|
|
Loading…
Reference in New Issue