44
44
gcov-files-test-cutils-y += util/cutils.c
45
45
check-unit-y += tests/test-mul64$(EXESUF)
46
46
gcov-files-test-mul64-y = util/host-utils.c
47
check-unit-y += tests/test-int128$(EXESUF)
48
# all code tested by test-int128 is inside int128.h
49
gcov-files-test-int128-y =
50
check-unit-y += tests/test-bitops$(EXESUF)
48
52
check-block-$(CONFIG_POSIX) += tests/qemu-iotests-quick.sh
50
54
# All QTests for now are POSIX-only, but the dependencies are
51
55
# really in libqtest, not in the testcases themselves.
52
check-qtest-i386-y = tests/fdc-test$(EXESUF)
56
check-qtest-i386-y = tests/endianness-test$(EXESUF)
57
check-qtest-i386-y += tests/fdc-test$(EXESUF)
53
58
gcov-files-i386-y = hw/fdc.c
54
59
check-qtest-i386-y += tests/ide-test$(EXESUF)
55
60
check-qtest-i386-y += tests/hd-geo-test$(EXESUF)
56
61
gcov-files-i386-y += hw/hd-geometry.c
62
check-qtest-i386-y += tests/boot-order-test$(EXESUF)
57
63
check-qtest-i386-y += tests/rtc-test$(EXESUF)
58
64
check-qtest-i386-y += tests/i440fx-test$(EXESUF)
59
65
check-qtest-i386-y += tests/fw_cfg-test$(EXESUF)
60
66
check-qtest-x86_64-y = $(check-qtest-i386-y)
61
67
gcov-files-i386-y += i386-softmmu/hw/mc146818rtc.c
62
68
gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y))
69
check-qtest-mips-y = tests/endianness-test$(EXESUF)
70
check-qtest-mips64-y = tests/endianness-test$(EXESUF)
71
check-qtest-mips64el-y = tests/endianness-test$(EXESUF)
72
check-qtest-ppc-y = tests/endianness-test$(EXESUF)
73
check-qtest-ppc64-y = tests/endianness-test$(EXESUF)
74
check-qtest-sh4-y = tests/endianness-test$(EXESUF)
75
check-qtest-sh4eb-y = tests/endianness-test$(EXESUF)
76
check-qtest-sparc64-y = tests/endianness-test$(EXESUF)
63
77
#check-qtest-sparc-y = tests/m48t59-test$(EXESUF)
64
#check-qtest-sparc64-y = tests/m48t59-test$(EXESUF)
78
#check-qtest-sparc64-y += tests/m48t59-test$(EXESUF)
65
79
gcov-files-sparc-y += hw/m48t59.c
66
80
gcov-files-sparc64-y += hw/m48t59.c
67
81
check-qtest-arm-y = tests/tmp105-test$(EXESUF)
68
82
gcov-files-arm-y += hw/tmp105.c
83
check-qtest-ppc-y += tests/boot-order-test$(EXESUF)
84
check-qtest-ppc64-y += tests/boot-order-test$(EXESUF)
86
check-qapi-schema-y := $(addprefix tests/qapi-schema/, \
87
comments.json empty.json funny-char.json indented-expr.json \
88
missing-colon.json missing-comma-list.json \
89
missing-comma-object.json non-objects.json \
90
qapi-schema-test.json quoted-structural-chars.json \
91
trailing-comma-list.json trailing-comma-object.json \
92
unclosed-list.json unclosed-object.json unclosed-string.json)
70
94
GENERATED_HEADERS += tests/test-qapi-types.h tests/test-qapi-visit.h tests/test-qmp-commands.h
98
122
tests/test-x86-cpuid$(EXESUF): tests/test-x86-cpuid.o
99
123
tests/test-xbzrle$(EXESUF): tests/test-xbzrle.o xbzrle.o page_cache.o libqemuutil.a
100
124
tests/test-cutils$(EXESUF): tests/test-cutils.o util/cutils.o
125
tests/test-int128$(EXESUF): tests/test-int128.o
102
127
tests/test-qapi-types.c tests/test-qapi-types.h :\
103
$(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py
128
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py
104
129
$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py $(gen-out-type) -o tests -p "test-" < $<, " GEN $@")
105
130
tests/test-qapi-visit.c tests/test-qapi-visit.h :\
106
$(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py
131
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py
107
132
$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py $(gen-out-type) -o tests -p "test-" < $<, " GEN $@")
108
133
tests/test-qmp-commands.h tests/test-qmp-marshal.c :\
109
$(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py
134
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py
110
135
$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py $(gen-out-type) -o tests -p "test-" < $<, " GEN $@")
112
137
tests/test-string-output-visitor$(EXESUF): tests/test-string-output-visitor.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a
118
143
tests/test-visitor-serialization$(EXESUF): tests/test-visitor-serialization.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a
120
145
tests/test-mul64$(EXESUF): tests/test-mul64.o libqemuutil.a
146
tests/test-bitops$(EXESUF): tests/test-bitops.o libqemuutil.a
122
148
libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o
123
149
libqos-obj-y += tests/libqos/i2c.o
124
libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o tests/libqos/fw_cfg-pc.o
150
libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o
125
151
libqos-pc-obj-y += tests/libqos/malloc-pc.o
126
152
libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o
128
154
tests/rtc-test$(EXESUF): tests/rtc-test.o
129
155
tests/m48t59-test$(EXESUF): tests/m48t59-test.o
156
tests/endianness-test$(EXESUF): tests/endianness-test.o
130
157
tests/fdc-test$(EXESUF): tests/fdc-test.o
131
158
tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y)
132
159
tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o
160
tests/boot-order-test$(EXESUF): tests/boot-order-test.o $(libqos-obj-y)
133
161
tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y)
134
162
tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y)
135
163
tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y)
171
200
$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y)
172
201
$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
173
202
$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
203
MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
174
204
gtester $(GTESTER_OPTIONS) -m=$(SPEED) $(check-qtest-$*-y),"GTESTER $@")
175
205
$(if $(CONFIG_GCOV),@for f in $(gcov-files-$*-y); do \
176
206
echo Gcov report for $$f:;\
180
210
.PHONY: $(patsubst %, check-%, $(check-unit-y))
181
211
$(patsubst %, check-%, $(check-unit-y)): check-%: %
182
212
$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
183
$(call quiet-command,gtester $(GTESTER_OPTIONS) -m=$(SPEED) $*,"GTESTER $*")
213
$(call quiet-command, \
214
MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
215
gtester $(GTESTER_OPTIONS) -m=$(SPEED) $*,"GTESTER $*")
184
216
$(if $(CONFIG_GCOV),@for f in $(gcov-files-$(subst tests/,,$*)-y); do \
185
217
echo Gcov report for $$f:;\
186
218
$(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \
210
242
check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF)
245
.PHONY: check-tests/test-qapi.py
246
check-tests/test-qapi.py: tests/test-qapi.py
248
.PHONY: $(patsubst %, check-%, $(check-qapi-schema-y))
249
$(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
250
$(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts $(PYTHON) $(SRC_PATH)/tests/qapi-schema/test-qapi.py <$^ >$*.out 2>$*.err; echo $$? >$*.exit, " TEST $*.out")
251
@diff -q $(SRC_PATH)/$*.out $*.out
252
@diff -q $(SRC_PATH)/$*.err $*.err
253
@diff -q $(SRC_PATH)/$*.exit $*.exit
213
255
# Consolidated targets
215
.PHONY: check-qtest check-unit check
257
.PHONY: check-qapi-schema check-qtest check-unit check
258
check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y))
216
259
check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS))
217
260
check-unit: $(patsubst %,check-%, $(check-unit-y))
218
261
check-block: $(patsubst %,check-%, $(check-block-y))
219
check: check-unit check-qtest
262
check: check-qapi-schema check-unit check-qtest
221
264
-include $(wildcard tests/*.d)
265
-include $(wildcard tests/libqos/*.d)