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

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

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

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

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

135 136 137
check-qtest-virtioserial-y += tests/virtio-console-test$(EXESUF)
gcov-files-virtioserial-y += hw/char/virtio-console.c

A
Andreas Färber 已提交
138 139 140
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
141 142
check-qtest-virtio-y += tests/virtio-balloon-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/virtio/virtio-balloon.c
A
Andreas Färber 已提交
143 144
check-qtest-virtio-y += tests/virtio-blk-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/block/virtio-blk.c
A
Andreas Färber 已提交
145 146
check-qtest-virtio-y += tests/virtio-rng-test$(EXESUF)
gcov-files-virtio-y += hw/virtio/virtio-rng.c
A
Andreas Färber 已提交
147 148
check-qtest-virtio-y += tests/virtio-scsi-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/scsi/virtio-scsi.c
A
Andreas Färber 已提交
149 150 151 152 153
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 已提交
154 155
check-qtest-virtio-y += tests/virtio-serial-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/char/virtio-serial-bus.c
156 157
check-qtest-virtio-y += $(check-qtest-virtioserial-y)
gcov-files-virtio-y += $(gcov-files-virtioserial-y)
A
Andreas Färber 已提交
158

A
Andreas Färber 已提交
159 160
check-qtest-pci-y += tests/e1000-test$(EXESUF)
gcov-files-pci-y += hw/net/e1000.c
161 162
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 已提交
163 164
check-qtest-pci-y += tests/rtl8139-test$(EXESUF)
gcov-files-pci-y += hw/net/rtl8139.c
A
Andreas Färber 已提交
165 166 167
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 已提交
168 169
check-qtest-pci-y += tests/eepro100-test$(EXESUF)
gcov-files-pci-y += hw/net/eepro100.c
A
Andreas Färber 已提交
170 171
check-qtest-pci-y += tests/ne2000-test$(EXESUF)
gcov-files-pci-y += hw/net/ne2000.c
A
Andreas Färber 已提交
172 173
check-qtest-pci-y += tests/nvme-test$(EXESUF)
gcov-files-pci-y += hw/block/nvme.c
A
Andreas Färber 已提交
174 175
check-qtest-pci-y += tests/ac97-test$(EXESUF)
gcov-files-pci-y += hw/audio/ac97.c
A
Andreas Färber 已提交
176 177
check-qtest-pci-y += tests/es1370-test$(EXESUF)
gcov-files-pci-y += hw/audio/es1370.c
A
Andreas Färber 已提交
178 179
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 已提交
180
check-qtest-pci-y += tests/tpci200-test$(EXESUF)
181
gcov-files-pci-y += hw/ipack/tpci200.c
A
Andreas Färber 已提交
182
check-qtest-pci-y += $(check-qtest-ipack-y)
183
gcov-files-pci-y += $(gcov-files-ipack-y)
G
Gerd Hoffmann 已提交
184 185 186 187
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
188 189 190
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 已提交
191 192
check-qtest-pci-y += tests/intel-hda-test$(EXESUF)
gcov-files-pci-y += hw/audio/intel-hda.c hw/audio/hda-codec.c
193
check-qtest-pci-$(CONFIG_EVENTFD) += tests/ivshmem-test$(EXESUF)
A
Andreas Färber 已提交
194
gcov-files-pci-y += hw/misc/ivshmem.c
A
Andreas Färber 已提交
195

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

254 255
check-qtest-alpha-y = tests/boot-serial-test$(EXESUF)

256
check-qtest-mips-y = tests/endianness-test$(EXESUF)
257

258
check-qtest-mips64-y = tests/endianness-test$(EXESUF)
259

260
check-qtest-mips64el-y = tests/endianness-test$(EXESUF)
261

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

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)
273
check-qtest-ppc64-y += tests/pnv-xscom-test$(EXESUF)
274 275
check-qtest-ppc64-y += tests/drive_del-test$(EXESUF)
check-qtest-ppc64-y += tests/postcopy-test$(EXESUF)
276
check-qtest-ppc64-y += tests/boot-serial-test$(EXESUF)
277
check-qtest-ppc64-y += tests/rtas-test$(EXESUF)
278
check-qtest-ppc64-y += tests/pxe-test$(EXESUF)
279 280 281 282 283 284
check-qtest-ppc64-y += tests/usb-hcd-ohci-test$(EXESUF)
gcov-files-ppc64-y += hw/usb/hcd-ohci.c
check-qtest-ppc64-y += tests/usb-hcd-uhci-test$(EXESUF)
gcov-files-ppc64-y += hw/usb/hcd-uhci.c
check-qtest-ppc64-y += tests/usb-hcd-xhci-test$(EXESUF)
gcov-files-ppc64-y += hw/usb/hcd-xhci.c
285
check-qtest-ppc64-y += $(check-qtest-virtio-y)
286

287
check-qtest-sh4-y = tests/endianness-test$(EXESUF)
288

289
check-qtest-sh4eb-y = tests/endianness-test$(EXESUF)
290 291 292 293 294

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

295 296
check-qtest-sparc64-y = tests/endianness-test$(EXESUF)
#check-qtest-sparc64-y += tests/m48t59-test$(EXESUF)
297 298 299 300
#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)

301
check-qtest-arm-y = tests/tmp105-test$(EXESUF)
T
Thomas Huth 已提交
302
check-qtest-arm-y += tests/ds1338-test$(EXESUF)
C
Cédric Le Goater 已提交
303
check-qtest-arm-y += tests/m25p80-test$(EXESUF)
304
gcov-files-arm-y += hw/misc/tmp105.c
M
Marc Marí 已提交
305 306
check-qtest-arm-y += tests/virtio-blk-test$(EXESUF)
gcov-files-arm-y += arm-softmmu/hw/block/virtio-blk.c
307 308
check-qtest-arm-y += tests/test-arm-mptimer$(EXESUF)
gcov-files-arm-y += hw/timer/arm_mptimer.c
309

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

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

314 315
check-qtest-s390x-y = tests/boot-serial-test$(EXESUF)

M
Markus Armbruster 已提交
316
check-qtest-generic-y += tests/qom-test$(EXESUF)
317

318
qapi-schema += alternate-any.json
E
Eric Blake 已提交
319 320 321 322 323
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 已提交
324
qapi-schema += alternate-empty.json
E
Eric Blake 已提交
325 326 327 328 329 330
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
331 332 333 334
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 已提交
335 336 337
qapi-schema += args-int.json
qapi-schema += args-invalid.json
qapi-schema += args-member-array-bad.json
338
qapi-schema += args-member-case.json
E
Eric Blake 已提交
339
qapi-schema += args-member-unknown.json
340
qapi-schema += args-name-clash.json
E
Eric Blake 已提交
341 342 343 344 345 346 347 348
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 已提交
349 350
qapi-schema += base-cycle-direct.json
qapi-schema += base-cycle-indirect.json
E
Eric Blake 已提交
351 352 353 354 355 356 357 358 359 360 361
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
362
qapi-schema += enum-member-case.json
E
Eric Blake 已提交
363 364 365 366 367
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
368
qapi-schema += event-boxed-empty.json
E
Eric Blake 已提交
369 370 371 372 373 374 375
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
376
qapi-schema += flat-union-clash-member.json
E
Eric Blake 已提交
377
qapi-schema += flat-union-empty.json
378
qapi-schema += flat-union-incomplete-branch.json
E
Eric Blake 已提交
379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412
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
413
qapi-schema += reserved-command-q.json
414
qapi-schema += reserved-enum-q.json
415 416
qapi-schema += reserved-member-has.json
qapi-schema += reserved-member-q.json
E
Eric Blake 已提交
417
qapi-schema += reserved-member-u.json
418
qapi-schema += reserved-member-underscore.json
419 420
qapi-schema += reserved-type-kind.json
qapi-schema += reserved-type-list.json
E
Eric Blake 已提交
421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437
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
438
qapi-schema += union-branch-case.json
439
qapi-schema += union-clash-branches.json
E
Eric Blake 已提交
440
qapi-schema += union-empty.json
E
Eric Blake 已提交
441 442 443 444 445 446
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))
447

448
GENERATED_HEADERS += tests/test-qapi-types.h tests/test-qapi-visit.h \
449 450
	tests/test-qmp-commands.h tests/test-qapi-event.h \
	tests/test-qmp-introspect.h
P
Paolo Bonzini 已提交
451 452

test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \
E
Eric Blake 已提交
453 454
	tests/check-qlist.o tests/check-qfloat.o tests/check-qnull.o \
	tests/check-qjson.o \
P
Paolo Bonzini 已提交
455
	tests/test-coroutine.o tests/test-string-output-visitor.o \
456
	tests/test-string-input-visitor.o tests/test-qobject-output-visitor.o \
E
Eric Blake 已提交
457
	tests/test-clone-visitor.o \
458
	tests/test-qobject-input-visitor.o tests/test-qobject-input-strict.o \
459
	tests/test-qmp-commands.o tests/test-visitor-serialization.o \
460
	tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \
P
Paolo Bonzini 已提交
461
	tests/test-opts-visitor.o tests/test-qmp-event.o \
E
Emilio G. Cota 已提交
462
	tests/rcutorture.o tests/test-rcu-list.o \
E
Emilio G. Cota 已提交
463
	tests/test-qdist.o \
E
Emilio G. Cota 已提交
464 465
	tests/test-qht.o tests/qht-bench.o tests/test-qht-par.o \
	tests/atomic_add-bench.o
P
Paolo Bonzini 已提交
466 467

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

470 471 472

# Deps that are common to various different sets of tests below
test-util-obj-y = libqemuutil.a libqemustub.a
473
test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y)
474
test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
475
	tests/test-qapi-event.o tests/test-qmp-introspect.o \
476
	$(test-qom-obj-y)
477
test-crypto-obj-y = $(crypto-obj-y) $(test-qom-obj-y)
478
test-io-obj-y = $(io-obj-y) $(test-crypto-obj-y)
479
test-block-obj-y = $(block-obj-y) $(test-io-obj-y)
480 481 482 483 484 485

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 已提交
486
tests/check-qnull$(EXESUF): tests/check-qnull.o $(test-util-obj-y)
487 488 489
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)
490 491

tests/test-char$(EXESUF): tests/test-char.o qemu-char.o qemu-timer.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y)
492 493 494
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-throttle$(EXESUF): tests/test-throttle.o $(test-block-obj-y)
A
Alberto Garcia 已提交
495
tests/test-blockjob$(EXESUF): tests/test-blockjob.o $(test-block-obj-y) $(test-util-obj-y)
S
Stefan Hajnoczi 已提交
496
tests/test-blockjob-txn$(EXESUF): tests/test-blockjob-txn.o $(test-block-obj-y) $(test-util-obj-y)
497 498 499
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)
500
tests/test-x86-cpuid$(EXESUF): tests/test-x86-cpuid.o
501
tests/test-xbzrle$(EXESUF): tests/test-xbzrle.o migration/xbzrle.o page_cache.o $(test-util-obj-y)
502
tests/test-cutils$(EXESUF): tests/test-cutils.o util/cutils.o
503
tests/test-int128$(EXESUF): tests/test-int128.o
504 505
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 已提交
506
tests/test-qdist$(EXESUF): tests/test-qdist.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
507
tests/test-qht$(EXESUF): tests/test-qht.o $(test-util-obj-y)
508
tests/test-qht-par$(EXESUF): tests/test-qht-par.o tests/qht-bench$(EXESUF) $(test-util-obj-y)
509
tests/qht-bench$(EXESUF): tests/qht-bench.o $(test-util-obj-y)
510
tests/test-bufferiszero$(EXESUF): tests/test-bufferiszero.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
511
tests/atomic_add-bench$(EXESUF): tests/atomic_add-bench.o $(test-util-obj-y)
P
Paolo Bonzini 已提交
512

513
tests/test-qdev-global-props$(EXESUF): tests/test-qdev-global-props.o \
514
	hw/core/qdev.o hw/core/qdev-properties.o hw/core/hotplug.o\
515
	hw/core/bus.o \
516
	hw/core/irq.o \
517
	hw/core/fw-path-provider.o \
518
	$(test-qapi-obj-y)
519
tests/test-vmstate$(EXESUF): tests/test-vmstate.o \
520
	migration/vmstate.o migration/qemu-file.o \
521 522
        migration/qemu-file-channel.o migration/qjson.o \
	$(test-io-obj-y)
523
tests/test-timed-average$(EXESUF): tests/test-timed-average.o qemu-timer.o \
524
	$(test-util-obj-y)
525 526
tests/test-base64$(EXESUF): tests/test-base64.o \
	libqemuutil.a libqemustub.a
P
Paolo Bonzini 已提交
527
tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o libqemustub.a
P
Paolo Bonzini 已提交
528

529 530
tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y)

531 532 533
tests/test-replication$(EXESUF): tests/test-replication.o $(test-util-obj-y) \
	$(test-block-obj-y)

P
Paolo Bonzini 已提交
534
tests/test-qapi-types.c tests/test-qapi-types.h :\
535
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
536
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py \
537
		$(gen-out-type) -o tests -p "test-" $<, \
538
		"GEN","$@")
P
Paolo Bonzini 已提交
539
tests/test-qapi-visit.c tests/test-qapi-visit.h :\
540
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py)
541
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py \
542
		$(gen-out-type) -o tests -p "test-" $<, \
543
		"GEN","$@")
P
Paolo Bonzini 已提交
544
tests/test-qmp-commands.h tests/test-qmp-marshal.c :\
545
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
546
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py \
547
		$(gen-out-type) -o tests -p "test-" $<, \
548
		"GEN","$@")
549
tests/test-qapi-event.c tests/test-qapi-event.h :\
550
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-event.py $(qapi-py)
551
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-event.py \
552
		$(gen-out-type) -o tests -p "test-" $<, \
553
		"GEN","$@")
554 555 556 557
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-" $<, \
558
		"GEN","$@")
559

560 561 562
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)
563
tests/test-qobject-output-visitor$(EXESUF): tests/test-qobject-output-visitor.o $(test-qapi-obj-y)
E
Eric Blake 已提交
564
tests/test-clone-visitor$(EXESUF): tests/test-clone-visitor.o $(test-qapi-obj-y)
565 566
tests/test-qobject-input-visitor$(EXESUF): tests/test-qobject-input-visitor.o $(test-qapi-obj-y)
tests/test-qobject-input-strict$(EXESUF): tests/test-qobject-input-strict.o $(test-qapi-obj-y)
567 568 569
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)
570

571 572
tests/test-mul64$(EXESUF): tests/test-mul64.o $(test-util-obj-y)
tests/test-bitops$(EXESUF): tests/test-bitops.o $(test-util-obj-y)
573 574
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)
575
tests/test-crypto-secret$(EXESUF): tests/test-crypto-secret.o $(test-crypto-obj-y)
576
tests/test-crypto-xts$(EXESUF): tests/test-crypto-xts.o $(test-crypto-obj-y)
577 578 579 580 581 582

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)
583 584
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)
585 586

tests/test-crypto-tlssession.o-cflags := $(TASN1_CFLAGS)
587 588
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)
589
tests/test-io-task$(EXESUF): tests/test-io-task.o $(test-io-obj-y)
590 591
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 已提交
592 593
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 已提交
594 595 596
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)
597 598
tests/test-io-channel-command$(EXESUF): tests/test-io-channel-command.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
599 600
tests/test-io-channel-buffer$(EXESUF): tests/test-io-channel-buffer.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
601
tests/test-crypto-pbkdf$(EXESUF): tests/test-crypto-pbkdf.o $(test-crypto-obj-y)
602
tests/test-crypto-ivgen$(EXESUF): tests/test-crypto-ivgen.o $(test-crypto-obj-y)
603
tests/test-crypto-afsplit$(EXESUF): tests/test-crypto-afsplit.o $(test-crypto-obj-y)
604
tests/test-crypto-block$(EXESUF): tests/test-crypto-block.o $(test-crypto-obj-y)
605

606
libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o tests/libqos/malloc.o
J
John Snow 已提交
607
libqos-obj-y += tests/libqos/i2c.o tests/libqos/libqos.o
608 609
libqos-spapr-obj-y = $(libqos-obj-y) tests/libqos/malloc-spapr.o
libqos-spapr-obj-y += tests/libqos/libqos-spapr.o
610
libqos-spapr-obj-y += tests/libqos/rtas.o
L
Laurent Vivier 已提交
611
libqos-spapr-obj-y += tests/libqos/pci-spapr.o
612
libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o
J
John Snow 已提交
613
libqos-pc-obj-y += tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o
J
John Snow 已提交
614
libqos-pc-obj-y += tests/libqos/ahci.o
A
Andreas Färber 已提交
615
libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o
616
libqos-imx-obj-y = $(libqos-obj-y) tests/libqos/i2c-imx.o
617
libqos-usb-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/usb.o
618
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
619

620
tests/device-introspect-test$(EXESUF): tests/device-introspect-test.o
621 622
tests/rtc-test$(EXESUF): tests/rtc-test.o
tests/m48t59-test$(EXESUF): tests/m48t59-test.o
623
tests/endianness-test$(EXESUF): tests/endianness-test.o
624
tests/spapr-phb-test$(EXESUF): tests/spapr-phb-test.o $(libqos-obj-y)
625
tests/prom-env-test$(EXESUF): tests/prom-env-test.o $(libqos-obj-y)
626
tests/rtas-test$(EXESUF): tests/rtas-test.o $(libqos-spapr-obj-y)
627
tests/fdc-test$(EXESUF): tests/fdc-test.o
K
Kevin Wolf 已提交
628
tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y)
J
John Snow 已提交
629
tests/ahci-test$(EXESUF): tests/ahci-test.o $(libqos-pc-obj-y)
C
Corey Minyard 已提交
630 631
tests/ipmi-kcs-test$(EXESUF): tests/ipmi-kcs-test.o
tests/ipmi-bt-test$(EXESUF): tests/ipmi-bt-test.o
632
tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o
633
tests/boot-order-test$(EXESUF): tests/boot-order-test.o $(libqos-obj-y)
634
tests/boot-serial-test$(EXESUF): tests/boot-serial-test.o $(libqos-obj-y)
635 636 637
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 已提交
638
tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y)
639
tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y)
C
Cédric Le Goater 已提交
640
tests/m25p80-test$(EXESUF): tests/m25p80-test.o
641
tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y)
G
Gerd Hoffmann 已提交
642
tests/q35-test$(EXESUF): tests/q35-test.o $(libqos-pc-obj-y)
A
Anthony Liguori 已提交
643
tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
644
tests/e1000-test$(EXESUF): tests/e1000-test.o
645
tests/e1000e-test$(EXESUF): tests/e1000e-test.o $(libqos-pc-obj-y)
646
tests/rtl8139-test$(EXESUF): tests/rtl8139-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
647
tests/pcnet-test$(EXESUF): tests/pcnet-test.o
648
tests/pnv-xscom-test$(EXESUF): tests/pnv-xscom-test.o
A
Andreas Färber 已提交
649
tests/eepro100-test$(EXESUF): tests/eepro100-test.o
A
Andreas Färber 已提交
650
tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o
A
Andreas Färber 已提交
651
tests/ne2000-test$(EXESUF): tests/ne2000-test.o
P
Paolo Bonzini 已提交
652
tests/wdt_ib700-test$(EXESUF): tests/wdt_ib700-test.o
653
tests/tco-test$(EXESUF): tests/tco-test.o $(libqos-pc-obj-y)
654
tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o
655
tests/virtio-blk-test$(EXESUF): tests/virtio-blk-test.o $(libqos-virtio-obj-y)
656
tests/virtio-net-test$(EXESUF): tests/virtio-net-test.o $(libqos-pc-obj-y) $(libqos-virtio-obj-y)
657
tests/virtio-rng-test$(EXESUF): tests/virtio-rng-test.o $(libqos-pc-obj-y)
658
tests/virtio-scsi-test$(EXESUF): tests/virtio-scsi-test.o $(libqos-virtio-obj-y)
659
tests/virtio-9p-test$(EXESUF): tests/virtio-9p-test.o $(libqos-virtio-obj-y)
A
Andreas Färber 已提交
660
tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o
661
tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o
A
Andreas Färber 已提交
662
tests/tpci200-test$(EXESUF): tests/tpci200-test.o
G
Gerd Hoffmann 已提交
663
tests/display-vga-test$(EXESUF): tests/display-vga-test.o
A
Andreas Färber 已提交
664
tests/ipoctal232-test$(EXESUF): tests/ipoctal232-test.o
A
Andreas Färber 已提交
665
tests/qom-test$(EXESUF): tests/qom-test.o
666
tests/drive_del-test$(EXESUF): tests/drive_del-test.o $(libqos-pc-obj-y)
667
tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
668
tests/nvme-test$(EXESUF): tests/nvme-test.o
A
Andreas Färber 已提交
669
tests/pvpanic-test$(EXESUF): tests/pvpanic-test.o
A
Andreas Färber 已提交
670
tests/i82801b11-test$(EXESUF): tests/i82801b11-test.o
A
Andreas Färber 已提交
671
tests/ac97-test$(EXESUF): tests/ac97-test.o
A
Andreas Färber 已提交
672
tests/es1370-test$(EXESUF): tests/es1370-test.o
A
Andreas Färber 已提交
673
tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
A
Andreas Färber 已提交
674
tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
675
tests/usb-hcd-ohci-test$(EXESUF): tests/usb-hcd-ohci-test.o $(libqos-usb-obj-y)
676
tests/usb-hcd-uhci-test$(EXESUF): tests/usb-hcd-uhci-test.o $(libqos-usb-obj-y)
677
tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-usb-obj-y)
678
tests/usb-hcd-xhci-test$(EXESUF): tests/usb-hcd-xhci-test.o $(libqos-usb-obj-y)
A
Andreas Färber 已提交
679
tests/pc-cpu-test$(EXESUF): tests/pc-cpu-test.o
D
Dr. David Alan Gilbert 已提交
680
tests/postcopy-test$(EXESUF): tests/postcopy-test.o
681
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)
682
tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o
683 684
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)
685
tests/test-netfilter$(EXESUF): tests/test-netfilter.o $(qtest-obj-y)
686
tests/test-filter-mirror$(EXESUF): tests/test-filter-mirror.o $(qtest-obj-y)
687
tests/test-filter-redirector$(EXESUF): tests/test-filter-redirector.o $(qtest-obj-y)
688
tests/test-x86-cpuid-compat$(EXESUF): tests/test-x86-cpuid-compat.o $(qtest-obj-y)
M
Marc-André Lureau 已提交
689
tests/ivshmem-test$(EXESUF): tests/ivshmem-test.o contrib/ivshmem-server/ivshmem-server.o $(libqos-pc-obj-y)
690
tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o
F
Fam Zheng 已提交
691
tests/test-uuid$(EXESUF): tests/test-uuid.o $(test-util-obj-y)
692
tests/test-arm-mptimer$(EXESUF): tests/test-arm-mptimer.o
B
Blue Swirl 已提交
693

694
tests/migration/stress$(EXESUF): tests/migration/stress.o
695
	$(call quiet-command, $(LINKPROG) -static -O3 $(PTHREAD_LIB) -o $@ $< ,"LINK","$(TARGET_DIR)$@")
696 697 698 699 700 701 702 703 704 705

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 已提交
706 707 708
ifeq ($(CONFIG_POSIX),y)
LIBS += -lutil
endif
N
Nikolay Nikolaev 已提交
709

710 711 712
# QTest rules

TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS)))
713
ifeq ($(CONFIG_POSIX),y)
M
Markus Armbruster 已提交
714
QTEST_TARGETS = $(TARGETS)
715
check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y))
M
Markus Armbruster 已提交
716 717 718
check-qtest-y += $(check-qtest-generic-y)
else
QTEST_TARGETS =
719
endif
720

721
qtest-obj-y = tests/libqtest.o $(test-util-obj-y)
722 723
$(check-qtest-y): $(qtest-obj-y)

724 725
tests/test-qga: tests/test-qga.o $(qtest-obj-y)

P
Paolo Bonzini 已提交
726 727 728 729 730
.PHONY: check-help
check-help:
	@echo "Regression testing targets:"
	@echo
	@echo " make check                Run all tests"
731 732
	@echo " make check-qtest-TARGET   Run qtest tests for given target"
	@echo " make check-qtest          Run qtest tests"
P
Paolo Bonzini 已提交
733
	@echo " make check-unit           Run qobject tests"
734
	@echo " make check-qapi-schema    Run QAPI schema tests"
P
Paolo Bonzini 已提交
735 736
	@echo " make check-block          Run block tests"
	@echo " make check-report.html    Generates an HTML test report"
W
Wenchao Xia 已提交
737
	@echo " make check-clean          Clean the tests"
P
Paolo Bonzini 已提交
738 739 740 741 742 743 744
	@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."
745

P
Paolo Bonzini 已提交
746 747
SPEED = quick
GTESTER_OPTIONS = -k $(if $(V),--verbose,-q)
B
Blue Swirl 已提交
748
GCOV_OPTIONS = -n $(if $(V),-f,)
749

P
Paolo Bonzini 已提交
750
# gtester tests, possibly with verbose output
751

752 753
.PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS))
$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y)
B
Blue Swirl 已提交
754
	$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
755
	$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
756
		QTEST_QEMU_IMG=qemu-img$(EXESUF) \
757
		MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
758
		gtester $(GTESTER_OPTIONS) -m=$(SPEED) $(check-qtest-$*-y) $(check-qtest-generic-y),"GTESTER","$@")
759
	$(if $(CONFIG_GCOV),@for f in $(gcov-files-$*-y) $(gcov-files-generic-y); do \
B
Blue Swirl 已提交
760 761 762
	  echo Gcov report for $$f:;\
	  $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \
	done,)
763

P
Paolo Bonzini 已提交
764 765
.PHONY: $(patsubst %, check-%, $(check-unit-y))
$(patsubst %, check-%, $(check-unit-y)): check-%: %
B
Blue Swirl 已提交
766
	$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
767 768
	$(call quiet-command, \
		MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
769
		gtester $(GTESTER_OPTIONS) -m=$(SPEED) $*,"GTESTER","$*")
770
	$(if $(CONFIG_GCOV),@for f in $(gcov-files-$(subst tests/,,$*)-y) $(gcov-files-generic-y); do \
B
Blue Swirl 已提交
771 772 773
	  echo Gcov report for $$f:;\
	  $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \
	done,)
774

P
Paolo Bonzini 已提交
775
# gtester tests with XML output
K
Kevin Wolf 已提交
776

777 778
$(patsubst %, check-report-qtest-%.xml, $(QTEST_TARGETS)): check-report-qtest-%.xml: $(check-qtest-y)
	$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
779
		QTEST_QEMU_IMG=qemu-img$(EXESUF) \
780
	  gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $(check-qtest-$*-y) $(check-qtest-generic-y),"GTESTER","$@")
781

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

P
Paolo Bonzini 已提交
785
# Reports and overall runs
K
Kevin Wolf 已提交
786

787
check-report.xml: $(patsubst %,check-report-qtest-%.xml, $(QTEST_TARGETS)) check-report-unit.xml
788
	$(call quiet-command,$(SRC_PATH)/scripts/gtester-cat $^ > $@,"GEN","$@")
K
Kevin Wolf 已提交
789

P
Paolo Bonzini 已提交
790
check-report.html: check-report.xml
791
	$(call quiet-command,gtester-report $< > $@,"GEN","$@")
P
Paolo Bonzini 已提交
792 793 794 795


# Other tests

796 797
QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF)

P
Paolo Bonzini 已提交
798
.PHONY: check-tests/qemu-iotests-quick.sh
799
check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y)
P
Paolo Bonzini 已提交
800 801
	$<

802 803 804 805 806
.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
807 808
	$(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts \
		$(PYTHON) $(SRC_PATH)/tests/qapi-schema/test-qapi.py \
809
		$^ >$*.test.out 2>$*.test.err; \
810
		echo $$? >$*.test.exit, \
811
		"TEST","$*.out")
812
	@diff -q $(SRC_PATH)/$*.out $*.test.out
813 814
	@# 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 -
815
	@diff -q $(SRC_PATH)/$*.exit $*.test.exit
816

P
Paolo Bonzini 已提交
817 818
# Consolidated targets

W
Wenchao Xia 已提交
819
.PHONY: check-qapi-schema check-qtest check-unit check check-clean
820
check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y))
821
check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS))
P
Paolo Bonzini 已提交
822 823
check-unit: $(patsubst %,check-%, $(check-unit-y))
check-block: $(patsubst %,check-%, $(check-block-y))
824
check: check-qapi-schema check-unit check-qtest
W
Wenchao Xia 已提交
825 826
check-clean:
	$(MAKE) -C tests/tcg clean
A
Andreas Färber 已提交
827
	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
828
	rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
W
Wenchao Xia 已提交
829 830

clean: check-clean
831

832 833 834 835
# Build the help program automatically

all: $(QEMU_IOTESTS_HELPERS-y)

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