Makefile.include 46.1 KB
Newer Older
1 2 3 4 5

.PHONY: check-help
check-help:
	@echo "Regression testing targets:"
	@echo
6 7 8 9 10 11 12
	@echo " $(MAKE) check                Run all tests"
	@echo " $(MAKE) check-qtest-TARGET   Run qtest tests for given target"
	@echo " $(MAKE) check-qtest          Run qtest tests"
	@echo " $(MAKE) check-unit           Run qobject tests"
	@echo " $(MAKE) check-speed          Run qobject speed tests"
	@echo " $(MAKE) check-qapi-schema    Run QAPI schema tests"
	@echo " $(MAKE) check-block          Run block tests"
13
	@echo " $(MAKE) check-tcg            Run TCG tests"
14
	@echo " $(MAKE) check-acceptance     Run all acceptance (functional) tests"
15
	@echo " $(MAKE) check-report.html    Generates an HTML test report"
C
Cleber Rosa 已提交
16
	@echo " $(MAKE) check-venv           Creates a Python venv for tests"
17
	@echo " $(MAKE) check-clean          Clean the tests"
18 19 20 21 22
	@echo
	@echo "Please note that HTML reports do not regenerate if the unit tests"
	@echo "has not changed."
	@echo
	@echo "The variable SPEED can be set to control the gtester speed setting."
23
	@echo "Default options are -k and (for $(MAKE) V=1) --verbose; they can be"
24 25 26
	@echo "changed with variable GTESTER_OPTIONS."

ifneq ($(wildcard config-host.mak),)
K
Kevin Wolf 已提交
27 28
export SRC_PATH

29 30 31 32 33 34 35 36 37
# TODO don't duplicate $(SRC_PATH)/Makefile's qapi-py here
qapi-py = $(SRC_PATH)/scripts/qapi/commands.py \
$(SRC_PATH)/scripts/qapi/events.py \
$(SRC_PATH)/scripts/qapi/introspect.py \
$(SRC_PATH)/scripts/qapi/types.py \
$(SRC_PATH)/scripts/qapi/visit.py \
$(SRC_PATH)/scripts/qapi/common.py \
$(SRC_PATH)/scripts/qapi/doc.py \
$(SRC_PATH)/scripts/qapi-gen.py
38

39 40 41 42
# Get the list of all supported sysemu targets
SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \
   $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak)))

43
check-unit-y += tests/check-qdict$(EXESUF)
44
check-unit-y += tests/check-block-qdict$(EXESUF)
45
check-unit-y += tests/test-char$(EXESUF)
46
check-unit-y += tests/check-qnum$(EXESUF)
P
Paolo Bonzini 已提交
47 48
check-unit-y += tests/check-qstring$(EXESUF)
check-unit-y += tests/check-qlist$(EXESUF)
E
Eric Blake 已提交
49
check-unit-y += tests/check-qnull$(EXESUF)
50
check-unit-y += tests/check-qobject$(EXESUF)
P
Paolo Bonzini 已提交
51
check-unit-y += tests/check-qjson$(EXESUF)
52
check-unit-y += tests/check-qlit$(EXESUF)
53
check-unit-y += tests/test-qobject-output-visitor$(EXESUF)
E
Eric Blake 已提交
54
check-unit-y += tests/test-clone-visitor$(EXESUF)
55
check-unit-y += tests/test-qobject-input-visitor$(EXESUF)
56
check-unit-y += tests/test-qmp-cmds$(EXESUF)
P
Paolo Bonzini 已提交
57 58
check-unit-y += tests/test-string-input-visitor$(EXESUF)
check-unit-y += tests/test-string-output-visitor$(EXESUF)
59
check-unit-y += tests/test-qmp-event$(EXESUF)
60
check-unit-y += tests/test-opts-visitor$(EXESUF)
P
Paolo Bonzini 已提交
61
check-unit-y += tests/test-coroutine$(EXESUF)
62
check-unit-y += tests/test-visitor-serialization$(EXESUF)
M
Michael Tokarev 已提交
63
check-unit-y += tests/test-iov$(EXESUF)
P
Paolo Bonzini 已提交
64
check-unit-y += tests/test-aio$(EXESUF)
65
check-unit-y += tests/test-aio-multithread$(EXESUF)
B
Benoît Canet 已提交
66
check-unit-y += tests/test-throttle$(EXESUF)
P
Paolo Bonzini 已提交
67
check-unit-y += tests/test-thread-pool$(EXESUF)
68
check-unit-y += tests/test-hbitmap$(EXESUF)
69
check-unit-y += tests/test-bdrv-drain$(EXESUF)
A
Alberto Garcia 已提交
70
check-unit-y += tests/test-blockjob$(EXESUF)
S
Stefan Hajnoczi 已提交
71
check-unit-y += tests/test-blockjob-txn$(EXESUF)
72
check-unit-y += tests/test-block-backend$(EXESUF)
73
check-unit-y += tests/test-image-locking$(EXESUF)
74 75
check-unit-y += tests/test-x86-cpuid$(EXESUF)
# all code tested by test-x86-cpuid is inside topology.h
76
ifeq ($(CONFIG_SOFTMMU),y)
O
Orit Wasserman 已提交
77
check-unit-y += tests/test-xbzrle$(EXESUF)
78 79
check-unit-$(CONFIG_POSIX) += tests/test-vmstate$(EXESUF)
endif
80
check-unit-y += tests/test-cutils$(EXESUF)
81
check-unit-y += tests/test-shift128$(EXESUF)
82
check-unit-y += tests/test-mul64$(EXESUF)
83 84
check-unit-y += tests/test-int128$(EXESUF)
# all code tested by test-int128 is inside int128.h
P
Paolo Bonzini 已提交
85
check-unit-y += tests/rcutorture$(EXESUF)
M
Mike Day 已提交
86
check-unit-y += tests/test-rcu-list$(EXESUF)
E
Emilio G. Cota 已提交
87
check-unit-y += tests/test-rcu-simpleq$(EXESUF)
E
Emilio G. Cota 已提交
88
check-unit-y += tests/test-rcu-tailq$(EXESUF)
E
Emilio G. Cota 已提交
89
check-unit-y += tests/test-qdist$(EXESUF)
E
Emilio G. Cota 已提交
90
check-unit-y += tests/test-qht$(EXESUF)
91 92
# FIXME: {test-qht-par + gprof} often break on Travis CI
check-unit-$(call lnot,$(CONFIG_GPROF)) += tests/test-qht-par$(EXESUF)
93
check-unit-y += tests/test-bitops$(EXESUF)
A
Alex Bennée 已提交
94
check-unit-y += tests/test-bitcnt$(EXESUF)
95
check-unit-y += tests/test-qdev-global-props$(EXESUF)
I
Igor Mammedov 已提交
96
check-unit-y += tests/check-qom-interface$(EXESUF)
97
check-unit-y += tests/check-qom-proplist$(EXESUF)
L
Leandro Dorileo 已提交
98
check-unit-y += tests/test-qemu-opts$(EXESUF)
M
Markus Armbruster 已提交
99
check-unit-y += tests/test-keyval$(EXESUF)
100
check-unit-y += tests/test-write-threshold$(EXESUF)
101
check-unit-y += tests/test-crypto-hash$(EXESUF)
102
check-speed-y += tests/benchmark-crypto-hash$(EXESUF)
103
check-unit-y += tests/test-crypto-hmac$(EXESUF)
104
check-speed-y += tests/benchmark-crypto-hmac$(EXESUF)
105
check-unit-y += tests/test-crypto-cipher$(EXESUF)
106
check-speed-y += tests/benchmark-crypto-cipher$(EXESUF)
107
check-unit-y += tests/test-crypto-secret$(EXESUF)
108
check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlscredsx509$(EXESUF)
109
check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlssession$(EXESUF)
110 111 112
ifneq (,$(findstring qemu-ga,$(TOOLS)))
check-unit-$(CONFIG_LINUX) += tests/test-qga$(EXESUF)
endif
113
check-unit-y += tests/test-timed-average$(EXESUF)
114
check-unit-y += tests/test-util-sockets$(EXESUF)
115
check-unit-y += tests/test-io-task$(EXESUF)
116
check-unit-y += tests/test-io-channel-socket$(EXESUF)
D
Daniel P. Berrange 已提交
117
check-unit-y += tests/test-io-channel-file$(EXESUF)
D
Daniel P. Berrange 已提交
118
check-unit-$(CONFIG_GNUTLS) += tests/test-io-channel-tls$(EXESUF)
119
check-unit-y += tests/test-io-channel-command$(EXESUF)
120
check-unit-y += tests/test-io-channel-buffer$(EXESUF)
121
check-unit-y += tests/test-base64$(EXESUF)
122
check-unit-$(if $(CONFIG_NETTLE),y,$(CONFIG_GCRYPT)) += tests/test-crypto-pbkdf$(EXESUF)
123
check-unit-y += tests/test-crypto-ivgen$(EXESUF)
124
check-unit-y += tests/test-crypto-afsplit$(EXESUF)
125
check-unit-y += tests/test-crypto-xts$(EXESUF)
126
check-unit-y += tests/test-crypto-block$(EXESUF)
127
check-unit-y += tests/test-logging$(EXESUF)
128
check-unit-$(CONFIG_REPLICATION) += tests/test-replication$(EXESUF)
129
check-unit-y += tests/test-bufferiszero$(EXESUF)
F
Fam Zheng 已提交
130
check-unit-y += tests/test-uuid$(EXESUF)
P
Paolo Bonzini 已提交
131
check-unit-y += tests/ptimer-test$(EXESUF)
132
check-unit-y += tests/test-qapi-util$(EXESUF)
P
Paolo Bonzini 已提交
133 134 135

check-block-$(CONFIG_POSIX) += tests/qemu-iotests-quick.sh

A
Anthony Liguori 已提交
136 137
# All QTests for now are POSIX-only, but the dependencies are
# really in libqtest, not in the testcases themselves.
A
Andreas Färber 已提交
138

139
check-qtest-generic-y += tests/qmp-test$(EXESUF)
140 141
check-qtest-generic-y += tests/qmp-cmd-test$(EXESUF)

142
check-qtest-generic-y += tests/device-introspect-test$(EXESUF)
143
check-qtest-generic-y += tests/cdrom-test$(EXESUF)
M
Markus Armbruster 已提交
144

A
Andreas Färber 已提交
145 146
check-qtest-ipack-y += tests/ipoctal232-test$(EXESUF)

147 148
check-qtest-virtioserial-y += tests/virtio-console-test$(EXESUF)

A
Andreas Färber 已提交
149
check-qtest-virtio-y += tests/virtio-net-test$(EXESUF)
150
check-qtest-virtio-$(CONFIG_VIRTIO_BALLOON) += tests/virtio-balloon-test$(EXESUF)
A
Andreas Färber 已提交
151
check-qtest-virtio-y += tests/virtio-blk-test$(EXESUF)
152
check-qtest-virtio-$(CONFIG_VIRTIO_RNG) += tests/virtio-rng-test$(EXESUF)
A
Andreas Färber 已提交
153
check-qtest-virtio-y += tests/virtio-scsi-test$(EXESUF)
A
Andreas Färber 已提交
154 155 156
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
check-qtest-virtio-y += tests/virtio-9p-test$(EXESUF)
endif
A
Andreas Färber 已提交
157
check-qtest-virtio-y += tests/virtio-serial-test$(EXESUF)
158
check-qtest-virtio-y += $(check-qtest-virtioserial-y)
A
Andreas Färber 已提交
159

A
Andreas Färber 已提交
160
check-qtest-pci-y += tests/e1000-test$(EXESUF)
161
check-qtest-pci-y += tests/e1000e-test$(EXESUF)
162
check-qtest-pci-$(CONFIG_RTL8139_PCI) += tests/rtl8139-test$(EXESUF)
163
check-qtest-pci-$(CONFIG_PCNET_PCI) += tests/pcnet-test$(EXESUF)
164
check-qtest-pci-$(CONFIG_EEPRO100_PCI) += tests/eepro100-test$(EXESUF)
165
check-qtest-pci-$(CONFIG_NE2000_PCI) += tests/ne2000-test$(EXESUF)
166
check-qtest-pci-$(CONFIG_NVME_PCI) += tests/nvme-test$(EXESUF)
167
check-qtest-pci-$(CONFIG_AC97) += tests/ac97-test$(EXESUF)
168
check-qtest-pci-$(CONFIG_ES1370) += tests/es1370-test$(EXESUF)
A
Andreas Färber 已提交
169
check-qtest-pci-y += $(check-qtest-virtio-y)
170 171
check-qtest-pci-$(CONFIG_IPACK) += tests/tpci200-test$(EXESUF)
check-qtest-pci-$(CONFIG_IPACK) += $(check-qtest-ipack-y)
G
Gerd Hoffmann 已提交
172
check-qtest-pci-y += tests/display-vga-test$(EXESUF)
173
check-qtest-pci-$(CONFIG_HDA) += tests/intel-hda-test$(EXESUF)
174
check-qtest-pci-$(CONFIG_IVSHMEM_DEVICE) += tests/ivshmem-test$(EXESUF)
P
Paolo Bonzini 已提交
175
check-qtest-pci-y += tests/megasas-test$(EXESUF)
A
Andreas Färber 已提交
176

177
check-qtest-i386-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
178
check-qtest-i386-y += tests/fdc-test$(EXESUF)
K
Kevin Wolf 已提交
179
check-qtest-i386-y += tests/ide-test$(EXESUF)
180
check-qtest-i386-y += tests/ahci-test$(EXESUF)
181
check-qtest-i386-y += tests/hd-geo-test$(EXESUF)
182
check-qtest-i386-y += tests/boot-order-test$(EXESUF)
183
check-qtest-i386-y += tests/bios-tables-test$(EXESUF)
184
check-qtest-i386-$(CONFIG_SGA) += tests/boot-serial-test$(EXESUF)
185
check-qtest-i386-$(CONFIG_SLIRP) += tests/pxe-test$(EXESUF)
186
check-qtest-i386-y += tests/rtc-test$(EXESUF)
C
Corey Minyard 已提交
187 188
check-qtest-i386-y += tests/ipmi-kcs-test$(EXESUF)
check-qtest-i386-y += tests/ipmi-bt-test$(EXESUF)
189
check-qtest-i386-y += tests/i440fx-test$(EXESUF)
A
Anthony Liguori 已提交
190
check-qtest-i386-y += tests/fw_cfg-test$(EXESUF)
191
check-qtest-i386-y += tests/drive_del-test$(EXESUF)
192
check-qtest-i386-$(CONFIG_WDT_IB700) += tests/wdt_ib700-test$(EXESUF)
193
check-qtest-i386-y += tests/tco-test$(EXESUF)
A
Andreas Färber 已提交
194
check-qtest-i386-y += $(check-qtest-pci-y)
195
check-qtest-i386-$(CONFIG_VMXNET3_PCI) += tests/vmxnet3-test$(EXESUF)
196
check-qtest-i386-$(CONFIG_PVPANIC) += tests/pvpanic-test$(EXESUF)
197
check-qtest-i386-$(CONFIG_I82801B11) += tests/i82801b11-test$(EXESUF)
198
check-qtest-i386-$(CONFIG_IOH3420) += tests/ioh3420-test$(EXESUF)
199
check-qtest-i386-$(CONFIG_USB_OHCI) += tests/usb-hcd-ohci-test$(EXESUF)
200
check-qtest-i386-$(CONFIG_USB_UHCI) += tests/usb-hcd-uhci-test$(EXESUF)
201
ifeq ($(CONFIG_USB_ECHI)$(CONFIG_USB_UHCI),yy)
A
Andreas Färber 已提交
202
check-qtest-i386-y += tests/usb-hcd-ehci-test$(EXESUF)
203
endif
204
check-qtest-i386-$(CONFIG_USB_XHCI_NEC) += tests/usb-hcd-xhci-test$(EXESUF)
205
check-qtest-i386-y += tests/cpu-plug-test$(EXESUF)
G
Gerd Hoffmann 已提交
206
check-qtest-i386-y += tests/q35-test$(EXESUF)
207
check-qtest-i386-y += tests/vmgenid-test$(EXESUF)
208 209 210
check-qtest-i386-$(CONFIG_VHOST_USER_NET_TEST_i386) += tests/vhost-user-test$(EXESUF)
ifeq ($(CONFIG_VHOST_USER_NET_TEST_i386),)
check-qtest-x86_64-$(CONFIG_VHOST_USER_NET_TEST_x86_64) += tests/vhost-user-test$(EXESUF)
211
endif
212 213 214 215
check-qtest-i386-$(CONFIG_TPM_CRB) += tests/tpm-crb-swtpm-test$(EXESUF)
check-qtest-i386-$(CONFIG_TPM_CRB) += tests/tpm-crb-test$(EXESUF)
check-qtest-i386-$(CONFIG_TPM_TIS) += tests/tpm-tis-swtpm-test$(EXESUF)
check-qtest-i386-$(CONFIG_TPM_TIS) += tests/tpm-tis-test$(EXESUF)
216
check-qtest-i386-$(CONFIG_SLIRP) += tests/test-netfilter$(EXESUF)
217
check-qtest-i386-$(CONFIG_POSIX) += tests/test-filter-mirror$(EXESUF)
218
check-qtest-i386-$(CONFIG_RTL8139_PCI) += tests/test-filter-redirector$(EXESUF)
219
check-qtest-i386-y += tests/migration-test$(EXESUF)
220
check-qtest-i386-y += tests/test-x86-cpuid-compat$(EXESUF)
221
check-qtest-i386-y += tests/numa-test$(EXESUF)
M
Marc-André Lureau 已提交
222
check-qtest-x86_64-y += $(check-qtest-i386-y)
223
check-qtest-x86_64-$(CONFIG_SDHCI) += tests/sdhci-test$(EXESUF)
224

225
check-qtest-alpha-y += tests/boot-serial-test$(EXESUF)
226
check-qtest-alpha-$(CONFIG_VGA) += tests/display-vga-test$(EXESUF)
227

228
check-qtest-hppa-y += tests/boot-serial-test$(EXESUF)
229
check-qtest-hppa-$(CONFIG_VGA) += tests/display-vga-test$(EXESUF)
230

231 232
check-qtest-m68k-y = tests/boot-serial-test$(EXESUF)

233
check-qtest-microblaze-y += tests/boot-serial-test$(EXESUF)
234

235
check-qtest-mips-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
236
check-qtest-mips-$(CONFIG_VGA) += tests/display-vga-test$(EXESUF)
237 238

check-qtest-mips64-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
239
check-qtest-mips64-$(CONFIG_VGA) += tests/display-vga-test$(EXESUF)
240 241

check-qtest-mips64el-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
242
check-qtest-mips64el-$(CONFIG_VGA) += tests/display-vga-test$(EXESUF)
243

244
check-qtest-moxie-y += tests/boot-serial-test$(EXESUF)
245

246
check-qtest-ppc-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
247 248 249
check-qtest-ppc-y += tests/boot-order-test$(EXESUF)
check-qtest-ppc-y += tests/prom-env-test$(EXESUF)
check-qtest-ppc-y += tests/drive_del-test$(EXESUF)
250
check-qtest-ppc-y += tests/boot-serial-test$(EXESUF)
251
check-qtest-ppc-y += tests/m48t59-test$(EXESUF)
252

253
check-qtest-ppc64-y += $(check-qtest-ppc-y)
254
check-qtest-ppc64-y += tests/spapr-phb-test$(EXESUF)
255
check-qtest-ppc64-y += tests/pnv-xscom-test$(EXESUF)
256
check-qtest-ppc64-y += tests/migration-test$(EXESUF)
257
check-qtest-ppc64-y += tests/rtas-test$(EXESUF)
258
check-qtest-ppc64-$(CONFIG_SLIRP) += tests/pxe-test$(EXESUF)
259
check-qtest-ppc64-$(CONFIG_USB_OHCI) += tests/usb-hcd-ohci-test$(EXESUF)
260
check-qtest-ppc64-$(CONFIG_USB_UHCI) += tests/usb-hcd-uhci-test$(EXESUF)
261
check-qtest-ppc64-$(CONFIG_USB_XHCI_NEC) += tests/usb-hcd-xhci-test$(EXESUF)
262
check-qtest-ppc64-y += $(check-qtest-virtio-y)
263
check-qtest-ppc64-$(CONFIG_SLIRP) += tests/test-netfilter$(EXESUF)
264
check-qtest-ppc64-$(CONFIG_POSIX) += tests/test-filter-mirror$(EXESUF)
265
check-qtest-ppc64-$(CONFIG_RTL8139_PCI) += tests/test-filter-redirector$(EXESUF)
266
check-qtest-ppc64-y += tests/display-vga-test$(EXESUF)
267
check-qtest-ppc64-y += tests/numa-test$(EXESUF)
268
check-qtest-ppc64-$(CONFIG_IVSHMEM_DEVICE) += tests/ivshmem-test$(EXESUF)
269
check-qtest-ppc64-y += tests/cpu-plug-test$(EXESUF)
270

271 272 273 274
check-qtest-sh4-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)

check-qtest-sh4eb-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)

275
check-qtest-sparc-y += tests/prom-env-test$(EXESUF)
276
check-qtest-sparc-y += tests/m48t59-test$(EXESUF)
277
check-qtest-sparc-y += tests/boot-serial-test$(EXESUF)
278

279
check-qtest-sparc64-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
280
check-qtest-sparc64-y += tests/prom-env-test$(EXESUF)
281
check-qtest-sparc64-y += tests/boot-serial-test$(EXESUF)
282

283
check-qtest-arm-y += tests/tmp105-test$(EXESUF)
284
check-qtest-arm-y += tests/pca9552-test$(EXESUF)
T
Thomas Huth 已提交
285
check-qtest-arm-y += tests/ds1338-test$(EXESUF)
286
check-qtest-arm-y += tests/microbit-test$(EXESUF)
C
Cédric Le Goater 已提交
287
check-qtest-arm-y += tests/m25p80-test$(EXESUF)
M
Marc Marí 已提交
288
check-qtest-arm-y += tests/virtio-blk-test$(EXESUF)
289
check-qtest-arm-y += tests/test-arm-mptimer$(EXESUF)
290
check-qtest-arm-y += tests/boot-serial-test$(EXESUF)
291
check-qtest-arm-$(CONFIG_SDHCI) += tests/sdhci-test$(EXESUF)
292
check-qtest-arm-y += tests/hexloader-test$(EXESUF)
293

294
check-qtest-aarch64-y = tests/numa-test$(EXESUF)
295
check-qtest-aarch64-$(CONFIG_SDHCI) += tests/sdhci-test$(EXESUF)
296
check-qtest-aarch64-y += tests/boot-serial-test$(EXESUF)
W
Wei Huang 已提交
297
check-qtest-aarch64-y += tests/migration-test$(EXESUF)
298

299
check-qtest-microblazeel-y += $(check-qtest-microblaze-y)
300

301
check-qtest-xtensaeb-y += $(check-qtest-xtensa-y)
A
Anthony Liguori 已提交
302

303
check-qtest-s390x-y = tests/boot-serial-test$(EXESUF)
304
check-qtest-s390x-$(CONFIG_SLIRP) += tests/pxe-test$(EXESUF)
305 306 307
check-qtest-s390x-$(CONFIG_SLIRP) += tests/test-netfilter$(EXESUF)
check-qtest-s390x-$(CONFIG_POSIX) += tests/test-filter-mirror$(EXESUF)
check-qtest-s390x-$(CONFIG_POSIX) += tests/test-filter-redirector$(EXESUF)
308
check-qtest-s390x-y += tests/drive_del-test$(EXESUF)
309
check-qtest-s390x-y += tests/virtio-ccw-test$(EXESUF)
310
check-qtest-s390x-y += tests/cpu-plug-test$(EXESUF)
311
check-qtest-s390x-y += tests/migration-test$(EXESUF)
312

313
check-qtest-generic-y += tests/machine-none-test$(EXESUF)
M
Markus Armbruster 已提交
314
check-qtest-generic-y += tests/qom-test$(EXESUF)
315
check-qtest-generic-y += tests/test-hmp$(EXESUF)
316

317
qapi-schema += alternate-any.json
E
Eric Blake 已提交
318 319 320 321
qapi-schema += alternate-array.json
qapi-schema += alternate-base.json
qapi-schema += alternate-clash.json
qapi-schema += alternate-conflict-dict.json
322 323
qapi-schema += alternate-conflict-enum-bool.json
qapi-schema += alternate-conflict-enum-int.json
E
Eric Blake 已提交
324
qapi-schema += alternate-conflict-string.json
325 326
qapi-schema += alternate-conflict-bool-string.json
qapi-schema += alternate-conflict-num-string.json
E
Eric Blake 已提交
327
qapi-schema += alternate-empty.json
328
qapi-schema += alternate-invalid-dict.json
E
Eric Blake 已提交
329 330 331 332 333 334
qapi-schema += alternate-nested.json
qapi-schema += alternate-unknown.json
qapi-schema += args-alternate.json
qapi-schema += args-any.json
qapi-schema += args-array-empty.json
qapi-schema += args-array-unknown.json
335 336 337 338
qapi-schema += args-bad-boxed.json
qapi-schema += args-boxed-anon.json
qapi-schema += args-boxed-empty.json
qapi-schema += args-boxed-string.json
E
Eric Blake 已提交
339 340 341
qapi-schema += args-int.json
qapi-schema += args-invalid.json
qapi-schema += args-member-array-bad.json
342
qapi-schema += args-member-case.json
E
Eric Blake 已提交
343
qapi-schema += args-member-unknown.json
344
qapi-schema += args-name-clash.json
E
Eric Blake 已提交
345 346 347 348 349
qapi-schema += args-union.json
qapi-schema += args-unknown.json
qapi-schema += bad-base.json
qapi-schema += bad-data.json
qapi-schema += bad-ident.json
350 351 352 353
qapi-schema += bad-if.json
qapi-schema += bad-if-empty.json
qapi-schema += bad-if-empty-list.json
qapi-schema += bad-if-list.json
E
Eric Blake 已提交
354 355 356
qapi-schema += bad-type-bool.json
qapi-schema += bad-type-dict.json
qapi-schema += bad-type-int.json
E
Eric Blake 已提交
357 358
qapi-schema += base-cycle-direct.json
qapi-schema += base-cycle-indirect.json
E
Eric Blake 已提交
359 360
qapi-schema += command-int.json
qapi-schema += comments.json
361
qapi-schema += doc-bad-alternate-member.json
362
qapi-schema += doc-bad-command-arg.json
363
qapi-schema += doc-bad-section.json
M
Marc-André Lureau 已提交
364
qapi-schema += doc-bad-symbol.json
365
qapi-schema += doc-bad-union-member.json
366 367
qapi-schema += doc-before-include.json
qapi-schema += doc-before-pragma.json
M
Marc-André Lureau 已提交
368 369 370 371 372 373
qapi-schema += doc-duplicated-arg.json
qapi-schema += doc-duplicated-return.json
qapi-schema += doc-duplicated-since.json
qapi-schema += doc-empty-arg.json
qapi-schema += doc-empty-section.json
qapi-schema += doc-empty-symbol.json
374
qapi-schema += doc-good.json
M
Marc-André Lureau 已提交
375 376 377 378 379 380 381 382 383
qapi-schema += doc-interleaved-section.json
qapi-schema += doc-invalid-end.json
qapi-schema += doc-invalid-end2.json
qapi-schema += doc-invalid-return.json
qapi-schema += doc-invalid-section.json
qapi-schema += doc-invalid-start.json
qapi-schema += doc-missing-colon.json
qapi-schema += doc-missing-expr.json
qapi-schema += doc-missing-space.json
384
qapi-schema += doc-missing.json
385
qapi-schema += doc-no-symbol.json
E
Eric Blake 已提交
386 387 388 389
qapi-schema += double-data.json
qapi-schema += double-type.json
qapi-schema += duplicate-key.json
qapi-schema += empty.json
390
qapi-schema += enum-bad-member.json
E
Eric Blake 已提交
391 392 393
qapi-schema += enum-bad-name.json
qapi-schema += enum-bad-prefix.json
qapi-schema += enum-clash-member.json
394
qapi-schema += enum-dict-member-unknown.json
395
qapi-schema += enum-if-invalid.json
E
Eric Blake 已提交
396
qapi-schema += enum-int-member.json
397
qapi-schema += enum-member-case.json
E
Eric Blake 已提交
398 399 400 401 402
qapi-schema += enum-missing-data.json
qapi-schema += enum-wrong-data.json
qapi-schema += escape-outside-string.json
qapi-schema += escape-too-big.json
qapi-schema += escape-too-short.json
403
qapi-schema += event-boxed-empty.json
E
Eric Blake 已提交
404
qapi-schema += event-case.json
405
qapi-schema += event-member-invalid-dict.json
E
Eric Blake 已提交
406 407 408 409 410 411
qapi-schema += event-nest-struct.json
qapi-schema += flat-union-array-branch.json
qapi-schema += flat-union-bad-base.json
qapi-schema += flat-union-bad-discriminator.json
qapi-schema += flat-union-base-any.json
qapi-schema += flat-union-base-union.json
412
qapi-schema += flat-union-clash-member.json
E
Eric Blake 已提交
413
qapi-schema += flat-union-empty.json
E
Eric Blake 已提交
414
qapi-schema += flat-union-inline.json
415
qapi-schema += flat-union-inline-invalid-dict.json
E
Eric Blake 已提交
416 417 418
qapi-schema += flat-union-int-branch.json
qapi-schema += flat-union-invalid-branch-key.json
qapi-schema += flat-union-invalid-discriminator.json
419
qapi-schema += flat-union-invalid-if-discriminator.json
E
Eric Blake 已提交
420 421 422 423 424 425 426
qapi-schema += flat-union-no-base.json
qapi-schema += flat-union-optional-discriminator.json
qapi-schema += flat-union-string-discriminator.json
qapi-schema += funny-char.json
qapi-schema += ident-with-escape.json
qapi-schema += include-before-err.json
qapi-schema += include-cycle.json
427
qapi-schema += include-extra-junk.json
E
Eric Blake 已提交
428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443
qapi-schema += include-format-err.json
qapi-schema += include-nested-err.json
qapi-schema += include-no-file.json
qapi-schema += include-non-file.json
qapi-schema += include-relpath.json
qapi-schema += include-repetition.json
qapi-schema += include-self-cycle.json
qapi-schema += include-simple.json
qapi-schema += indented-expr.json
qapi-schema += leading-comma-list.json
qapi-schema += leading-comma-object.json
qapi-schema += missing-colon.json
qapi-schema += missing-comma-list.json
qapi-schema += missing-comma-object.json
qapi-schema += missing-type.json
qapi-schema += nested-struct-data.json
444
qapi-schema += nested-struct-data-invalid-dict.json
E
Eric Blake 已提交
445
qapi-schema += non-objects.json
P
Peter Xu 已提交
446
qapi-schema += oob-test.json
447
qapi-schema += allow-preconfig-test.json
448 449
qapi-schema += pragma-doc-required-crap.json
qapi-schema += pragma-extra-junk.json
450
qapi-schema += pragma-name-case-whitelist-crap.json
451
qapi-schema += pragma-non-dict.json
452
qapi-schema += pragma-returns-whitelist-crap.json
E
Eric Blake 已提交
453 454 455 456 457 458
qapi-schema += qapi-schema-test.json
qapi-schema += quoted-structural-chars.json
qapi-schema += redefined-builtin.json
qapi-schema += redefined-command.json
qapi-schema += redefined-event.json
qapi-schema += redefined-type.json
459
qapi-schema += reserved-command-q.json
460
qapi-schema += reserved-enum-q.json
461 462
qapi-schema += reserved-member-has.json
qapi-schema += reserved-member-q.json
E
Eric Blake 已提交
463
qapi-schema += reserved-member-u.json
464
qapi-schema += reserved-member-underscore.json
465 466
qapi-schema += reserved-type-kind.json
qapi-schema += reserved-type-list.json
E
Eric Blake 已提交
467 468 469 470 471 472 473 474
qapi-schema += returns-alternate.json
qapi-schema += returns-array-bad.json
qapi-schema += returns-dict.json
qapi-schema += returns-unknown.json
qapi-schema += returns-whitelist.json
qapi-schema += struct-base-clash-deep.json
qapi-schema += struct-base-clash.json
qapi-schema += struct-data-invalid.json
475
qapi-schema += struct-member-invalid-dict.json
E
Eric Blake 已提交
476 477 478 479 480 481 482 483
qapi-schema += struct-member-invalid.json
qapi-schema += trailing-comma-list.json
qapi-schema += trailing-comma-object.json
qapi-schema += type-bypass-bad-gen.json
qapi-schema += unclosed-list.json
qapi-schema += unclosed-object.json
qapi-schema += unclosed-string.json
qapi-schema += unicode-str.json
484
qapi-schema += union-base-empty.json
E
Eric Blake 已提交
485
qapi-schema += union-base-no-discriminator.json
486
qapi-schema += union-branch-case.json
487
qapi-schema += union-branch-invalid-dict.json
488
qapi-schema += union-clash-branches.json
E
Eric Blake 已提交
489
qapi-schema += union-empty.json
E
Eric Blake 已提交
490 491 492 493 494
qapi-schema += union-invalid-base.json
qapi-schema += union-optional-branch.json
qapi-schema += union-unknown.json
qapi-schema += unknown-escape.json
qapi-schema += unknown-expr-key.json
M
Marc-André Lureau 已提交
495 496


E
Eric Blake 已提交
497
check-qapi-schema-y := $(addprefix tests/qapi-schema/, $(qapi-schema))
498

499
GENERATED_FILES += tests/test-qapi-types.h tests/test-qapi-visit.h \
500 501
	tests/test-qapi-commands.h tests/test-qapi-events.h \
	tests/test-qapi-introspect.h
P
Paolo Bonzini 已提交
502

503
test-obj-y = tests/check-qnum.o tests/check-qstring.o tests/check-qdict.o \
504
	tests/check-qlist.o tests/check-qnull.o tests/check-qobject.o \
505
	tests/check-qjson.o tests/check-qlit.o \
506
	tests/check-block-qtest.o \
P
Paolo Bonzini 已提交
507
	tests/test-coroutine.o tests/test-string-output-visitor.o \
508
	tests/test-string-input-visitor.o tests/test-qobject-output-visitor.o \
E
Eric Blake 已提交
509
	tests/test-clone-visitor.o \
510
	tests/test-qobject-input-visitor.o \
511
	tests/test-qmp-cmds.o tests/test-visitor-serialization.o \
512
	tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \
P
Paolo Bonzini 已提交
513
	tests/test-opts-visitor.o tests/test-qmp-event.o \
E
Emilio G. Cota 已提交
514
	tests/rcutorture.o tests/test-rcu-list.o \
E
Emilio G. Cota 已提交
515
	tests/test-rcu-simpleq.o \
E
Emilio G. Cota 已提交
516
	tests/test-rcu-tailq.o \
517
	tests/test-qdist.o tests/test-shift128.o \
E
Emilio G. Cota 已提交
518
	tests/test-qht.o tests/qht-bench.o tests/test-qht-par.o \
E
Emilio G. Cota 已提交
519
	tests/atomic_add-bench.o tests/atomic64-bench.o
P
Paolo Bonzini 已提交
520 521

$(test-obj-y): QEMU_INCLUDES += -Itests
522
QEMU_CFLAGS += -I$(SRC_PATH)/tests
P
Paolo Bonzini 已提交
523

524 525

# Deps that are common to various different sets of tests below
P
Paolo Bonzini 已提交
526
test-util-obj-y = libqemuutil.a
527
test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y)
528
test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
529
	tests/test-qapi-events.o tests/test-qapi-introspect.o \
530
	$(test-qom-obj-y)
531
benchmark-crypto-obj-y = $(crypto-obj-y) $(test-qom-obj-y)
532
test-crypto-obj-y = $(crypto-obj-y) $(test-qom-obj-y)
533
test-io-obj-y = $(io-obj-y) $(test-crypto-obj-y)
534
test-block-obj-y = $(block-obj-y) $(test-io-obj-y) tests/iothread.o
535

536
tests/check-qnum$(EXESUF): tests/check-qnum.o $(test-util-obj-y)
537 538
tests/check-qstring$(EXESUF): tests/check-qstring.o $(test-util-obj-y)
tests/check-qdict$(EXESUF): tests/check-qdict.o $(test-util-obj-y)
539
tests/check-block-qdict$(EXESUF): tests/check-block-qdict.o $(test-util-obj-y)
540
tests/check-qlist$(EXESUF): tests/check-qlist.o $(test-util-obj-y)
E
Eric Blake 已提交
541
tests/check-qnull$(EXESUF): tests/check-qnull.o $(test-util-obj-y)
542
tests/check-qobject$(EXESUF): tests/check-qobject.o $(test-util-obj-y)
543
tests/check-qjson$(EXESUF): tests/check-qjson.o $(test-util-obj-y)
544
tests/check-qlit$(EXESUF): tests/check-qlit.o $(test-util-obj-y)
545 546
tests/check-qom-interface$(EXESUF): tests/check-qom-interface.o $(test-qom-obj-y)
tests/check-qom-proplist$(EXESUF): tests/check-qom-proplist.o $(test-qom-obj-y)
547

548
tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y)
549 550
tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(test-block-obj-y)
tests/test-aio$(EXESUF): tests/test-aio.o $(test-block-obj-y)
551
tests/test-aio-multithread$(EXESUF): tests/test-aio-multithread.o $(test-block-obj-y)
552
tests/test-throttle$(EXESUF): tests/test-throttle.o $(test-block-obj-y)
553
tests/test-bdrv-drain$(EXESUF): tests/test-bdrv-drain.o $(test-block-obj-y) $(test-util-obj-y)
A
Alberto Garcia 已提交
554
tests/test-blockjob$(EXESUF): tests/test-blockjob.o $(test-block-obj-y) $(test-util-obj-y)
S
Stefan Hajnoczi 已提交
555
tests/test-blockjob-txn$(EXESUF): tests/test-blockjob-txn.o $(test-block-obj-y) $(test-util-obj-y)
556
tests/test-block-backend$(EXESUF): tests/test-block-backend.o $(test-block-obj-y) $(test-util-obj-y)
557
tests/test-image-locking$(EXESUF): tests/test-image-locking.o $(test-block-obj-y) $(test-util-obj-y)
558 559
tests/test-thread-pool$(EXESUF): tests/test-thread-pool.o $(test-block-obj-y)
tests/test-iov$(EXESUF): tests/test-iov.o $(test-util-obj-y)
560
tests/test-hbitmap$(EXESUF): tests/test-hbitmap.o $(test-util-obj-y) $(test-crypto-obj-y)
561
tests/test-x86-cpuid$(EXESUF): tests/test-x86-cpuid.o
562
tests/test-xbzrle$(EXESUF): tests/test-xbzrle.o migration/xbzrle.o migration/page_cache.o $(test-util-obj-y)
563
tests/test-cutils$(EXESUF): tests/test-cutils.o util/cutils.o $(test-util-obj-y)
564
tests/test-int128$(EXESUF): tests/test-int128.o
565 566
tests/rcutorture$(EXESUF): tests/rcutorture.o $(test-util-obj-y)
tests/test-rcu-list$(EXESUF): tests/test-rcu-list.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
567
tests/test-rcu-simpleq$(EXESUF): tests/test-rcu-simpleq.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
568
tests/test-rcu-tailq$(EXESUF): tests/test-rcu-tailq.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
569
tests/test-qdist$(EXESUF): tests/test-qdist.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
570
tests/test-qht$(EXESUF): tests/test-qht.o $(test-util-obj-y)
571
tests/test-qht-par$(EXESUF): tests/test-qht-par.o tests/qht-bench$(EXESUF) $(test-util-obj-y)
572
tests/qht-bench$(EXESUF): tests/qht-bench.o $(test-util-obj-y)
573
tests/test-bufferiszero$(EXESUF): tests/test-bufferiszero.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
574
tests/atomic_add-bench$(EXESUF): tests/atomic_add-bench.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
575
tests/atomic64-bench$(EXESUF): tests/atomic64-bench.o $(test-util-obj-y)
P
Paolo Bonzini 已提交
576

577 578 579
tests/fp/%:
	$(MAKE) -C $(dir $@) $(notdir $@)

580
tests/test-qdev-global-props$(EXESUF): tests/test-qdev-global-props.o \
581
	hw/core/qdev.o hw/core/qdev-properties.o hw/core/hotplug.o\
582
	hw/core/bus.o \
583
	hw/core/irq.o \
584
	hw/core/fw-path-provider.o \
585
	hw/core/reset.o \
586
	$(test-qapi-obj-y)
587
tests/test-vmstate$(EXESUF): tests/test-vmstate.o \
588
	migration/vmstate.o migration/vmstate-types.o migration/qemu-file.o \
589 590
        migration/qemu-file-channel.o migration/qjson.o \
	$(test-io-obj-y)
591
tests/test-timed-average$(EXESUF): tests/test-timed-average.o $(test-util-obj-y)
P
Paolo Bonzini 已提交
592
tests/test-base64$(EXESUF): tests/test-base64.o $(test-util-obj-y)
593
tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o
P
Paolo Bonzini 已提交
594

595 596
tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y)

597 598 599
tests/test-replication$(EXESUF): tests/test-replication.o $(test-util-obj-y) \
	$(test-block-obj-y)

600 601
tests/test-qapi-types.c tests/test-qapi-types.h \
tests/test-qapi-visit.c tests/test-qapi-visit.h \
602 603 604
tests/test-qapi-commands.h tests/test-qapi-commands.c \
tests/test-qapi-events.c tests/test-qapi-events.h \
tests/test-qapi-introspect.c tests/test-qapi-introspect.h: \
605 606
tests/test-qapi-gen-timestamp ;
tests/test-qapi-gen-timestamp: $(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(qapi-py)
M
Matthias Maier 已提交
607
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-gen.py \
608 609 610 611 612
		-o tests -p "test-" $<, \
		"GEN","$(@:%-timestamp=%)")
	@>$@

tests/qapi-schema/doc-good.test.texi: $(SRC_PATH)/tests/qapi-schema/doc-good.json $(qapi-py)
M
Matthias Maier 已提交
613
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-gen.py \
614
		-o tests/qapi-schema -p "doc-good-" $<, \
615
		"GEN","$@")
616 617
	@mv tests/qapi-schema/doc-good-qapi-doc.texi $@
	@rm -f tests/qapi-schema/doc-good-qapi-*.[ch] tests/qapi-schema/doc-good-qmp-*.[ch]
618

619 620 621
tests/test-string-output-visitor$(EXESUF): tests/test-string-output-visitor.o $(test-qapi-obj-y)
tests/test-string-input-visitor$(EXESUF): tests/test-string-input-visitor.o $(test-qapi-obj-y)
tests/test-qmp-event$(EXESUF): tests/test-qmp-event.o $(test-qapi-obj-y)
622
tests/test-qobject-output-visitor$(EXESUF): tests/test-qobject-output-visitor.o $(test-qapi-obj-y)
E
Eric Blake 已提交
623
tests/test-clone-visitor$(EXESUF): tests/test-clone-visitor.o $(test-qapi-obj-y)
624
tests/test-qobject-input-visitor$(EXESUF): tests/test-qobject-input-visitor.o $(test-qapi-obj-y)
625
tests/test-qmp-cmds$(EXESUF): tests/test-qmp-cmds.o tests/test-qapi-commands.o $(test-qapi-obj-y)
626 627
tests/test-visitor-serialization$(EXESUF): tests/test-visitor-serialization.o $(test-qapi-obj-y)
tests/test-opts-visitor$(EXESUF): tests/test-opts-visitor.o $(test-qapi-obj-y)
628

629
tests/test-shift128$(EXESUF): tests/test-shift128.o $(test-util-obj-y)
630 631
tests/test-mul64$(EXESUF): tests/test-mul64.o $(test-util-obj-y)
tests/test-bitops$(EXESUF): tests/test-bitops.o $(test-util-obj-y)
A
Alex Bennée 已提交
632
tests/test-bitcnt$(EXESUF): tests/test-bitcnt.o $(test-util-obj-y)
633
tests/test-crypto-hash$(EXESUF): tests/test-crypto-hash.o $(test-crypto-obj-y)
634
tests/benchmark-crypto-hash$(EXESUF): tests/benchmark-crypto-hash.o $(test-crypto-obj-y)
635
tests/test-crypto-hmac$(EXESUF): tests/test-crypto-hmac.o $(test-crypto-obj-y)
636
tests/benchmark-crypto-hmac$(EXESUF): tests/benchmark-crypto-hmac.o $(test-crypto-obj-y)
637
tests/test-crypto-cipher$(EXESUF): tests/test-crypto-cipher.o $(test-crypto-obj-y)
638
tests/benchmark-crypto-cipher$(EXESUF): tests/benchmark-crypto-cipher.o $(test-crypto-obj-y)
639
tests/test-crypto-secret$(EXESUF): tests/test-crypto-secret.o $(test-crypto-obj-y)
640
tests/test-crypto-xts$(EXESUF): tests/test-crypto-xts.o $(test-crypto-obj-y)
641 642 643 644 645 646

tests/crypto-tls-x509-helpers.o-cflags := $(TASN1_CFLAGS)
tests/crypto-tls-x509-helpers.o-libs := $(TASN1_LIBS)
tests/pkix_asn1_tab.o-cflags := $(TASN1_CFLAGS)

tests/test-crypto-tlscredsx509.o-cflags := $(TASN1_CFLAGS)
647 648
tests/test-crypto-tlscredsx509$(EXESUF): tests/test-crypto-tlscredsx509.o \
	tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o $(test-crypto-obj-y)
649 650

tests/test-crypto-tlssession.o-cflags := $(TASN1_CFLAGS)
651
tests/test-crypto-tlssession$(EXESUF): tests/test-crypto-tlssession.o \
652 653 654
	tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o \
	tests/crypto-tls-psk-helpers.o \
        $(test-crypto-obj-y)
655 656
tests/test-util-sockets$(EXESUF): tests/test-util-sockets.o \
	tests/socket-helpers.o $(test-util-obj-y)
657
tests/test-io-task$(EXESUF): tests/test-io-task.o $(test-io-obj-y)
658
tests/test-io-channel-socket$(EXESUF): tests/test-io-channel-socket.o \
659
        tests/io-channel-helpers.o tests/socket-helpers.o $(test-io-obj-y)
660
tests/tpm-crb-swtpm-test$(EXESUF): tests/tpm-crb-swtpm-test.o tests/tpm-emu.o \
661
	tests/tpm-util.o tests/tpm-tests.o $(test-io-obj-y)
662
tests/tpm-crb-test$(EXESUF): tests/tpm-crb-test.o tests/tpm-emu.o $(test-io-obj-y)
663 664
tests/tpm-tis-swtpm-test$(EXESUF): tests/tpm-tis-swtpm-test.o tests/tpm-emu.o \
	tests/tpm-util.o tests/tpm-tests.o $(test-io-obj-y)
665
tests/tpm-tis-test$(EXESUF): tests/tpm-tis-test.o tests/tpm-emu.o $(test-io-obj-y)
D
Daniel P. Berrange 已提交
666 667
tests/test-io-channel-file$(EXESUF): tests/test-io-channel-file.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
D
Daniel P. Berrange 已提交
668 669 670
tests/test-io-channel-tls$(EXESUF): tests/test-io-channel-tls.o \
	tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o \
	tests/io-channel-helpers.o $(test-io-obj-y)
671 672
tests/test-io-channel-command$(EXESUF): tests/test-io-channel-command.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
673 674
tests/test-io-channel-buffer$(EXESUF): tests/test-io-channel-buffer.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
675
tests/test-crypto-pbkdf$(EXESUF): tests/test-crypto-pbkdf.o $(test-crypto-obj-y)
676
tests/test-crypto-ivgen$(EXESUF): tests/test-crypto-ivgen.o $(test-crypto-obj-y)
677
tests/test-crypto-afsplit$(EXESUF): tests/test-crypto-afsplit.o $(test-crypto-obj-y)
678
tests/test-crypto-block$(EXESUF): tests/test-crypto-block.o $(test-crypto-obj-y)
679

680
libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o tests/libqos/malloc.o
J
John Snow 已提交
681
libqos-obj-y += tests/libqos/i2c.o tests/libqos/libqos.o
682 683
libqos-spapr-obj-y = $(libqos-obj-y) tests/libqos/malloc-spapr.o
libqos-spapr-obj-y += tests/libqos/libqos-spapr.o
684
libqos-spapr-obj-y += tests/libqos/rtas.o
L
Laurent Vivier 已提交
685
libqos-spapr-obj-y += tests/libqos/pci-spapr.o
686
libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o
J
John Snow 已提交
687
libqos-pc-obj-y += tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o
J
John Snow 已提交
688
libqos-pc-obj-y += tests/libqos/ahci.o
A
Andreas Färber 已提交
689
libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o
690
libqos-imx-obj-y = $(libqos-obj-y) tests/libqos/i2c-imx.o
691
libqos-usb-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/usb.o
692
libqos-virtio-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/virtio.o tests/libqos/virtio-pci.o tests/libqos/virtio-mmio.o tests/libqos/malloc-generic.o
693

694
tests/qmp-test$(EXESUF): tests/qmp-test.o
695
tests/qmp-cmd-test$(EXESUF): tests/qmp-cmd-test.o
696
tests/device-introspect-test$(EXESUF): tests/device-introspect-test.o
697 698
tests/rtc-test$(EXESUF): tests/rtc-test.o
tests/m48t59-test$(EXESUF): tests/m48t59-test.o
699
tests/hexloader-test$(EXESUF): tests/hexloader-test.o
700
tests/endianness-test$(EXESUF): tests/endianness-test.o
701
tests/spapr-phb-test$(EXESUF): tests/spapr-phb-test.o $(libqos-obj-y)
702
tests/prom-env-test$(EXESUF): tests/prom-env-test.o $(libqos-obj-y)
703
tests/rtas-test$(EXESUF): tests/rtas-test.o $(libqos-spapr-obj-y)
704
tests/fdc-test$(EXESUF): tests/fdc-test.o
K
Kevin Wolf 已提交
705
tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y)
J
John Snow 已提交
706
tests/ahci-test$(EXESUF): tests/ahci-test.o $(libqos-pc-obj-y)
C
Corey Minyard 已提交
707 708
tests/ipmi-kcs-test$(EXESUF): tests/ipmi-kcs-test.o
tests/ipmi-bt-test$(EXESUF): tests/ipmi-bt-test.o
709
tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o
710
tests/boot-order-test$(EXESUF): tests/boot-order-test.o $(libqos-obj-y)
711
tests/boot-serial-test$(EXESUF): tests/boot-serial-test.o $(libqos-obj-y)
712
tests/bios-tables-test$(EXESUF): tests/bios-tables-test.o \
713
	tests/boot-sector.o tests/acpi-utils.o $(libqos-obj-y)
714
tests/pxe-test$(EXESUF): tests/pxe-test.o tests/boot-sector.o $(libqos-obj-y)
A
Andreas Färber 已提交
715
tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y)
716
tests/pca9552-test$(EXESUF): tests/pca9552-test.o $(libqos-omap-obj-y)
717
tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y)
718
tests/microbit-test$(EXESUF): tests/microbit-test.o
C
Cédric Le Goater 已提交
719
tests/m25p80-test$(EXESUF): tests/m25p80-test.o
720
tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y)
G
Gerd Hoffmann 已提交
721
tests/q35-test$(EXESUF): tests/q35-test.o $(libqos-pc-obj-y)
A
Anthony Liguori 已提交
722
tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
723
tests/e1000-test$(EXESUF): tests/e1000-test.o
724
tests/e1000e-test$(EXESUF): tests/e1000e-test.o $(libqos-pc-obj-y)
725
tests/rtl8139-test$(EXESUF): tests/rtl8139-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
726
tests/pcnet-test$(EXESUF): tests/pcnet-test.o
727
tests/pnv-xscom-test$(EXESUF): tests/pnv-xscom-test.o
A
Andreas Färber 已提交
728
tests/eepro100-test$(EXESUF): tests/eepro100-test.o
A
Andreas Färber 已提交
729
tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o
A
Andreas Färber 已提交
730
tests/ne2000-test$(EXESUF): tests/ne2000-test.o
P
Paolo Bonzini 已提交
731
tests/wdt_ib700-test$(EXESUF): tests/wdt_ib700-test.o
732
tests/tco-test$(EXESUF): tests/tco-test.o $(libqos-pc-obj-y)
733
tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o $(libqos-virtio-obj-y)
734
tests/virtio-blk-test$(EXESUF): tests/virtio-blk-test.o $(libqos-virtio-obj-y)
735
tests/virtio-ccw-test$(EXESUF): tests/virtio-ccw-test.o
736
tests/virtio-net-test$(EXESUF): tests/virtio-net-test.o $(libqos-pc-obj-y) $(libqos-virtio-obj-y)
737
tests/virtio-rng-test$(EXESUF): tests/virtio-rng-test.o $(libqos-pc-obj-y)
738
tests/virtio-scsi-test$(EXESUF): tests/virtio-scsi-test.o $(libqos-virtio-obj-y)
739
tests/virtio-9p-test$(EXESUF): tests/virtio-9p-test.o $(libqos-virtio-obj-y)
740 741
tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o $(libqos-virtio-obj-y)
tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o $(libqos-virtio-obj-y)
A
Andreas Färber 已提交
742
tests/tpci200-test$(EXESUF): tests/tpci200-test.o
G
Gerd Hoffmann 已提交
743
tests/display-vga-test$(EXESUF): tests/display-vga-test.o
A
Andreas Färber 已提交
744
tests/ipoctal232-test$(EXESUF): tests/ipoctal232-test.o
A
Andreas Färber 已提交
745
tests/qom-test$(EXESUF): tests/qom-test.o
746
tests/test-hmp$(EXESUF): tests/test-hmp.o
747
tests/machine-none-test$(EXESUF): tests/machine-none-test.o
748
tests/drive_del-test$(EXESUF): tests/drive_del-test.o $(libqos-virtio-obj-y)
749
tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y)
750
tests/nvme-test$(EXESUF): tests/nvme-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
751
tests/pvpanic-test$(EXESUF): tests/pvpanic-test.o
A
Andreas Färber 已提交
752
tests/i82801b11-test$(EXESUF): tests/i82801b11-test.o
A
Andreas Färber 已提交
753
tests/ac97-test$(EXESUF): tests/ac97-test.o
A
Andreas Färber 已提交
754
tests/es1370-test$(EXESUF): tests/es1370-test.o
A
Andreas Färber 已提交
755
tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
A
Andreas Färber 已提交
756
tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
757
tests/usb-hcd-ohci-test$(EXESUF): tests/usb-hcd-ohci-test.o $(libqos-usb-obj-y)
758
tests/usb-hcd-uhci-test$(EXESUF): tests/usb-hcd-uhci-test.o $(libqos-usb-obj-y)
759
tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-usb-obj-y)
760
tests/usb-hcd-xhci-test$(EXESUF): tests/usb-hcd-xhci-test.o $(libqos-usb-obj-y)
761
tests/cpu-plug-test$(EXESUF): tests/cpu-plug-test.o
762
tests/migration-test$(EXESUF): tests/migration-test.o
763
tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o $(test-util-obj-y) \
M
Marc-André Lureau 已提交
764 765
	$(qtest-obj-y) $(test-io-obj-y) $(libqos-virtio-obj-y) $(libqos-pc-obj-y) \
	$(chardev-obj-y)
766
tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o
767
tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o $(test-util-obj-y)
768
tests/test-keyval$(EXESUF): tests/test-keyval.o $(test-util-obj-y) $(test-qapi-obj-y)
769
tests/test-write-threshold$(EXESUF): tests/test-write-threshold.o $(test-block-obj-y)
770
tests/test-netfilter$(EXESUF): tests/test-netfilter.o $(qtest-obj-y)
771
tests/test-filter-mirror$(EXESUF): tests/test-filter-mirror.o $(qtest-obj-y)
772
tests/test-filter-redirector$(EXESUF): tests/test-filter-redirector.o $(qtest-obj-y)
773
tests/test-x86-cpuid-compat$(EXESUF): tests/test-x86-cpuid-compat.o $(qtest-obj-y)
774
tests/ivshmem-test$(EXESUF): tests/ivshmem-test.o contrib/ivshmem-server/ivshmem-server.o $(libqos-pc-obj-y) $(libqos-spapr-obj-y)
P
Paolo Bonzini 已提交
775
tests/megasas-test$(EXESUF): tests/megasas-test.o $(libqos-spapr-obj-y) $(libqos-pc-obj-y)
776
tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o $(test-util-obj-y) libvhost-user.a
F
Fam Zheng 已提交
777
tests/test-uuid$(EXESUF): tests/test-uuid.o $(test-util-obj-y)
778
tests/test-arm-mptimer$(EXESUF): tests/test-arm-mptimer.o
779
tests/test-qapi-util$(EXESUF): tests/test-qapi-util.o $(test-util-obj-y)
780
tests/numa-test$(EXESUF): tests/numa-test.o
781
tests/vmgenid-test$(EXESUF): tests/vmgenid-test.o tests/boot-sector.o tests/acpi-utils.o
782
tests/sdhci-test$(EXESUF): tests/sdhci-test.o $(libqos-pc-obj-y)
783
tests/cdrom-test$(EXESUF): tests/cdrom-test.o tests/boot-sector.o $(libqos-obj-y)
B
Blue Swirl 已提交
784

785
tests/migration/stress$(EXESUF): tests/migration/stress.o
786
	$(call quiet-command, $(LINKPROG) -static -O3 $(PTHREAD_LIB) -o $@ $< ,"LINK","$(TARGET_DIR)$@")
787 788 789 790 791 792 793 794 795 796

INITRD_WORK_DIR=tests/migration/initrd

tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF)
	mkdir -p $(INITRD_WORK_DIR)
	cp $< $(INITRD_WORK_DIR)/init
	(cd $(INITRD_WORK_DIR) && (find | cpio --quiet -o -H newc | gzip -9)) > $@
	rm $(INITRD_WORK_DIR)/init
	rmdir $(INITRD_WORK_DIR)

N
Nikolay Nikolaev 已提交
797 798 799
ifeq ($(CONFIG_POSIX),y)
LIBS += -lutil
endif
N
Nikolay Nikolaev 已提交
800

801 802
# QTest rules

803
TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS)))
804
ifeq ($(CONFIG_POSIX),y)
M
Markus Armbruster 已提交
805
QTEST_TARGETS = $(TARGETS)
806
check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y))
M
Markus Armbruster 已提交
807 808 809
check-qtest-y += $(check-qtest-generic-y)
else
QTEST_TARGETS =
810
endif
811

812
qtest-obj-y = tests/libqtest.o $(test-util-obj-y)
813 814
$(check-qtest-y): $(qtest-obj-y)

815 816
tests/test-qga$(EXESUF): qemu-ga$(EXESUF)
tests/test-qga$(EXESUF): tests/test-qga.o $(qtest-obj-y)
817

P
Paolo Bonzini 已提交
818
SPEED = quick
819

P
Paolo Bonzini 已提交
820
# gtester tests, possibly with verbose output
821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853
# do_test_tap runs all tests, even if some of them fail, while do_test_human
# stops at the first failure unless -k is given on the command line

define do_test_human_k
        $(quiet-@)rc=0; $(foreach COMMAND, $1, \
          $(call quiet-command-run, \
            export MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$(( $${RANDOM:-0} % 255 + 1))} $2; \
              $(COMMAND) -m=$(SPEED) -k --tap < /dev/null \
              | ./scripts/tap-driver.pl --test-name="$(notdir $(COMMAND))" $(if $(V),, --show-failures-only) \
              || rc=$$?;, "TEST", "$@: $(COMMAND)")) exit $$rc
endef
define do_test_human_no_k
        $(foreach COMMAND, $1, \
          $(call quiet-command, \
            MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$(( $${RANDOM:-0} % 255 + 1))} $2 \
              $(COMMAND) -m=$(SPEED) -k --tap < /dev/null \
              | ./scripts/tap-driver.pl --test-name="$(notdir $(COMMAND))" $(if $(V),, --show-failures-only), \
              "TEST", "$@: $(COMMAND)")
)
endef
do_test_human = \
        $(if $(findstring k, $(MAKEFLAGS)), $(do_test_human_k), $(do_test_human_no_k))

define do_test_tap
	$(call quiet-command, \
          { export MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$(( $${RANDOM:-0} % 255 + 1))} $2; \
            $(foreach COMMAND, $1, \
	      $(COMMAND) -m=$(SPEED) -k --tap < /dev/null \
	      | sed "s/^[a-z][a-z]* [0-9]* /&$(notdir $(COMMAND)) /" || true; ) } \
	      | ./scripts/tap-merge.pl | tee "$@" \
	      | ./scripts/tap-driver.pl $(if $(V),, --show-failures-only), \
	  "TAP","$@")
endef
854

855
.PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS))
856
$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: subdir-%-softmmu $(check-qtest-y)
857 858 859
	$(call do_test_human,$(check-qtest-$*-y) $(check-qtest-generic-y), \
	  QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
	  QTEST_QEMU_IMG=qemu-img$(EXESUF))
860

861 862
check-unit: $(check-unit-y)
	$(call do_test_human, $^)
863

864 865
check-speed: $(check-speed-y)
	$(call do_test_human, $^)
K
Kevin Wolf 已提交
866

867
# gtester tests with TAP output
868

869 870 871 872
$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: $(check-qtest-y)
	$(call do_test_tap, $(check-qtest-$*-y) $(check-qtest-generic-y), \
	  QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
	  QTEST_QEMU_IMG=qemu-img$(EXESUF))
K
Kevin Wolf 已提交
873

874 875
check-report-unit.tap: $(check-unit-y)
	$(call do_test_tap,$^)
K
Kevin Wolf 已提交
876

877
# Reports and overall runs
K
Kevin Wolf 已提交
878

879 880
check-report.tap: $(patsubst %,check-report-qtest-%.tap, $(QTEST_TARGETS)) check-report-unit.tap
	$(call quiet-command,./scripts/tap-merge.py $^ > $@,"GEN","$@")
P
Paolo Bonzini 已提交
881

882 883
# Per guest TCG tests

884
LINUX_USER_TARGETS=$(filter %-linux-user,$(TARGET_DIRS))
885 886 887 888
BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(LINUX_USER_TARGETS))
CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(LINUX_USER_TARGETS))
RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(LINUX_USER_TARGETS))

889 890
ifeq ($(HAVE_USER_DOCKER),y)
# Probe for the Docker Builds needed for each build
891
$(foreach PROBE_TARGET,$(TARGET_DIRS), 				\
892 893 894 895 896
	$(eval -include $(SRC_PATH)/tests/tcg/Makefile.probe) 	\
	$(if $(DOCKER_PREREQ), 					\
		$(eval build-tcg-tests-$(PROBE_TARGET): $(DOCKER_PREREQ))))
endif

897
build-tcg-tests-%:
898 899 900
	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" \
		SKIP_DOCKER_BUILD=1 TARGET_DIR="$*/" guest-tests, \
		"BUILD", "TCG tests for $*")
901 902

run-tcg-tests-%: % build-tcg-tests-%
903 904 905
	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" \
		SKIP_DOCKER_BUILD=1 TARGET_DIR="$*/" run-guest-tests, \
		"RUN", "TCG tests for $*")
906 907 908 909 910 911 912 913 914 915 916 917

clean-tcg-tests-%:
	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" clean-guest-tests,)

.PHONY: build-tcg
build-tcg: $(BUILD_TCG_TARGET_RULES)

.PHONY: check-tcg
check-tcg: $(RUN_TCG_TARGET_RULES)

.PHONY: clean-tcg
clean-tcg: $(CLEAN_TCG_TARGET_RULES)
P
Paolo Bonzini 已提交
918 919 920

# Other tests

921
QEMU_IOTESTS_HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = tests/qemu-iotests/socket_scm_helper$(EXESUF)
922

P
Paolo Bonzini 已提交
923
.PHONY: check-tests/qemu-iotests-quick.sh
924
check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y)
P
Paolo Bonzini 已提交
925 926
	$<

927 928
.PHONY: $(patsubst %, check-%, $(check-qapi-schema-y))
$(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
929
	$(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts \
M
Matthias Maier 已提交
930
		$(PYTHON) $(SRC_PATH)/tests/qapi-schema/test-qapi.py \
931
		$^ >$*.test.out 2>$*.test.err; \
932
		echo $$? >$*.test.exit, \
933
		"TEST","$*.out")
934
	@# Sanitize error messages (make them independent of build directory)
935 936 937
	@perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff -u $(SRC_PATH)/$*.err -
	@diff -u $(SRC_PATH)/$*.out $*.test.out
	@diff -u $(SRC_PATH)/$*.exit $*.test.exit
938

939 940
.PHONY: check-tests/qapi-schema/doc-good.texi
check-tests/qapi-schema/doc-good.texi: tests/qapi-schema/doc-good.test.texi
941
	@diff -u $(SRC_PATH)/tests/qapi-schema/doc-good.texi $<
942

R
Richard Henderson 已提交
943 944 945 946 947 948 949
.PHONY: check-decodetree
check-decodetree:
	$(call quiet-command, \
	  cd $(SRC_PATH)/tests/decode && \
          ./check.sh "$(PYTHON)" "$(SRC_PATH)/scripts/decodetree.py", \
          TEST, decodetree.py)

C
Cleber Rosa 已提交
950 951
# Python venv for running tests

952
.PHONY: check-venv check-acceptance
C
Cleber Rosa 已提交
953 954 955

TESTS_VENV_DIR=$(BUILD_DIR)/tests/venv
TESTS_VENV_REQ=$(SRC_PATH)/tests/requirements.txt
956 957 958 959 960
TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results
# Controls the output generated by Avocado when running tests.
# Any number of command separated loggers are accepted.  For more
# information please refer to "avocado --help".
AVOCADO_SHOW=none
C
Cleber Rosa 已提交
961

962 963
PYTHON3 = $(shell $(PYTHON) -c 'import sys; print(1 if sys.version_info >= (3, 0) else 0)')
ifeq ($(PYTHON3), 1)
C
Cleber Rosa 已提交
964 965 966 967 968 969 970 971 972 973 974 975 976
$(TESTS_VENV_DIR): $(TESTS_VENV_REQ)
	$(call quiet-command, \
            $(PYTHON) -m venv --system-site-packages $@, \
            VENV, $@)
	$(call quiet-command, \
            $(TESTS_VENV_DIR)/bin/python -m pip -q install -r $(TESTS_VENV_REQ), \
            PIP, $(TESTS_VENV_REQ))
	$(call quiet-command, touch $@)
else
$(TESTS_VENV_DIR):
	$(error "venv directory for tests requires Python 3")
endif

977 978 979 980
$(TESTS_RESULTS_DIR):
	$(call quiet-command, mkdir -p $@, \
            MKDIR, $@)

C
Cleber Rosa 已提交
981 982
check-venv: $(TESTS_VENV_DIR)

983 984 985 986 987 988 989
check-acceptance: check-venv $(TESTS_RESULTS_DIR)
	$(call quiet-command, \
            $(TESTS_VENV_DIR)/bin/python -m avocado \
            --show=$(AVOCADO_SHOW) run --job-results-dir=$(TESTS_RESULTS_DIR) \
            --failfast=on $(SRC_PATH)/tests/acceptance, \
            "AVOCADO", "tests/acceptance")

P
Paolo Bonzini 已提交
990 991
# Consolidated targets

W
Wenchao Xia 已提交
992
.PHONY: check-qapi-schema check-qtest check-unit check check-clean
993
check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y)) check-tests/qapi-schema/doc-good.texi
994
check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS))
P
Paolo Bonzini 已提交
995
check-block: $(patsubst %,check-%, $(check-block-y))
R
Richard Henderson 已提交
996
check: check-qapi-schema check-unit check-qtest check-decodetree
W
Wenchao Xia 已提交
997
check-clean:
A
Andreas Färber 已提交
998
	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
999
	rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
1000
	rm -f tests/test-qapi-gen-timestamp
1001
	rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
W
Wenchao Xia 已提交
1002 1003

clean: check-clean
1004

1005 1006 1007 1008
# Build the help program automatically

all: $(QEMU_IOTESTS_HELPERS-y)

1009
-include $(wildcard tests/*.d)
A
Anthony Liguori 已提交
1010
-include $(wildcard tests/libqos/*.d)
1011 1012

endif