Makefile.include 37.1 KB
Newer Older
K
Kevin Wolf 已提交
1 2
export SRC_PATH

3 4
qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py

5 6 7 8
# Get the list of all supported sysemu targets
SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \
   $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak)))

P
Paolo Bonzini 已提交
9
check-unit-y = tests/check-qdict$(EXESUF)
10
gcov-files-check-qdict-y = qobject/qdict.c
P
Paolo Bonzini 已提交
11
check-unit-y += tests/check-qfloat$(EXESUF)
12
gcov-files-check-qfloat-y = qobject/qfloat.c
P
Paolo Bonzini 已提交
13
check-unit-y += tests/check-qint$(EXESUF)
14
gcov-files-check-qint-y = qobject/qint.c
P
Paolo Bonzini 已提交
15
check-unit-y += tests/check-qstring$(EXESUF)
16
gcov-files-check-qstring-y = qobject/qstring.c
P
Paolo Bonzini 已提交
17
check-unit-y += tests/check-qlist$(EXESUF)
18
gcov-files-check-qlist-y = qobject/qlist.c
E
Eric Blake 已提交
19 20
check-unit-y += tests/check-qnull$(EXESUF)
gcov-files-check-qnull-y = qobject/qnull.c
P
Paolo Bonzini 已提交
21
check-unit-y += tests/check-qjson$(EXESUF)
22
gcov-files-check-qjson-y = qobject/qjson.c
P
Paolo Bonzini 已提交
23
check-unit-y += tests/test-qmp-output-visitor$(EXESUF)
B
Blue Swirl 已提交
24
gcov-files-test-qmp-output-visitor-y = qapi/qmp-output-visitor.c
E
Eric Blake 已提交
25 26
check-unit-y += tests/test-clone-visitor$(EXESUF)
gcov-files-test-clone-visitor-y = qapi/qapi-clone-visitor.c
P
Paolo Bonzini 已提交
27
check-unit-y += tests/test-qmp-input-visitor$(EXESUF)
B
Blue Swirl 已提交
28
gcov-files-test-qmp-input-visitor-y = qapi/qmp-input-visitor.c
P
Paolo Bonzini 已提交
29 30
check-unit-y += tests/test-qmp-input-strict$(EXESUF)
check-unit-y += tests/test-qmp-commands$(EXESUF)
B
Blue Swirl 已提交
31
gcov-files-test-qmp-commands-y = qapi/qmp-dispatch.c
P
Paolo Bonzini 已提交
32
check-unit-y += tests/test-string-input-visitor$(EXESUF)
B
Blue Swirl 已提交
33
gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c
P
Paolo Bonzini 已提交
34
check-unit-y += tests/test-string-output-visitor$(EXESUF)
B
Blue Swirl 已提交
35
gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c
36 37
check-unit-y += tests/test-qmp-event$(EXESUF)
gcov-files-test-qmp-event-y += qapi/qmp-event.c
38 39
check-unit-y += tests/test-opts-visitor$(EXESUF)
gcov-files-test-opts-visitor-y = qapi/opts-visitor.c
P
Paolo Bonzini 已提交
40
check-unit-y += tests/test-coroutine$(EXESUF)
41
gcov-files-test-coroutine-y = coroutine-$(CONFIG_COROUTINE_BACKEND).c
42
check-unit-y += tests/test-visitor-serialization$(EXESUF)
M
Michael Tokarev 已提交
43
check-unit-y += tests/test-iov$(EXESUF)
44
gcov-files-test-iov-y = util/iov.c
P
Paolo Bonzini 已提交
45
check-unit-y += tests/test-aio$(EXESUF)
46
check-unit-$(CONFIG_POSIX) += tests/test-rfifolock$(EXESUF)
B
Benoît Canet 已提交
47
check-unit-y += tests/test-throttle$(EXESUF)
B
Blue Swirl 已提交
48 49
gcov-files-test-aio-$(CONFIG_WIN32) = aio-win32.c
gcov-files-test-aio-$(CONFIG_POSIX) = aio-posix.c
P
Paolo Bonzini 已提交
50
check-unit-y += tests/test-thread-pool$(EXESUF)
B
Blue Swirl 已提交
51
gcov-files-test-thread-pool-y = thread-pool.c
52 53
gcov-files-test-hbitmap-y = util/hbitmap.c
check-unit-y += tests/test-hbitmap$(EXESUF)
S
Stefan Hajnoczi 已提交
54
gcov-files-test-hbitmap-y = blockjob.c
A
Alberto Garcia 已提交
55
check-unit-y += tests/test-blockjob$(EXESUF)
S
Stefan Hajnoczi 已提交
56
check-unit-y += tests/test-blockjob-txn$(EXESUF)
57 58 59
check-unit-y += tests/test-x86-cpuid$(EXESUF)
# all code tested by test-x86-cpuid is inside topology.h
gcov-files-test-x86-cpuid-y =
60
ifeq ($(CONFIG_SOFTMMU),y)
O
Orit Wasserman 已提交
61
check-unit-y += tests/test-xbzrle$(EXESUF)
62 63 64
gcov-files-test-xbzrle-y = migration/xbzrle.c
check-unit-$(CONFIG_POSIX) += tests/test-vmstate$(EXESUF)
endif
65 66
check-unit-y += tests/test-cutils$(EXESUF)
gcov-files-test-cutils-y += util/cutils.c
67 68
check-unit-y += tests/test-mul64$(EXESUF)
gcov-files-test-mul64-y = util/host-utils.c
69 70 71
check-unit-y += tests/test-int128$(EXESUF)
# all code tested by test-int128 is inside int128.h
gcov-files-test-int128-y =
P
Paolo Bonzini 已提交
72 73
check-unit-y += tests/rcutorture$(EXESUF)
gcov-files-rcutorture-y = util/rcu.c
M
Mike Day 已提交
74 75
check-unit-y += tests/test-rcu-list$(EXESUF)
gcov-files-test-rcu-list-y = util/rcu.c
E
Emilio G. Cota 已提交
76 77
check-unit-y += tests/test-qdist$(EXESUF)
gcov-files-test-qdist-y = util/qdist.c
E
Emilio G. Cota 已提交
78 79
check-unit-y += tests/test-qht$(EXESUF)
gcov-files-test-qht-y = util/qht.c
80 81
check-unit-y += tests/test-qht-par$(EXESUF)
gcov-files-test-qht-par-y = util/qht.c
82
check-unit-y += tests/test-bitops$(EXESUF)
83
check-unit-$(CONFIG_HAS_GLIB_SUBPROCESS_TESTS) += tests/test-qdev-global-props$(EXESUF)
I
Igor Mammedov 已提交
84 85
check-unit-y += tests/check-qom-interface$(EXESUF)
gcov-files-check-qom-interface-y = qom/object.c
86 87
check-unit-y += tests/check-qom-proplist$(EXESUF)
gcov-files-check-qom-proplist-y = qom/object.c
L
Leandro Dorileo 已提交
88 89
check-unit-y += tests/test-qemu-opts$(EXESUF)
gcov-files-test-qemu-opts-y = qom/test-qemu-opts.c
90 91
check-unit-y += tests/test-write-threshold$(EXESUF)
gcov-files-test-write-threshold-y = block/write-threshold.c
92
check-unit-y += tests/test-crypto-hash$(EXESUF)
93
check-unit-y += tests/test-crypto-cipher$(EXESUF)
94
check-unit-y += tests/test-crypto-secret$(EXESUF)
95
check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlscredsx509$(EXESUF)
96
check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlssession$(EXESUF)
97 98 99
ifneq (,$(findstring qemu-ga,$(TOOLS)))
check-unit-$(CONFIG_LINUX) += tests/test-qga$(EXESUF)
endif
100
check-unit-y += tests/test-timed-average$(EXESUF)
101
check-unit-y += tests/test-io-task$(EXESUF)
102
check-unit-y += tests/test-io-channel-socket$(EXESUF)
D
Daniel P. Berrange 已提交
103
check-unit-y += tests/test-io-channel-file$(EXESUF)
D
Daniel P. Berrange 已提交
104
check-unit-$(CONFIG_GNUTLS) += tests/test-io-channel-tls$(EXESUF)
105
check-unit-y += tests/test-io-channel-command$(EXESUF)
106
check-unit-y += tests/test-io-channel-buffer$(EXESUF)
107
check-unit-y += tests/test-base64$(EXESUF)
108
check-unit-$(if $(CONFIG_NETTLE_KDF),y,$(CONFIG_GCRYPT_KDF)) += tests/test-crypto-pbkdf$(EXESUF)
109
check-unit-y += tests/test-crypto-ivgen$(EXESUF)
110
check-unit-y += tests/test-crypto-afsplit$(EXESUF)
111
check-unit-y += tests/test-crypto-xts$(EXESUF)
112
check-unit-y += tests/test-crypto-block$(EXESUF)
113 114
gcov-files-test-logging-y = tests/test-logging.c
check-unit-y += tests/test-logging$(EXESUF)
115
check-unit-$(CONFIG_REPLICATION) += tests/test-replication$(EXESUF)
116 117
check-unit-y += tests/test-bufferiszero$(EXESUF)
gcov-files-check-bufferiszero-y = util/bufferiszero.c
F
Fam Zheng 已提交
118
check-unit-y += tests/test-uuid$(EXESUF)
P
Paolo Bonzini 已提交
119 120 121

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

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

125 126
check-qtest-generic-y = tests/device-introspect-test$(EXESUF)
gcov-files-generic-y = qdev-monitor.c qmp.c
M
Markus Armbruster 已提交
127

128
gcov-files-ipack-y += hw/ipack/ipack.c
A
Andreas Färber 已提交
129 130 131
check-qtest-ipack-y += tests/ipoctal232-test$(EXESUF)
gcov-files-ipack-y += hw/char/ipoctal232.c

132 133 134
check-qtest-virtioserial-y += tests/virtio-console-test$(EXESUF)
gcov-files-virtioserial-y += hw/char/virtio-console.c

A
Andreas Färber 已提交
135 136 137
gcov-files-virtio-y += i386-softmmu/hw/virtio/virtio.c
check-qtest-virtio-y += tests/virtio-net-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/net/virtio-net.c
138 139
check-qtest-virtio-y += tests/virtio-balloon-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/virtio/virtio-balloon.c
A
Andreas Färber 已提交
140 141
check-qtest-virtio-y += tests/virtio-blk-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/block/virtio-blk.c
A
Andreas Färber 已提交
142 143
check-qtest-virtio-y += tests/virtio-rng-test$(EXESUF)
gcov-files-virtio-y += hw/virtio/virtio-rng.c
A
Andreas Färber 已提交
144 145
check-qtest-virtio-y += tests/virtio-scsi-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/scsi/virtio-scsi.c
A
Andreas Färber 已提交
146 147 148 149 150
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
check-qtest-virtio-y += tests/virtio-9p-test$(EXESUF)
gcov-files-virtio-y += hw/9pfs/virtio-9p.c
gcov-files-virtio-y += i386-softmmu/hw/9pfs/virtio-9p-device.c
endif
A
Andreas Färber 已提交
151 152
check-qtest-virtio-y += tests/virtio-serial-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/char/virtio-serial-bus.c
153 154
check-qtest-virtio-y += $(check-qtest-virtioserial-y)
gcov-files-virtio-y += $(gcov-files-virtioserial-y)
A
Andreas Färber 已提交
155

A
Andreas Färber 已提交
156 157
check-qtest-pci-y += tests/e1000-test$(EXESUF)
gcov-files-pci-y += hw/net/e1000.c
158 159
check-qtest-pci-y += tests/e1000e-test$(EXESUF)
gcov-files-pci-y += hw/net/e1000e.c hw/net/e1000e_core.c
A
Andreas Färber 已提交
160 161
check-qtest-pci-y += tests/rtl8139-test$(EXESUF)
gcov-files-pci-y += hw/net/rtl8139.c
A
Andreas Färber 已提交
162 163 164
check-qtest-pci-y += tests/pcnet-test$(EXESUF)
gcov-files-pci-y += hw/net/pcnet.c
gcov-files-pci-y += hw/net/pcnet-pci.c
A
Andreas Färber 已提交
165 166
check-qtest-pci-y += tests/eepro100-test$(EXESUF)
gcov-files-pci-y += hw/net/eepro100.c
A
Andreas Färber 已提交
167 168
check-qtest-pci-y += tests/ne2000-test$(EXESUF)
gcov-files-pci-y += hw/net/ne2000.c
A
Andreas Färber 已提交
169 170
check-qtest-pci-y += tests/nvme-test$(EXESUF)
gcov-files-pci-y += hw/block/nvme.c
A
Andreas Färber 已提交
171 172
check-qtest-pci-y += tests/ac97-test$(EXESUF)
gcov-files-pci-y += hw/audio/ac97.c
A
Andreas Färber 已提交
173 174
check-qtest-pci-y += tests/es1370-test$(EXESUF)
gcov-files-pci-y += hw/audio/es1370.c
A
Andreas Färber 已提交
175 176
check-qtest-pci-y += $(check-qtest-virtio-y)
gcov-files-pci-y += $(gcov-files-virtio-y) hw/virtio/virtio-pci.c
A
Andreas Färber 已提交
177
check-qtest-pci-y += tests/tpci200-test$(EXESUF)
178
gcov-files-pci-y += hw/ipack/tpci200.c
A
Andreas Färber 已提交
179
check-qtest-pci-y += $(check-qtest-ipack-y)
180
gcov-files-pci-y += $(gcov-files-ipack-y)
G
Gerd Hoffmann 已提交
181 182 183 184
check-qtest-pci-y += tests/display-vga-test$(EXESUF)
gcov-files-pci-y += hw/display/vga.c
gcov-files-pci-y += hw/display/cirrus_vga.c
gcov-files-pci-y += hw/display/vga-pci.c
185 186 187
gcov-files-pci-y += hw/display/virtio-gpu.c
gcov-files-pci-y += hw/display/virtio-gpu-pci.c
gcov-files-pci-$(CONFIG_VIRTIO_VGA) += hw/display/virtio-vga.c
A
Andreas Färber 已提交
188 189
check-qtest-pci-y += tests/intel-hda-test$(EXESUF)
gcov-files-pci-y += hw/audio/intel-hda.c hw/audio/hda-codec.c
190
check-qtest-pci-$(CONFIG_EVENTFD) += tests/ivshmem-test$(EXESUF)
A
Andreas Färber 已提交
191
gcov-files-pci-y += hw/misc/ivshmem.c
A
Andreas Färber 已提交
192

193 194
check-qtest-i386-y = tests/endianness-test$(EXESUF)
check-qtest-i386-y += tests/fdc-test$(EXESUF)
195
gcov-files-i386-y = hw/block/fdc.c
K
Kevin Wolf 已提交
196
check-qtest-i386-y += tests/ide-test$(EXESUF)
197
check-qtest-i386-y += tests/ahci-test$(EXESUF)
198
check-qtest-i386-y += tests/hd-geo-test$(EXESUF)
199
gcov-files-i386-y += hw/block/hd-geometry.c
200
check-qtest-i386-y += tests/boot-order-test$(EXESUF)
201
check-qtest-i386-y += tests/bios-tables-test$(EXESUF)
202
check-qtest-i386-y += tests/boot-serial-test$(EXESUF)
203
check-qtest-i386-y += tests/pxe-test$(EXESUF)
204
check-qtest-i386-y += tests/rtc-test$(EXESUF)
C
Corey Minyard 已提交
205 206
check-qtest-i386-y += tests/ipmi-kcs-test$(EXESUF)
check-qtest-i386-y += tests/ipmi-bt-test$(EXESUF)
207
check-qtest-i386-y += tests/i440fx-test$(EXESUF)
A
Anthony Liguori 已提交
208
check-qtest-i386-y += tests/fw_cfg-test$(EXESUF)
209
check-qtest-i386-y += tests/drive_del-test$(EXESUF)
P
Paolo Bonzini 已提交
210
check-qtest-i386-y += tests/wdt_ib700-test$(EXESUF)
211
check-qtest-i386-y += tests/tco-test$(EXESUF)
P
Paolo Bonzini 已提交
212
gcov-files-i386-y += hw/watchdog/watchdog.c hw/watchdog/wdt_ib700.c
A
Andreas Färber 已提交
213 214
check-qtest-i386-y += $(check-qtest-pci-y)
gcov-files-i386-y += $(gcov-files-pci-y)
A
Andreas Färber 已提交
215 216
check-qtest-i386-y += tests/vmxnet3-test$(EXESUF)
gcov-files-i386-y += hw/net/vmxnet3.c
217 218
gcov-files-i386-y += hw/net/net_rx_pkt.c
gcov-files-i386-y += hw/net/net_tx_pkt.c
A
Andreas Färber 已提交
219 220
check-qtest-i386-y += tests/pvpanic-test$(EXESUF)
gcov-files-i386-y += i386-softmmu/hw/misc/pvpanic.c
A
Andreas Färber 已提交
221 222
check-qtest-i386-y += tests/i82801b11-test$(EXESUF)
gcov-files-i386-y += hw/pci-bridge/i82801b11.c
A
Andreas Färber 已提交
223 224
check-qtest-i386-y += tests/ioh3420-test$(EXESUF)
gcov-files-i386-y += hw/pci-bridge/ioh3420.c
G
Gonglei 已提交
225 226
check-qtest-i386-y += tests/usb-hcd-ohci-test$(EXESUF)
gcov-files-i386-y += hw/usb/hcd-ohci.c
G
Gonglei 已提交
227 228
check-qtest-i386-y += tests/usb-hcd-uhci-test$(EXESUF)
gcov-files-i386-y += hw/usb/hcd-uhci.c
A
Andreas Färber 已提交
229 230
check-qtest-i386-y += tests/usb-hcd-ehci-test$(EXESUF)
gcov-files-i386-y += hw/usb/hcd-ehci.c
G
Gerd Hoffmann 已提交
231 232
gcov-files-i386-y += hw/usb/dev-hid.c
gcov-files-i386-y += hw/usb/dev-storage.c
G
Gonglei 已提交
233 234
check-qtest-i386-y += tests/usb-hcd-xhci-test$(EXESUF)
gcov-files-i386-y += hw/usb/hcd-xhci.c
A
Andreas Färber 已提交
235
check-qtest-i386-y += tests/pc-cpu-test$(EXESUF)
G
Gerd Hoffmann 已提交
236 237
check-qtest-i386-y += tests/q35-test$(EXESUF)
gcov-files-i386-y += hw/pci-host/q35.c
238 239 240
check-qtest-i386-$(CONFIG_VHOST_NET_TEST_i386) += tests/vhost-user-test$(EXESUF)
ifeq ($(CONFIG_VHOST_NET_TEST_i386),)
check-qtest-x86_64-$(CONFIG_VHOST_NET_TEST_x86_64) += tests/vhost-user-test$(EXESUF)
241
endif
242
check-qtest-i386-y += tests/test-netfilter$(EXESUF)
243
check-qtest-i386-y += tests/test-filter-mirror$(EXESUF)
244
check-qtest-i386-y += tests/test-filter-redirector$(EXESUF)
D
Dr. David Alan Gilbert 已提交
245
check-qtest-i386-y += tests/postcopy-test$(EXESUF)
246
check-qtest-i386-y += tests/test-x86-cpuid-compat$(EXESUF)
M
Marc-André Lureau 已提交
247
check-qtest-x86_64-y += $(check-qtest-i386-y)
248
gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c
249
gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y))
250

251 252
check-qtest-alpha-y = tests/boot-serial-test$(EXESUF)

253
check-qtest-mips-y = tests/endianness-test$(EXESUF)
254

255
check-qtest-mips64-y = tests/endianness-test$(EXESUF)
256

257
check-qtest-mips64el-y = tests/endianness-test$(EXESUF)
258

259
check-qtest-ppc-y = tests/endianness-test$(EXESUF)
260 261 262
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)
263
check-qtest-ppc-y += tests/boot-serial-test$(EXESUF)
264 265 266 267 268 269 270 271

check-qtest-ppc64-y = tests/spapr-phb-test$(EXESUF)
gcov-files-ppc64-y = ppc64-softmmu/hw/ppc/spapr_pci.c
check-qtest-ppc64-y += tests/endianness-test$(EXESUF)
check-qtest-ppc64-y += tests/boot-order-test$(EXESUF)
check-qtest-ppc64-y += tests/prom-env-test$(EXESUF)
check-qtest-ppc64-y += tests/drive_del-test$(EXESUF)
check-qtest-ppc64-y += tests/postcopy-test$(EXESUF)
272
check-qtest-ppc64-y += tests/boot-serial-test$(EXESUF)
273
check-qtest-ppc64-y += tests/rtas-test$(EXESUF)
274

275
check-qtest-sh4-y = tests/endianness-test$(EXESUF)
276

277
check-qtest-sh4eb-y = tests/endianness-test$(EXESUF)
278 279 280 281 282

check-qtest-sparc-y = tests/prom-env-test$(EXESUF)
#check-qtest-sparc-y += tests/m48t59-test$(EXESUF)
#gcov-files-sparc-y = hw/timer/m48t59.c

283 284
check-qtest-sparc64-y = tests/endianness-test$(EXESUF)
#check-qtest-sparc64-y += tests/m48t59-test$(EXESUF)
285 286 287 288
#gcov-files-sparc64-y += hw/timer/m48t59.c
#Disabled for now, triggers a TCG bug on 32-bit hosts
#check-qtest-sparc64-y += tests/prom-env-test$(EXESUF)

289
check-qtest-arm-y = tests/tmp105-test$(EXESUF)
T
Thomas Huth 已提交
290
check-qtest-arm-y += tests/ds1338-test$(EXESUF)
291
gcov-files-arm-y += hw/misc/tmp105.c
M
Marc Marí 已提交
292 293
check-qtest-arm-y += tests/virtio-blk-test$(EXESUF)
gcov-files-arm-y += arm-softmmu/hw/block/virtio-blk.c
294

A
Andreas Färber 已提交
295
check-qtest-microblazeel-y = $(check-qtest-microblaze-y)
296

A
Andreas Färber 已提交
297
check-qtest-xtensaeb-y = $(check-qtest-xtensa-y)
A
Anthony Liguori 已提交
298

299 300
check-qtest-s390x-y = tests/boot-serial-test$(EXESUF)

M
Markus Armbruster 已提交
301
check-qtest-generic-y += tests/qom-test$(EXESUF)
D
Dmitry Osipenko 已提交
302
check-qtest-generic-y += tests/ptimer-test$(EXESUF)
303

304
qapi-schema += alternate-any.json
E
Eric Blake 已提交
305 306 307 308 309
qapi-schema += alternate-array.json
qapi-schema += alternate-base.json
qapi-schema += alternate-clash.json
qapi-schema += alternate-conflict-dict.json
qapi-schema += alternate-conflict-string.json
E
Eric Blake 已提交
310
qapi-schema += alternate-empty.json
E
Eric Blake 已提交
311 312 313 314 315 316
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
317 318 319 320
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 已提交
321 322 323
qapi-schema += args-int.json
qapi-schema += args-invalid.json
qapi-schema += args-member-array-bad.json
324
qapi-schema += args-member-case.json
E
Eric Blake 已提交
325
qapi-schema += args-member-unknown.json
326
qapi-schema += args-name-clash.json
E
Eric Blake 已提交
327 328 329 330 331 332 333 334
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
qapi-schema += bad-type-bool.json
qapi-schema += bad-type-dict.json
qapi-schema += bad-type-int.json
E
Eric Blake 已提交
335 336
qapi-schema += base-cycle-direct.json
qapi-schema += base-cycle-indirect.json
E
Eric Blake 已提交
337 338 339 340 341 342 343 344 345 346 347
qapi-schema += command-int.json
qapi-schema += comments.json
qapi-schema += double-data.json
qapi-schema += double-type.json
qapi-schema += duplicate-key.json
qapi-schema += empty.json
qapi-schema += enum-bad-name.json
qapi-schema += enum-bad-prefix.json
qapi-schema += enum-clash-member.json
qapi-schema += enum-dict-member.json
qapi-schema += enum-int-member.json
348
qapi-schema += enum-member-case.json
E
Eric Blake 已提交
349 350 351 352 353
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
354
qapi-schema += event-boxed-empty.json
E
Eric Blake 已提交
355 356 357 358 359 360 361
qapi-schema += event-case.json
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
362
qapi-schema += flat-union-clash-member.json
E
Eric Blake 已提交
363
qapi-schema += flat-union-empty.json
364
qapi-schema += flat-union-incomplete-branch.json
E
Eric Blake 已提交
365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398
qapi-schema += flat-union-inline.json
qapi-schema += flat-union-int-branch.json
qapi-schema += flat-union-invalid-branch-key.json
qapi-schema += flat-union-invalid-discriminator.json
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
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
qapi-schema += non-objects.json
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
399
qapi-schema += reserved-command-q.json
400
qapi-schema += reserved-enum-q.json
401 402
qapi-schema += reserved-member-has.json
qapi-schema += reserved-member-q.json
E
Eric Blake 已提交
403
qapi-schema += reserved-member-u.json
404
qapi-schema += reserved-member-underscore.json
405 406
qapi-schema += reserved-type-kind.json
qapi-schema += reserved-type-list.json
E
Eric Blake 已提交
407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
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
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
qapi-schema += union-base-no-discriminator.json
424
qapi-schema += union-branch-case.json
425
qapi-schema += union-clash-branches.json
E
Eric Blake 已提交
426
qapi-schema += union-empty.json
E
Eric Blake 已提交
427 428 429 430 431 432
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
check-qapi-schema-y := $(addprefix tests/qapi-schema/, $(qapi-schema))
433

434
GENERATED_HEADERS += tests/test-qapi-types.h tests/test-qapi-visit.h \
435 436
	tests/test-qmp-commands.h tests/test-qapi-event.h \
	tests/test-qmp-introspect.h
P
Paolo Bonzini 已提交
437 438

test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \
E
Eric Blake 已提交
439 440
	tests/check-qlist.o tests/check-qfloat.o tests/check-qnull.o \
	tests/check-qjson.o \
P
Paolo Bonzini 已提交
441 442
	tests/test-coroutine.o tests/test-string-output-visitor.o \
	tests/test-string-input-visitor.o tests/test-qmp-output-visitor.o \
E
Eric Blake 已提交
443
	tests/test-clone-visitor.o \
P
Paolo Bonzini 已提交
444
	tests/test-qmp-input-visitor.o tests/test-qmp-input-strict.o \
445
	tests/test-qmp-commands.o tests/test-visitor-serialization.o \
446
	tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \
P
Paolo Bonzini 已提交
447
	tests/test-opts-visitor.o tests/test-qmp-event.o \
E
Emilio G. Cota 已提交
448
	tests/rcutorture.o tests/test-rcu-list.o \
E
Emilio G. Cota 已提交
449
	tests/test-qdist.o \
450
	tests/test-qht.o tests/qht-bench.o tests/test-qht-par.o
P
Paolo Bonzini 已提交
451 452

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

455 456 457

# Deps that are common to various different sets of tests below
test-util-obj-y = libqemuutil.a libqemustub.a
458
test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y)
459
test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
460
	tests/test-qapi-event.o tests/test-qmp-introspect.o \
461
	$(test-qom-obj-y)
462
test-crypto-obj-y = $(crypto-obj-y) $(test-qom-obj-y)
463
test-io-obj-y = $(io-obj-y) $(test-crypto-obj-y)
464
test-block-obj-y = $(block-obj-y) $(test-io-obj-y)
465 466 467 468 469 470

tests/check-qint$(EXESUF): tests/check-qint.o $(test-util-obj-y)
tests/check-qstring$(EXESUF): tests/check-qstring.o $(test-util-obj-y)
tests/check-qdict$(EXESUF): tests/check-qdict.o $(test-util-obj-y)
tests/check-qlist$(EXESUF): tests/check-qlist.o $(test-util-obj-y)
tests/check-qfloat$(EXESUF): tests/check-qfloat.o $(test-util-obj-y)
E
Eric Blake 已提交
471
tests/check-qnull$(EXESUF): tests/check-qnull.o $(test-util-obj-y)
472 473 474 475 476 477 478
tests/check-qjson$(EXESUF): tests/check-qjson.o $(test-util-obj-y)
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)
tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(test-block-obj-y)
tests/test-aio$(EXESUF): tests/test-aio.o $(test-block-obj-y)
tests/test-rfifolock$(EXESUF): tests/test-rfifolock.o $(test-util-obj-y)
tests/test-throttle$(EXESUF): tests/test-throttle.o $(test-block-obj-y)
A
Alberto Garcia 已提交
479
tests/test-blockjob$(EXESUF): tests/test-blockjob.o $(test-block-obj-y) $(test-util-obj-y)
S
Stefan Hajnoczi 已提交
480
tests/test-blockjob-txn$(EXESUF): tests/test-blockjob-txn.o $(test-block-obj-y) $(test-util-obj-y)
481 482 483
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)
tests/test-hbitmap$(EXESUF): tests/test-hbitmap.o $(test-util-obj-y)
484
tests/test-x86-cpuid$(EXESUF): tests/test-x86-cpuid.o
485
tests/test-xbzrle$(EXESUF): tests/test-xbzrle.o migration/xbzrle.o page_cache.o $(test-util-obj-y)
486
tests/test-cutils$(EXESUF): tests/test-cutils.o util/cutils.o
487
tests/test-int128$(EXESUF): tests/test-int128.o
488 489
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 已提交
490
tests/test-qdist$(EXESUF): tests/test-qdist.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
491
tests/test-qht$(EXESUF): tests/test-qht.o $(test-util-obj-y)
492
tests/test-qht-par$(EXESUF): tests/test-qht-par.o tests/qht-bench$(EXESUF) $(test-util-obj-y)
493
tests/qht-bench$(EXESUF): tests/qht-bench.o $(test-util-obj-y)
494
tests/test-bufferiszero$(EXESUF): tests/test-bufferiszero.o $(test-util-obj-y)
P
Paolo Bonzini 已提交
495

496
tests/test-qdev-global-props$(EXESUF): tests/test-qdev-global-props.o \
497
	hw/core/qdev.o hw/core/qdev-properties.o hw/core/hotplug.o\
498
	hw/core/bus.o \
499
	hw/core/irq.o \
500
	hw/core/fw-path-provider.o \
501
	$(test-qapi-obj-y)
502
tests/test-vmstate$(EXESUF): tests/test-vmstate.o \
503
	migration/vmstate.o migration/qemu-file.o \
504 505
        migration/qemu-file-channel.o migration/qjson.o \
	$(test-io-obj-y)
506
tests/test-timed-average$(EXESUF): tests/test-timed-average.o qemu-timer.o \
507
	$(test-util-obj-y)
508 509
tests/test-base64$(EXESUF): tests/test-base64.o \
	libqemuutil.a libqemustub.a
P
Paolo Bonzini 已提交
510

511 512
tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y)

513 514 515
tests/test-replication$(EXESUF): tests/test-replication.o $(test-util-obj-y) \
	$(test-block-obj-y)

P
Paolo Bonzini 已提交
516
tests/test-qapi-types.c tests/test-qapi-types.h :\
517
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
518
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py \
519
		$(gen-out-type) -o tests -p "test-" $<, \
520
		"  GEN   $@")
P
Paolo Bonzini 已提交
521
tests/test-qapi-visit.c tests/test-qapi-visit.h :\
522
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py)
523
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py \
524
		$(gen-out-type) -o tests -p "test-" $<, \
525
		"  GEN   $@")
P
Paolo Bonzini 已提交
526
tests/test-qmp-commands.h tests/test-qmp-marshal.c :\
527
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
528
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py \
529
		$(gen-out-type) -o tests -p "test-" $<, \
530
		"  GEN   $@")
531
tests/test-qapi-event.c tests/test-qapi-event.h :\
532
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-event.py $(qapi-py)
533
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-event.py \
534
		$(gen-out-type) -o tests -p "test-" $<, \
535
		"  GEN   $@")
536 537 538 539 540
tests/test-qmp-introspect.c tests/test-qmp-introspect.h :\
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-introspect.py $(qapi-py)
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-introspect.py \
		$(gen-out-type) -o tests -p "test-" $<, \
		"  GEN   $@")
541

542 543 544 545
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)
tests/test-qmp-output-visitor$(EXESUF): tests/test-qmp-output-visitor.o $(test-qapi-obj-y)
E
Eric Blake 已提交
546
tests/test-clone-visitor$(EXESUF): tests/test-clone-visitor.o $(test-qapi-obj-y)
547 548 549 550 551
tests/test-qmp-input-visitor$(EXESUF): tests/test-qmp-input-visitor.o $(test-qapi-obj-y)
tests/test-qmp-input-strict$(EXESUF): tests/test-qmp-input-strict.o $(test-qapi-obj-y)
tests/test-qmp-commands$(EXESUF): tests/test-qmp-commands.o tests/test-qmp-marshal.o $(test-qapi-obj-y)
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)
552

553 554
tests/test-mul64$(EXESUF): tests/test-mul64.o $(test-util-obj-y)
tests/test-bitops$(EXESUF): tests/test-bitops.o $(test-util-obj-y)
555 556
tests/test-crypto-hash$(EXESUF): tests/test-crypto-hash.o $(test-crypto-obj-y)
tests/test-crypto-cipher$(EXESUF): tests/test-crypto-cipher.o $(test-crypto-obj-y)
557
tests/test-crypto-secret$(EXESUF): tests/test-crypto-secret.o $(test-crypto-obj-y)
558
tests/test-crypto-xts$(EXESUF): tests/test-crypto-xts.o $(test-crypto-obj-y)
559 560 561 562 563 564

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)
565 566
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)
567 568

tests/test-crypto-tlssession.o-cflags := $(TASN1_CFLAGS)
569 570
tests/test-crypto-tlssession$(EXESUF): tests/test-crypto-tlssession.o \
	tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o $(test-crypto-obj-y)
571
tests/test-io-task$(EXESUF): tests/test-io-task.o $(test-io-obj-y)
572 573
tests/test-io-channel-socket$(EXESUF): tests/test-io-channel-socket.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
D
Daniel P. Berrange 已提交
574 575
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 已提交
576 577 578
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)
579 580
tests/test-io-channel-command$(EXESUF): tests/test-io-channel-command.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
581 582
tests/test-io-channel-buffer$(EXESUF): tests/test-io-channel-buffer.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
583
tests/test-crypto-pbkdf$(EXESUF): tests/test-crypto-pbkdf.o $(test-crypto-obj-y)
584
tests/test-crypto-ivgen$(EXESUF): tests/test-crypto-ivgen.o $(test-crypto-obj-y)
585
tests/test-crypto-afsplit$(EXESUF): tests/test-crypto-afsplit.o $(test-crypto-obj-y)
586
tests/test-crypto-block$(EXESUF): tests/test-crypto-block.o $(test-crypto-obj-y)
587

588
libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o tests/libqos/malloc.o
J
John Snow 已提交
589
libqos-obj-y += tests/libqos/i2c.o tests/libqos/libqos.o
590 591
libqos-spapr-obj-y = $(libqos-obj-y) tests/libqos/malloc-spapr.o
libqos-spapr-obj-y += tests/libqos/libqos-spapr.o
592
libqos-spapr-obj-y += tests/libqos/rtas.o
593
libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o
J
John Snow 已提交
594
libqos-pc-obj-y += tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o
J
John Snow 已提交
595
libqos-pc-obj-y += tests/libqos/ahci.o
A
Andreas Färber 已提交
596
libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o
597
libqos-imx-obj-y = $(libqos-obj-y) tests/libqos/i2c-imx.o
598
libqos-usb-obj-y = $(libqos-pc-obj-y) tests/libqos/usb.o
M
Marc Marí 已提交
599
libqos-virtio-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
600

601
tests/device-introspect-test$(EXESUF): tests/device-introspect-test.o
602 603
tests/rtc-test$(EXESUF): tests/rtc-test.o
tests/m48t59-test$(EXESUF): tests/m48t59-test.o
604
tests/endianness-test$(EXESUF): tests/endianness-test.o
605
tests/spapr-phb-test$(EXESUF): tests/spapr-phb-test.o $(libqos-obj-y)
606
tests/prom-env-test$(EXESUF): tests/prom-env-test.o $(libqos-obj-y)
607
tests/rtas-test$(EXESUF): tests/rtas-test.o $(libqos-spapr-obj-y)
608
tests/fdc-test$(EXESUF): tests/fdc-test.o
K
Kevin Wolf 已提交
609
tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y)
J
John Snow 已提交
610
tests/ahci-test$(EXESUF): tests/ahci-test.o $(libqos-pc-obj-y)
C
Corey Minyard 已提交
611 612
tests/ipmi-kcs-test$(EXESUF): tests/ipmi-kcs-test.o
tests/ipmi-bt-test$(EXESUF): tests/ipmi-bt-test.o
613
tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o
614
tests/boot-order-test$(EXESUF): tests/boot-order-test.o $(libqos-obj-y)
615
tests/boot-serial-test$(EXESUF): tests/boot-serial-test.o $(libqos-obj-y)
616 617 618
tests/bios-tables-test$(EXESUF): tests/bios-tables-test.o \
	tests/boot-sector.o $(libqos-obj-y)
tests/pxe-test$(EXESUF): tests/pxe-test.o tests/boot-sector.o $(libqos-obj-y)
A
Andreas Färber 已提交
619
tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y)
620
tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y)
621
tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y)
G
Gerd Hoffmann 已提交
622
tests/q35-test$(EXESUF): tests/q35-test.o $(libqos-pc-obj-y)
A
Anthony Liguori 已提交
623
tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
624
tests/e1000-test$(EXESUF): tests/e1000-test.o
625
tests/e1000e-test$(EXESUF): tests/e1000e-test.o $(libqos-pc-obj-y)
626
tests/rtl8139-test$(EXESUF): tests/rtl8139-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
627
tests/pcnet-test$(EXESUF): tests/pcnet-test.o
A
Andreas Färber 已提交
628
tests/eepro100-test$(EXESUF): tests/eepro100-test.o
A
Andreas Färber 已提交
629
tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o
A
Andreas Färber 已提交
630
tests/ne2000-test$(EXESUF): tests/ne2000-test.o
P
Paolo Bonzini 已提交
631
tests/wdt_ib700-test$(EXESUF): tests/wdt_ib700-test.o
632
tests/tco-test$(EXESUF): tests/tco-test.o $(libqos-pc-obj-y)
633
tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o
634
tests/virtio-blk-test$(EXESUF): tests/virtio-blk-test.o $(libqos-virtio-obj-y)
635
tests/virtio-net-test$(EXESUF): tests/virtio-net-test.o $(libqos-pc-obj-y) $(libqos-virtio-obj-y)
636
tests/virtio-rng-test$(EXESUF): tests/virtio-rng-test.o $(libqos-pc-obj-y)
637
tests/virtio-scsi-test$(EXESUF): tests/virtio-scsi-test.o $(libqos-virtio-obj-y)
638
tests/virtio-9p-test$(EXESUF): tests/virtio-9p-test.o $(libqos-virtio-obj-y)
A
Andreas Färber 已提交
639
tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o
640
tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o
A
Andreas Färber 已提交
641
tests/tpci200-test$(EXESUF): tests/tpci200-test.o
G
Gerd Hoffmann 已提交
642
tests/display-vga-test$(EXESUF): tests/display-vga-test.o
A
Andreas Färber 已提交
643
tests/ipoctal232-test$(EXESUF): tests/ipoctal232-test.o
A
Andreas Färber 已提交
644
tests/qom-test$(EXESUF): tests/qom-test.o
645
tests/drive_del-test$(EXESUF): tests/drive_del-test.o $(libqos-pc-obj-y)
646
tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
647
tests/nvme-test$(EXESUF): tests/nvme-test.o
A
Andreas Färber 已提交
648
tests/pvpanic-test$(EXESUF): tests/pvpanic-test.o
A
Andreas Färber 已提交
649
tests/i82801b11-test$(EXESUF): tests/i82801b11-test.o
A
Andreas Färber 已提交
650
tests/ac97-test$(EXESUF): tests/ac97-test.o
A
Andreas Färber 已提交
651
tests/es1370-test$(EXESUF): tests/es1370-test.o
A
Andreas Färber 已提交
652
tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
A
Andreas Färber 已提交
653
tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
654
tests/usb-hcd-ohci-test$(EXESUF): tests/usb-hcd-ohci-test.o $(libqos-usb-obj-y)
655
tests/usb-hcd-uhci-test$(EXESUF): tests/usb-hcd-uhci-test.o $(libqos-usb-obj-y)
656
tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-usb-obj-y)
657
tests/usb-hcd-xhci-test$(EXESUF): tests/usb-hcd-xhci-test.o $(libqos-usb-obj-y)
A
Andreas Färber 已提交
658
tests/pc-cpu-test$(EXESUF): tests/pc-cpu-test.o
D
Dr. David Alan Gilbert 已提交
659
tests/postcopy-test$(EXESUF): tests/postcopy-test.o
660
tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y) $(test-io-obj-y) $(libqos-virtio-obj-y) $(libqos-pc-obj-y)
661
tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o
662 663
tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o $(test-util-obj-y)
tests/test-write-threshold$(EXESUF): tests/test-write-threshold.o $(test-block-obj-y)
664
tests/test-netfilter$(EXESUF): tests/test-netfilter.o $(qtest-obj-y)
665
tests/test-filter-mirror$(EXESUF): tests/test-filter-mirror.o $(qtest-obj-y)
666
tests/test-filter-redirector$(EXESUF): tests/test-filter-redirector.o $(qtest-obj-y)
667
tests/test-x86-cpuid-compat$(EXESUF): tests/test-x86-cpuid-compat.o $(qtest-obj-y)
M
Marc-André Lureau 已提交
668
tests/ivshmem-test$(EXESUF): tests/ivshmem-test.o contrib/ivshmem-server/ivshmem-server.o $(libqos-pc-obj-y)
669
tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o
D
Dmitry Osipenko 已提交
670
tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o
F
Fam Zheng 已提交
671
tests/test-uuid$(EXESUF): tests/test-uuid.o $(test-util-obj-y)
B
Blue Swirl 已提交
672

673 674 675 676 677 678 679 680 681 682 683 684
tests/migration/stress$(EXESUF): tests/migration/stress.o
	$(call quiet-command, $(LINKPROG) -static -O3 $(PTHREAD_LIB) -o $@ $< ,"  LINK  $(TARGET_DIR)$@")

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 已提交
685 686 687
ifeq ($(CONFIG_POSIX),y)
LIBS += -lutil
endif
N
Nikolay Nikolaev 已提交
688

689 690 691
# QTest rules

TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS)))
692
ifeq ($(CONFIG_POSIX),y)
M
Markus Armbruster 已提交
693
QTEST_TARGETS = $(TARGETS)
694
check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y))
M
Markus Armbruster 已提交
695 696 697
check-qtest-y += $(check-qtest-generic-y)
else
QTEST_TARGETS =
698
endif
699

700
qtest-obj-y = tests/libqtest.o $(test-util-obj-y)
701 702
$(check-qtest-y): $(qtest-obj-y)

703 704
tests/test-qga: tests/test-qga.o $(qtest-obj-y)

P
Paolo Bonzini 已提交
705 706 707 708 709
.PHONY: check-help
check-help:
	@echo "Regression testing targets:"
	@echo
	@echo " make check                Run all tests"
710 711
	@echo " make check-qtest-TARGET   Run qtest tests for given target"
	@echo " make check-qtest          Run qtest tests"
P
Paolo Bonzini 已提交
712
	@echo " make check-unit           Run qobject tests"
713
	@echo " make check-qapi-schema    Run QAPI schema tests"
P
Paolo Bonzini 已提交
714 715
	@echo " make check-block          Run block tests"
	@echo " make check-report.html    Generates an HTML test report"
W
Wenchao Xia 已提交
716
	@echo " make check-clean          Clean the tests"
P
Paolo Bonzini 已提交
717 718 719 720 721 722 723
	@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."
	@echo "Default options are -k and (for make V=1) --verbose; they can be"
	@echo "changed with variable GTESTER_OPTIONS."
724

P
Paolo Bonzini 已提交
725 726
SPEED = quick
GTESTER_OPTIONS = -k $(if $(V),--verbose,-q)
B
Blue Swirl 已提交
727
GCOV_OPTIONS = -n $(if $(V),-f,)
728

P
Paolo Bonzini 已提交
729
# gtester tests, possibly with verbose output
730

731 732
.PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS))
$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y)
B
Blue Swirl 已提交
733
	$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
734
	$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
735
		QTEST_QEMU_IMG=qemu-img$(EXESUF) \
736
		MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
M
Markus Armbruster 已提交
737
		gtester $(GTESTER_OPTIONS) -m=$(SPEED) $(check-qtest-$*-y) $(check-qtest-generic-y),"GTESTER $@")
738
	$(if $(CONFIG_GCOV),@for f in $(gcov-files-$*-y) $(gcov-files-generic-y); do \
B
Blue Swirl 已提交
739 740 741
	  echo Gcov report for $$f:;\
	  $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \
	done,)
742

P
Paolo Bonzini 已提交
743 744
.PHONY: $(patsubst %, check-%, $(check-unit-y))
$(patsubst %, check-%, $(check-unit-y)): check-%: %
B
Blue Swirl 已提交
745
	$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
746 747 748
	$(call quiet-command, \
		MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
		gtester $(GTESTER_OPTIONS) -m=$(SPEED) $*,"GTESTER $*")
749
	$(if $(CONFIG_GCOV),@for f in $(gcov-files-$(subst tests/,,$*)-y) $(gcov-files-generic-y); do \
B
Blue Swirl 已提交
750 751 752
	  echo Gcov report for $$f:;\
	  $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \
	done,)
753

P
Paolo Bonzini 已提交
754
# gtester tests with XML output
K
Kevin Wolf 已提交
755

756 757
$(patsubst %, check-report-qtest-%.xml, $(QTEST_TARGETS)): check-report-qtest-%.xml: $(check-qtest-y)
	$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
758
		QTEST_QEMU_IMG=qemu-img$(EXESUF) \
759
	  gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $(check-qtest-$*-y) $(check-qtest-generic-y),"GTESTER $@")
760

P
Paolo Bonzini 已提交
761 762
check-report-unit.xml: $(check-unit-y)
	$(call quiet-command,gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $^, "GTESTER $@")
K
Kevin Wolf 已提交
763

P
Paolo Bonzini 已提交
764
# Reports and overall runs
K
Kevin Wolf 已提交
765

766
check-report.xml: $(patsubst %,check-report-qtest-%.xml, $(QTEST_TARGETS)) check-report-unit.xml
S
Stefan Weil 已提交
767
	$(call quiet-command,$(SRC_PATH)/scripts/gtester-cat $^ > $@, "  GEN   $@")
K
Kevin Wolf 已提交
768

P
Paolo Bonzini 已提交
769
check-report.html: check-report.xml
S
Stefan Weil 已提交
770
	$(call quiet-command,gtester-report $< > $@, "  GEN   $@")
P
Paolo Bonzini 已提交
771 772 773 774


# Other tests

775 776
QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF)

P
Paolo Bonzini 已提交
777
.PHONY: check-tests/qemu-iotests-quick.sh
778
check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y)
P
Paolo Bonzini 已提交
779 780
	$<

781 782 783 784 785
.PHONY: check-tests/test-qapi.py
check-tests/test-qapi.py: tests/test-qapi.py

.PHONY: $(patsubst %, check-%, $(check-qapi-schema-y))
$(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
786 787
	$(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts \
		$(PYTHON) $(SRC_PATH)/tests/qapi-schema/test-qapi.py \
788
		$^ >$*.test.out 2>$*.test.err; \
789 790
		echo $$? >$*.test.exit, \
		"  TEST  $*.out")
791
	@diff -q $(SRC_PATH)/$*.out $*.test.out
792 793
	@# Sanitize error messages (make them independent of build directory)
	@perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff -q $(SRC_PATH)/$*.err -
794
	@diff -q $(SRC_PATH)/$*.exit $*.test.exit
795

P
Paolo Bonzini 已提交
796 797
# Consolidated targets

W
Wenchao Xia 已提交
798
.PHONY: check-qapi-schema check-qtest check-unit check check-clean
799
check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y))
800
check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS))
P
Paolo Bonzini 已提交
801 802
check-unit: $(patsubst %,check-%, $(check-unit-y))
check-block: $(patsubst %,check-%, $(check-block-y))
803
check: check-qapi-schema check-unit check-qtest
W
Wenchao Xia 已提交
804 805
check-clean:
	$(MAKE) -C tests/tcg clean
A
Andreas Färber 已提交
806
	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
807
	rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
W
Wenchao Xia 已提交
808 809

clean: check-clean
810

811 812 813 814
# Build the help program automatically

all: $(QEMU_IOTESTS_HELPERS-y)

815
-include $(wildcard tests/*.d)
A
Anthony Liguori 已提交
816
-include $(wildcard tests/libqos/*.d)