Makefile.include 40.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)
M
Marc-André Lureau 已提交
12
gcov-files-check-qdict-y = chardev/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
check-unit-y += tests/test-qobject-input-visitor$(EXESUF)
gcov-files-test-qobject-input-visitor-y = qapi/qobject-input-visitor.c
P
Paolo Bonzini 已提交
31
check-unit-y += tests/test-qmp-commands$(EXESUF)
B
Blue Swirl 已提交
32
gcov-files-test-qmp-commands-y = qapi/qmp-dispatch.c
P
Paolo Bonzini 已提交
33
check-unit-y += tests/test-string-input-visitor$(EXESUF)
B
Blue Swirl 已提交
34
gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c
P
Paolo Bonzini 已提交
35
check-unit-y += tests/test-string-output-visitor$(EXESUF)
B
Blue Swirl 已提交
36
gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c
37 38
check-unit-y += tests/test-qmp-event$(EXESUF)
gcov-files-test-qmp-event-y += qapi/qmp-event.c
39 40
check-unit-y += tests/test-opts-visitor$(EXESUF)
gcov-files-test-opts-visitor-y = qapi/opts-visitor.c
P
Paolo Bonzini 已提交
41
check-unit-y += tests/test-coroutine$(EXESUF)
42
gcov-files-test-coroutine-y = coroutine-$(CONFIG_COROUTINE_BACKEND).c
43
check-unit-y += tests/test-visitor-serialization$(EXESUF)
M
Michael Tokarev 已提交
44
check-unit-y += tests/test-iov$(EXESUF)
45
gcov-files-test-iov-y = util/iov.c
P
Paolo Bonzini 已提交
46
check-unit-y += tests/test-aio$(EXESUF)
47 48 49
gcov-files-test-aio-y = util/async.c util/qemu-timer.o
gcov-files-test-aio-$(CONFIG_WIN32) += util/aio-win32.c
gcov-files-test-aio-$(CONFIG_POSIX) += util/aio-posix.c
50 51 52
check-unit-y += tests/test-aio-multithread$(EXESUF)
gcov-files-test-aio-multithread-y = $(gcov-files-test-aio-y)
gcov-files-test-aio-multithread-y += util/qemu-coroutine.c tests/iothread.c
B
Benoît Canet 已提交
53
check-unit-y += tests/test-throttle$(EXESUF)
P
Paolo Bonzini 已提交
54
check-unit-y += tests/test-thread-pool$(EXESUF)
B
Blue Swirl 已提交
55
gcov-files-test-thread-pool-y = thread-pool.c
56 57
gcov-files-test-hbitmap-y = util/hbitmap.c
check-unit-y += tests/test-hbitmap$(EXESUF)
S
Stefan Hajnoczi 已提交
58
gcov-files-test-hbitmap-y = blockjob.c
A
Alberto Garcia 已提交
59
check-unit-y += tests/test-blockjob$(EXESUF)
S
Stefan Hajnoczi 已提交
60
check-unit-y += tests/test-blockjob-txn$(EXESUF)
61 62 63
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 =
64
ifeq ($(CONFIG_SOFTMMU),y)
O
Orit Wasserman 已提交
65
check-unit-y += tests/test-xbzrle$(EXESUF)
66 67 68
gcov-files-test-xbzrle-y = migration/xbzrle.c
check-unit-$(CONFIG_POSIX) += tests/test-vmstate$(EXESUF)
endif
69 70
check-unit-y += tests/test-cutils$(EXESUF)
gcov-files-test-cutils-y += util/cutils.c
71 72
check-unit-y += tests/test-shift128$(EXESUF)
gcov-files-test-shift128-y = util/host-utils.c
73 74
check-unit-y += tests/test-mul64$(EXESUF)
gcov-files-test-mul64-y = util/host-utils.c
75 76 77
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 已提交
78 79
check-unit-y += tests/rcutorture$(EXESUF)
gcov-files-rcutorture-y = util/rcu.c
M
Mike Day 已提交
80 81
check-unit-y += tests/test-rcu-list$(EXESUF)
gcov-files-test-rcu-list-y = util/rcu.c
E
Emilio G. Cota 已提交
82 83
check-unit-y += tests/test-qdist$(EXESUF)
gcov-files-test-qdist-y = util/qdist.c
E
Emilio G. Cota 已提交
84 85
check-unit-y += tests/test-qht$(EXESUF)
gcov-files-test-qht-y = util/qht.c
86 87
check-unit-y += tests/test-qht-par$(EXESUF)
gcov-files-test-qht-par-y = util/qht.c
88
check-unit-y += tests/test-bitops$(EXESUF)
A
Alex Bennée 已提交
89
check-unit-y += tests/test-bitcnt$(EXESUF)
90
check-unit-$(CONFIG_HAS_GLIB_SUBPROCESS_TESTS) += tests/test-qdev-global-props$(EXESUF)
I
Igor Mammedov 已提交
91 92
check-unit-y += tests/check-qom-interface$(EXESUF)
gcov-files-check-qom-interface-y = qom/object.c
93 94
check-unit-y += tests/check-qom-proplist$(EXESUF)
gcov-files-check-qom-proplist-y = qom/object.c
L
Leandro Dorileo 已提交
95
check-unit-y += tests/test-qemu-opts$(EXESUF)
96
gcov-files-test-qemu-opts-y = util/qemu-option.c
M
Markus Armbruster 已提交
97 98
check-unit-y += tests/test-keyval$(EXESUF)
gcov-files-test-keyval-y = util/keyval.c
99 100
check-unit-y += tests/test-write-threshold$(EXESUF)
gcov-files-test-write-threshold-y = block/write-threshold.c
101
check-unit-y += tests/test-crypto-hash$(EXESUF)
102
check-unit-y += tests/test-crypto-hmac$(EXESUF)
103
check-unit-y += tests/test-crypto-cipher$(EXESUF)
104
check-unit-y += tests/test-crypto-secret$(EXESUF)
105
check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlscredsx509$(EXESUF)
106
check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlssession$(EXESUF)
107 108 109
ifneq (,$(findstring qemu-ga,$(TOOLS)))
check-unit-$(CONFIG_LINUX) += tests/test-qga$(EXESUF)
endif
110
check-unit-y += tests/test-timed-average$(EXESUF)
111
check-unit-y += tests/test-io-task$(EXESUF)
112
check-unit-y += tests/test-io-channel-socket$(EXESUF)
D
Daniel P. Berrange 已提交
113
check-unit-y += tests/test-io-channel-file$(EXESUF)
D
Daniel P. Berrange 已提交
114
check-unit-$(CONFIG_GNUTLS) += tests/test-io-channel-tls$(EXESUF)
115
check-unit-y += tests/test-io-channel-command$(EXESUF)
116
check-unit-y += tests/test-io-channel-buffer$(EXESUF)
117
check-unit-y += tests/test-base64$(EXESUF)
118
check-unit-$(if $(CONFIG_NETTLE_KDF),y,$(CONFIG_GCRYPT_KDF)) += tests/test-crypto-pbkdf$(EXESUF)
119
check-unit-y += tests/test-crypto-ivgen$(EXESUF)
120
check-unit-y += tests/test-crypto-afsplit$(EXESUF)
121
check-unit-y += tests/test-crypto-xts$(EXESUF)
122
check-unit-y += tests/test-crypto-block$(EXESUF)
123
check-unit-y += tests/test-logging$(EXESUF)
124
gcov-files-test-logging-y = util/log.c
125
check-unit-$(CONFIG_REPLICATION) += tests/test-replication$(EXESUF)
126 127
check-unit-y += tests/test-bufferiszero$(EXESUF)
gcov-files-check-bufferiszero-y = util/bufferiszero.c
F
Fam Zheng 已提交
128
check-unit-y += tests/test-uuid$(EXESUF)
P
Paolo Bonzini 已提交
129 130
check-unit-y += tests/ptimer-test$(EXESUF)
gcov-files-ptimer-test-y = hw/core/ptimer.c
131 132
check-unit-y += tests/test-qapi-util$(EXESUF)
gcov-files-test-qapi-util-y = qapi/qapi-util.c
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 140 141
check-qtest-generic-y = tests/qmp-test$(EXESUF)
gcov-files-generic-y = monitor.c qapi/qmp-dispatch.c
check-qtest-generic-y += tests/device-introspect-test$(EXESUF)
142
gcov-files-generic-y = qdev-monitor.c qmp.c
M
Markus Armbruster 已提交
143

144
gcov-files-ipack-y += hw/ipack/ipack.c
A
Andreas Färber 已提交
145 146 147
check-qtest-ipack-y += tests/ipoctal232-test$(EXESUF)
gcov-files-ipack-y += hw/char/ipoctal232.c

148 149 150
check-qtest-virtioserial-y += tests/virtio-console-test$(EXESUF)
gcov-files-virtioserial-y += hw/char/virtio-console.c

A
Andreas Färber 已提交
151 152 153
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
154 155
check-qtest-virtio-y += tests/virtio-balloon-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/virtio/virtio-balloon.c
A
Andreas Färber 已提交
156 157
check-qtest-virtio-y += tests/virtio-blk-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/block/virtio-blk.c
A
Andreas Färber 已提交
158 159
check-qtest-virtio-y += tests/virtio-rng-test$(EXESUF)
gcov-files-virtio-y += hw/virtio/virtio-rng.c
A
Andreas Färber 已提交
160 161
check-qtest-virtio-y += tests/virtio-scsi-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/scsi/virtio-scsi.c
A
Andreas Färber 已提交
162 163 164 165 166
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 已提交
167 168
check-qtest-virtio-y += tests/virtio-serial-test$(EXESUF)
gcov-files-virtio-y += i386-softmmu/hw/char/virtio-serial-bus.c
169 170
check-qtest-virtio-y += $(check-qtest-virtioserial-y)
gcov-files-virtio-y += $(gcov-files-virtioserial-y)
A
Andreas Färber 已提交
171

A
Andreas Färber 已提交
172 173
check-qtest-pci-y += tests/e1000-test$(EXESUF)
gcov-files-pci-y += hw/net/e1000.c
174 175
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 已提交
176 177
check-qtest-pci-y += tests/rtl8139-test$(EXESUF)
gcov-files-pci-y += hw/net/rtl8139.c
A
Andreas Färber 已提交
178 179 180
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 已提交
181 182
check-qtest-pci-y += tests/eepro100-test$(EXESUF)
gcov-files-pci-y += hw/net/eepro100.c
A
Andreas Färber 已提交
183 184
check-qtest-pci-y += tests/ne2000-test$(EXESUF)
gcov-files-pci-y += hw/net/ne2000.c
A
Andreas Färber 已提交
185 186
check-qtest-pci-y += tests/nvme-test$(EXESUF)
gcov-files-pci-y += hw/block/nvme.c
A
Andreas Färber 已提交
187 188
check-qtest-pci-y += tests/ac97-test$(EXESUF)
gcov-files-pci-y += hw/audio/ac97.c
A
Andreas Färber 已提交
189 190
check-qtest-pci-y += tests/es1370-test$(EXESUF)
gcov-files-pci-y += hw/audio/es1370.c
A
Andreas Färber 已提交
191 192
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 已提交
193
check-qtest-pci-y += tests/tpci200-test$(EXESUF)
194
gcov-files-pci-y += hw/ipack/tpci200.c
A
Andreas Färber 已提交
195
check-qtest-pci-y += $(check-qtest-ipack-y)
196
gcov-files-pci-y += $(gcov-files-ipack-y)
G
Gerd Hoffmann 已提交
197 198 199 200
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
201 202 203
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 已提交
204 205
check-qtest-pci-y += tests/intel-hda-test$(EXESUF)
gcov-files-pci-y += hw/audio/intel-hda.c hw/audio/hda-codec.c
206
check-qtest-pci-$(CONFIG_EVENTFD) += tests/ivshmem-test$(EXESUF)
A
Andreas Färber 已提交
207
gcov-files-pci-y += hw/misc/ivshmem.c
A
Andreas Färber 已提交
208

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

267 268
check-qtest-alpha-y = tests/boot-serial-test$(EXESUF)

269
check-qtest-mips-y = tests/endianness-test$(EXESUF)
270

271
check-qtest-mips64-y = tests/endianness-test$(EXESUF)
272

273
check-qtest-mips64el-y = tests/endianness-test$(EXESUF)
274

275
check-qtest-ppc-y = tests/endianness-test$(EXESUF)
276 277 278
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)
279
check-qtest-ppc-y += tests/boot-serial-test$(EXESUF)
280 281 282 283 284 285

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)
286
check-qtest-ppc64-y += tests/pnv-xscom-test$(EXESUF)
287 288
check-qtest-ppc64-y += tests/drive_del-test$(EXESUF)
check-qtest-ppc64-y += tests/postcopy-test$(EXESUF)
289
check-qtest-ppc64-y += tests/boot-serial-test$(EXESUF)
290
check-qtest-ppc64-y += tests/rtas-test$(EXESUF)
291
check-qtest-ppc64-y += tests/pxe-test$(EXESUF)
292 293 294 295 296 297
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
298
check-qtest-ppc64-y += $(check-qtest-virtio-y)
299 300 301
check-qtest-ppc64-y += tests/test-netfilter$(EXESUF)
check-qtest-ppc64-y += tests/test-filter-mirror$(EXESUF)
check-qtest-ppc64-y += tests/test-filter-redirector$(EXESUF)
302
check-qtest-ppc64-y += tests/display-vga-test$(EXESUF)
303
check-qtest-ppc64-$(CONFIG_EVENTFD) += tests/ivshmem-test$(EXESUF)
304

305
check-qtest-sh4-y = tests/endianness-test$(EXESUF)
306

307
check-qtest-sh4eb-y = tests/endianness-test$(EXESUF)
308 309 310 311 312

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

313 314
check-qtest-sparc64-y = tests/endianness-test$(EXESUF)
#check-qtest-sparc64-y += tests/m48t59-test$(EXESUF)
315
#gcov-files-sparc64-y += hw/timer/m48t59.c
316
check-qtest-sparc64-y += tests/prom-env-test$(EXESUF)
317

318
check-qtest-arm-y = tests/tmp105-test$(EXESUF)
T
Thomas Huth 已提交
319
check-qtest-arm-y += tests/ds1338-test$(EXESUF)
C
Cédric Le Goater 已提交
320
check-qtest-arm-y += tests/m25p80-test$(EXESUF)
321
gcov-files-arm-y += hw/misc/tmp105.c
M
Marc Marí 已提交
322 323
check-qtest-arm-y += tests/virtio-blk-test$(EXESUF)
gcov-files-arm-y += arm-softmmu/hw/block/virtio-blk.c
324 325
check-qtest-arm-y += tests/test-arm-mptimer$(EXESUF)
gcov-files-arm-y += hw/timer/arm_mptimer.c
326

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

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

331 332
check-qtest-s390x-y = tests/boot-serial-test$(EXESUF)

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

335
qapi-schema += alternate-any.json
E
Eric Blake 已提交
336 337 338 339 340
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 已提交
341
qapi-schema += alternate-empty.json
E
Eric Blake 已提交
342 343 344 345 346 347
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
348 349 350 351
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 已提交
352 353 354
qapi-schema += args-int.json
qapi-schema += args-invalid.json
qapi-schema += args-member-array-bad.json
355
qapi-schema += args-member-case.json
E
Eric Blake 已提交
356
qapi-schema += args-member-unknown.json
357
qapi-schema += args-name-clash.json
E
Eric Blake 已提交
358 359 360 361 362 363 364 365
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 已提交
366 367
qapi-schema += base-cycle-direct.json
qapi-schema += base-cycle-indirect.json
E
Eric Blake 已提交
368 369
qapi-schema += command-int.json
qapi-schema += comments.json
M
Marc-André Lureau 已提交
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387
qapi-schema += doc-bad-args.json
qapi-schema += doc-bad-symbol.json
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
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
qapi-schema += doc-optional.json
E
Eric Blake 已提交
388 389 390 391 392 393 394 395 396
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
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 405 406 407 408 409 410
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
411
qapi-schema += flat-union-clash-member.json
E
Eric Blake 已提交
412
qapi-schema += flat-union-empty.json
413
qapi-schema += flat-union-incomplete-branch.json
E
Eric Blake 已提交
414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447
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
448
qapi-schema += reserved-command-q.json
449
qapi-schema += reserved-enum-q.json
450 451
qapi-schema += reserved-member-has.json
qapi-schema += reserved-member-q.json
E
Eric Blake 已提交
452
qapi-schema += reserved-member-u.json
453
qapi-schema += reserved-member-underscore.json
454 455
qapi-schema += reserved-type-kind.json
qapi-schema += reserved-type-list.json
E
Eric Blake 已提交
456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472
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
473
qapi-schema += union-branch-case.json
474
qapi-schema += union-clash-branches.json
E
Eric Blake 已提交
475
qapi-schema += union-empty.json
E
Eric Blake 已提交
476 477 478 479 480
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 已提交
481 482


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

485
GENERATED_HEADERS += tests/test-qapi-types.h tests/test-qapi-visit.h \
486 487
	tests/test-qmp-commands.h tests/test-qapi-event.h \
	tests/test-qmp-introspect.h
P
Paolo Bonzini 已提交
488 489

test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \
E
Eric Blake 已提交
490 491
	tests/check-qlist.o tests/check-qfloat.o tests/check-qnull.o \
	tests/check-qjson.o \
P
Paolo Bonzini 已提交
492
	tests/test-coroutine.o tests/test-string-output-visitor.o \
493
	tests/test-string-input-visitor.o tests/test-qobject-output-visitor.o \
E
Eric Blake 已提交
494
	tests/test-clone-visitor.o \
495
	tests/test-qobject-input-visitor.o \
496
	tests/test-qmp-commands.o tests/test-visitor-serialization.o \
497
	tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \
P
Paolo Bonzini 已提交
498
	tests/test-opts-visitor.o tests/test-qmp-event.o \
E
Emilio G. Cota 已提交
499
	tests/rcutorture.o tests/test-rcu-list.o \
500
	tests/test-qdist.o tests/test-shift128.o \
E
Emilio G. Cota 已提交
501 502
	tests/test-qht.o tests/qht-bench.o tests/test-qht-par.o \
	tests/atomic_add-bench.o
P
Paolo Bonzini 已提交
503 504

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

507 508

# Deps that are common to various different sets of tests below
509
test-util-obj-y = $(trace-obj-y) libqemuutil.a libqemustub.a
510
test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y)
511
test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
512
	tests/test-qapi-event.o tests/test-qmp-introspect.o \
513
	$(test-qom-obj-y)
514
test-crypto-obj-y = $(crypto-obj-y) $(test-qom-obj-y)
515
test-io-obj-y = $(io-obj-y) $(test-crypto-obj-y)
516
test-block-obj-y = $(block-obj-y) $(test-io-obj-y) tests/iothread.o
517 518 519 520 521 522

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 已提交
523
tests/check-qnull$(EXESUF): tests/check-qnull.o $(test-util-obj-y)
524 525 526
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)
527

528
tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y)
529 530
tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(test-block-obj-y)
tests/test-aio$(EXESUF): tests/test-aio.o $(test-block-obj-y)
531
tests/test-aio-multithread$(EXESUF): tests/test-aio-multithread.o $(test-block-obj-y)
532
tests/test-throttle$(EXESUF): tests/test-throttle.o $(test-block-obj-y)
A
Alberto Garcia 已提交
533
tests/test-blockjob$(EXESUF): tests/test-blockjob.o $(test-block-obj-y) $(test-util-obj-y)
S
Stefan Hajnoczi 已提交
534
tests/test-blockjob-txn$(EXESUF): tests/test-blockjob-txn.o $(test-block-obj-y) $(test-util-obj-y)
535 536 537
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)
538
tests/test-x86-cpuid$(EXESUF): tests/test-x86-cpuid.o
539
tests/test-xbzrle$(EXESUF): tests/test-xbzrle.o migration/xbzrle.o page_cache.o $(test-util-obj-y)
540
tests/test-cutils$(EXESUF): tests/test-cutils.o util/cutils.o
541
tests/test-int128$(EXESUF): tests/test-int128.o
542 543
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 已提交
544
tests/test-qdist$(EXESUF): tests/test-qdist.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
545
tests/test-qht$(EXESUF): tests/test-qht.o $(test-util-obj-y)
546
tests/test-qht-par$(EXESUF): tests/test-qht-par.o tests/qht-bench$(EXESUF) $(test-util-obj-y)
547
tests/qht-bench$(EXESUF): tests/qht-bench.o $(test-util-obj-y)
548
tests/test-bufferiszero$(EXESUF): tests/test-bufferiszero.o $(test-util-obj-y)
E
Emilio G. Cota 已提交
549
tests/atomic_add-bench$(EXESUF): tests/atomic_add-bench.o $(test-util-obj-y)
P
Paolo Bonzini 已提交
550

551
tests/test-qdev-global-props$(EXESUF): tests/test-qdev-global-props.o \
552
	hw/core/qdev.o hw/core/qdev-properties.o hw/core/hotplug.o\
553
	hw/core/bus.o \
554
	hw/core/irq.o \
555
	hw/core/fw-path-provider.o \
556
	hw/core/reset.o \
557
	$(test-qapi-obj-y)
558
tests/test-vmstate$(EXESUF): tests/test-vmstate.o \
559
	migration/vmstate.o migration/qemu-file.o \
560 561
        migration/qemu-file-channel.o migration/qjson.o \
	$(test-io-obj-y)
562
tests/test-timed-average$(EXESUF): tests/test-timed-average.o $(test-util-obj-y)
563 564
tests/test-base64$(EXESUF): tests/test-base64.o \
	libqemuutil.a libqemustub.a
P
Paolo Bonzini 已提交
565
tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o libqemustub.a
P
Paolo Bonzini 已提交
566

567 568
tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y)

569 570 571
tests/test-replication$(EXESUF): tests/test-replication.o $(test-util-obj-y) \
	$(test-block-obj-y)

P
Paolo Bonzini 已提交
572
tests/test-qapi-types.c tests/test-qapi-types.h :\
573
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
574
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py \
575
		$(gen-out-type) -o tests -p "test-" $<, \
576
		"GEN","$@")
P
Paolo Bonzini 已提交
577
tests/test-qapi-visit.c tests/test-qapi-visit.h :\
578
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py)
579
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py \
580
		$(gen-out-type) -o tests -p "test-" $<, \
581
		"GEN","$@")
P
Paolo Bonzini 已提交
582
tests/test-qmp-commands.h tests/test-qmp-marshal.c :\
583
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
584
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py \
585
		$(gen-out-type) -o tests -p "test-" $<, \
586
		"GEN","$@")
587
tests/test-qapi-event.c tests/test-qapi-event.h :\
588
$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-event.py $(qapi-py)
589
	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-event.py \
590
		$(gen-out-type) -o tests -p "test-" $<, \
591
		"GEN","$@")
592 593 594 595
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-" $<, \
596
		"GEN","$@")
597

598 599 600
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)
601
tests/test-qobject-output-visitor$(EXESUF): tests/test-qobject-output-visitor.o $(test-qapi-obj-y)
E
Eric Blake 已提交
602
tests/test-clone-visitor$(EXESUF): tests/test-clone-visitor.o $(test-qapi-obj-y)
603
tests/test-qobject-input-visitor$(EXESUF): tests/test-qobject-input-visitor.o $(test-qapi-obj-y)
604 605 606
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)
607

608
tests/test-shift128$(EXESUF): tests/test-shift128.o $(test-util-obj-y)
609 610
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 已提交
611
tests/test-bitcnt$(EXESUF): tests/test-bitcnt.o $(test-util-obj-y)
612
tests/test-crypto-hash$(EXESUF): tests/test-crypto-hash.o $(test-crypto-obj-y)
613
tests/test-crypto-hmac$(EXESUF): tests/test-crypto-hmac.o $(test-crypto-obj-y)
614
tests/test-crypto-cipher$(EXESUF): tests/test-crypto-cipher.o $(test-crypto-obj-y)
615
tests/test-crypto-secret$(EXESUF): tests/test-crypto-secret.o $(test-crypto-obj-y)
616
tests/test-crypto-xts$(EXESUF): tests/test-crypto-xts.o $(test-crypto-obj-y)
617 618 619 620 621 622

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)
623 624
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)
625 626

tests/test-crypto-tlssession.o-cflags := $(TASN1_CFLAGS)
627 628
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)
629
tests/test-io-task$(EXESUF): tests/test-io-task.o $(test-io-obj-y)
630 631
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 已提交
632 633
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 已提交
634 635 636
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)
637 638
tests/test-io-channel-command$(EXESUF): tests/test-io-channel-command.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
639 640
tests/test-io-channel-buffer$(EXESUF): tests/test-io-channel-buffer.o \
        tests/io-channel-helpers.o $(test-io-obj-y)
641
tests/test-crypto-pbkdf$(EXESUF): tests/test-crypto-pbkdf.o $(test-crypto-obj-y)
642
tests/test-crypto-ivgen$(EXESUF): tests/test-crypto-ivgen.o $(test-crypto-obj-y)
643
tests/test-crypto-afsplit$(EXESUF): tests/test-crypto-afsplit.o $(test-crypto-obj-y)
644
tests/test-crypto-block$(EXESUF): tests/test-crypto-block.o $(test-crypto-obj-y)
645

646
libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o tests/libqos/malloc.o
J
John Snow 已提交
647
libqos-obj-y += tests/libqos/i2c.o tests/libqos/libqos.o
648 649
libqos-spapr-obj-y = $(libqos-obj-y) tests/libqos/malloc-spapr.o
libqos-spapr-obj-y += tests/libqos/libqos-spapr.o
650
libqos-spapr-obj-y += tests/libqos/rtas.o
L
Laurent Vivier 已提交
651
libqos-spapr-obj-y += tests/libqos/pci-spapr.o
652
libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o
J
John Snow 已提交
653
libqos-pc-obj-y += tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o
J
John Snow 已提交
654
libqos-pc-obj-y += tests/libqos/ahci.o
A
Andreas Färber 已提交
655
libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o
656
libqos-imx-obj-y = $(libqos-obj-y) tests/libqos/i2c-imx.o
657
libqos-usb-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/usb.o
658
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
659

660
tests/qmp-test$(EXESUF): tests/qmp-test.o
661
tests/device-introspect-test$(EXESUF): tests/device-introspect-test.o
662 663
tests/rtc-test$(EXESUF): tests/rtc-test.o
tests/m48t59-test$(EXESUF): tests/m48t59-test.o
664
tests/endianness-test$(EXESUF): tests/endianness-test.o
665
tests/spapr-phb-test$(EXESUF): tests/spapr-phb-test.o $(libqos-obj-y)
666
tests/prom-env-test$(EXESUF): tests/prom-env-test.o $(libqos-obj-y)
667
tests/rtas-test$(EXESUF): tests/rtas-test.o $(libqos-spapr-obj-y)
668
tests/fdc-test$(EXESUF): tests/fdc-test.o
K
Kevin Wolf 已提交
669
tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y)
J
John Snow 已提交
670
tests/ahci-test$(EXESUF): tests/ahci-test.o $(libqos-pc-obj-y)
C
Corey Minyard 已提交
671 672
tests/ipmi-kcs-test$(EXESUF): tests/ipmi-kcs-test.o
tests/ipmi-bt-test$(EXESUF): tests/ipmi-bt-test.o
673
tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o
674
tests/boot-order-test$(EXESUF): tests/boot-order-test.o $(libqos-obj-y)
675
tests/boot-serial-test$(EXESUF): tests/boot-serial-test.o $(libqos-obj-y)
676
tests/bios-tables-test$(EXESUF): tests/bios-tables-test.o \
677
	tests/boot-sector.o tests/acpi-utils.o $(libqos-obj-y)
678
tests/pxe-test$(EXESUF): tests/pxe-test.o tests/boot-sector.o $(libqos-obj-y)
A
Andreas Färber 已提交
679
tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y)
680
tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y)
C
Cédric Le Goater 已提交
681
tests/m25p80-test$(EXESUF): tests/m25p80-test.o
682
tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y)
G
Gerd Hoffmann 已提交
683
tests/q35-test$(EXESUF): tests/q35-test.o $(libqos-pc-obj-y)
A
Anthony Liguori 已提交
684
tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
685
tests/e1000-test$(EXESUF): tests/e1000-test.o
686
tests/e1000e-test$(EXESUF): tests/e1000e-test.o $(libqos-pc-obj-y)
687
tests/rtl8139-test$(EXESUF): tests/rtl8139-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
688
tests/pcnet-test$(EXESUF): tests/pcnet-test.o
689
tests/pnv-xscom-test$(EXESUF): tests/pnv-xscom-test.o
A
Andreas Färber 已提交
690
tests/eepro100-test$(EXESUF): tests/eepro100-test.o
A
Andreas Färber 已提交
691
tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o
A
Andreas Färber 已提交
692
tests/ne2000-test$(EXESUF): tests/ne2000-test.o
P
Paolo Bonzini 已提交
693
tests/wdt_ib700-test$(EXESUF): tests/wdt_ib700-test.o
694
tests/tco-test$(EXESUF): tests/tco-test.o $(libqos-pc-obj-y)
695
tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o
696
tests/virtio-blk-test$(EXESUF): tests/virtio-blk-test.o $(libqos-virtio-obj-y)
697
tests/virtio-net-test$(EXESUF): tests/virtio-net-test.o $(libqos-pc-obj-y) $(libqos-virtio-obj-y)
698
tests/virtio-rng-test$(EXESUF): tests/virtio-rng-test.o $(libqos-pc-obj-y)
699
tests/virtio-scsi-test$(EXESUF): tests/virtio-scsi-test.o $(libqos-virtio-obj-y)
700
tests/virtio-9p-test$(EXESUF): tests/virtio-9p-test.o $(libqos-virtio-obj-y)
A
Andreas Färber 已提交
701
tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o
702
tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o
A
Andreas Färber 已提交
703
tests/tpci200-test$(EXESUF): tests/tpci200-test.o
G
Gerd Hoffmann 已提交
704
tests/display-vga-test$(EXESUF): tests/display-vga-test.o
A
Andreas Färber 已提交
705
tests/ipoctal232-test$(EXESUF): tests/ipoctal232-test.o
A
Andreas Färber 已提交
706
tests/qom-test$(EXESUF): tests/qom-test.o
707
tests/drive_del-test$(EXESUF): tests/drive_del-test.o $(libqos-pc-obj-y)
708
tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y)
A
Andreas Färber 已提交
709
tests/nvme-test$(EXESUF): tests/nvme-test.o
A
Andreas Färber 已提交
710
tests/pvpanic-test$(EXESUF): tests/pvpanic-test.o
A
Andreas Färber 已提交
711
tests/i82801b11-test$(EXESUF): tests/i82801b11-test.o
A
Andreas Färber 已提交
712
tests/ac97-test$(EXESUF): tests/ac97-test.o
A
Andreas Färber 已提交
713
tests/es1370-test$(EXESUF): tests/es1370-test.o
A
Andreas Färber 已提交
714
tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
A
Andreas Färber 已提交
715
tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
716
tests/usb-hcd-ohci-test$(EXESUF): tests/usb-hcd-ohci-test.o $(libqos-usb-obj-y)
717
tests/usb-hcd-uhci-test$(EXESUF): tests/usb-hcd-uhci-test.o $(libqos-usb-obj-y)
718
tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-usb-obj-y)
719
tests/usb-hcd-xhci-test$(EXESUF): tests/usb-hcd-xhci-test.o $(libqos-usb-obj-y)
A
Andreas Färber 已提交
720
tests/pc-cpu-test$(EXESUF): tests/pc-cpu-test.o
D
Dr. David Alan Gilbert 已提交
721
tests/postcopy-test$(EXESUF): tests/postcopy-test.o
722
tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o $(test-util-obj-y) \
M
Marc-André Lureau 已提交
723 724
	$(qtest-obj-y) $(test-io-obj-y) $(libqos-virtio-obj-y) $(libqos-pc-obj-y) \
	$(chardev-obj-y)
725
tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o
726
tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o $(test-util-obj-y)
M
Markus Armbruster 已提交
727
tests/test-keyval$(EXESUF): tests/test-keyval.o $(test-util-obj-y)
728
tests/test-write-threshold$(EXESUF): tests/test-write-threshold.o $(test-block-obj-y)
729
tests/test-netfilter$(EXESUF): tests/test-netfilter.o $(qtest-obj-y)
730
tests/test-filter-mirror$(EXESUF): tests/test-filter-mirror.o $(qtest-obj-y)
731
tests/test-filter-redirector$(EXESUF): tests/test-filter-redirector.o $(qtest-obj-y)
732
tests/test-x86-cpuid-compat$(EXESUF): tests/test-x86-cpuid-compat.o $(qtest-obj-y)
733
tests/ivshmem-test$(EXESUF): tests/ivshmem-test.o contrib/ivshmem-server/ivshmem-server.o $(libqos-pc-obj-y) $(libqos-spapr-obj-y)
734
tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o contrib/libvhost-user/libvhost-user.o $(test-util-obj-y)
F
Fam Zheng 已提交
735
tests/test-uuid$(EXESUF): tests/test-uuid.o $(test-util-obj-y)
736
tests/test-arm-mptimer$(EXESUF): tests/test-arm-mptimer.o
737
tests/test-qapi-util$(EXESUF): tests/test-qapi-util.o $(test-util-obj-y)
B
Blue Swirl 已提交
738

739
tests/migration/stress$(EXESUF): tests/migration/stress.o
740
	$(call quiet-command, $(LINKPROG) -static -O3 $(PTHREAD_LIB) -o $@ $< ,"LINK","$(TARGET_DIR)$@")
741 742 743 744 745 746 747 748 749 750

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 已提交
751 752 753
ifeq ($(CONFIG_POSIX),y)
LIBS += -lutil
endif
N
Nikolay Nikolaev 已提交
754

755 756 757
# QTest rules

TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS)))
758
ifeq ($(CONFIG_POSIX),y)
M
Markus Armbruster 已提交
759
QTEST_TARGETS = $(TARGETS)
760
check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y))
M
Markus Armbruster 已提交
761 762 763
check-qtest-y += $(check-qtest-generic-y)
else
QTEST_TARGETS =
764
endif
765

766
qtest-obj-y = tests/libqtest.o $(test-util-obj-y)
767 768
$(check-qtest-y): $(qtest-obj-y)

769 770
tests/test-qga: tests/test-qga.o $(qtest-obj-y)

P
Paolo Bonzini 已提交
771 772 773 774 775
.PHONY: check-help
check-help:
	@echo "Regression testing targets:"
	@echo
	@echo " make check                Run all tests"
776 777
	@echo " make check-qtest-TARGET   Run qtest tests for given target"
	@echo " make check-qtest          Run qtest tests"
P
Paolo Bonzini 已提交
778
	@echo " make check-unit           Run qobject tests"
779
	@echo " make check-qapi-schema    Run QAPI schema tests"
P
Paolo Bonzini 已提交
780 781
	@echo " make check-block          Run block tests"
	@echo " make check-report.html    Generates an HTML test report"
W
Wenchao Xia 已提交
782
	@echo " make check-clean          Clean the tests"
P
Paolo Bonzini 已提交
783 784 785 786 787 788 789
	@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."
790

P
Paolo Bonzini 已提交
791 792
SPEED = quick
GTESTER_OPTIONS = -k $(if $(V),--verbose,-q)
B
Blue Swirl 已提交
793
GCOV_OPTIONS = -n $(if $(V),-f,)
794

P
Paolo Bonzini 已提交
795
# gtester tests, possibly with verbose output
796

797 798
.PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS))
$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y)
B
Blue Swirl 已提交
799
	$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
800
	$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
801
		QTEST_QEMU_IMG=qemu-img$(EXESUF) \
802
		MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
803
		gtester $(GTESTER_OPTIONS) -m=$(SPEED) $(check-qtest-$*-y) $(check-qtest-generic-y),"GTESTER","$@")
804
	$(if $(CONFIG_GCOV),@for f in $(gcov-files-$*-y) $(gcov-files-generic-y); do \
B
Blue Swirl 已提交
805 806 807
	  echo Gcov report for $$f:;\
	  $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \
	done,)
808

P
Paolo Bonzini 已提交
809 810
.PHONY: $(patsubst %, check-%, $(check-unit-y))
$(patsubst %, check-%, $(check-unit-y)): check-%: %
B
Blue Swirl 已提交
811
	$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
812 813
	$(call quiet-command, \
		MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \
814
		gtester $(GTESTER_OPTIONS) -m=$(SPEED) $*,"GTESTER","$*")
815
	$(if $(CONFIG_GCOV),@for f in $(gcov-files-$(subst tests/,,$*)-y) $(gcov-files-generic-y); do \
B
Blue Swirl 已提交
816 817 818
	  echo Gcov report for $$f:;\
	  $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \
	done,)
819

P
Paolo Bonzini 已提交
820
# gtester tests with XML output
K
Kevin Wolf 已提交
821

822 823
$(patsubst %, check-report-qtest-%.xml, $(QTEST_TARGETS)): check-report-qtest-%.xml: $(check-qtest-y)
	$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
824
		QTEST_QEMU_IMG=qemu-img$(EXESUF) \
825
	  gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $(check-qtest-$*-y) $(check-qtest-generic-y),"GTESTER","$@")
826

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

P
Paolo Bonzini 已提交
830
# Reports and overall runs
K
Kevin Wolf 已提交
831

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

P
Paolo Bonzini 已提交
835
check-report.html: check-report.xml
836
	$(call quiet-command,gtester-report $< > $@,"GEN","$@")
P
Paolo Bonzini 已提交
837 838 839 840


# Other tests

841 842
QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF)

P
Paolo Bonzini 已提交
843
.PHONY: check-tests/qemu-iotests-quick.sh
844
check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y)
P
Paolo Bonzini 已提交
845 846
	$<

847 848 849 850 851
.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
852 853
	$(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts \
		$(PYTHON) $(SRC_PATH)/tests/qapi-schema/test-qapi.py \
854
		$^ >$*.test.out 2>$*.test.err; \
855
		echo $$? >$*.test.exit, \
856
		"TEST","$*.out")
857
	@diff -q $(SRC_PATH)/$*.out $*.test.out
858 859
	@# 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 -
860
	@diff -q $(SRC_PATH)/$*.exit $*.test.exit
861

P
Paolo Bonzini 已提交
862 863
# Consolidated targets

W
Wenchao Xia 已提交
864
.PHONY: check-qapi-schema check-qtest check-unit check check-clean
865
check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y))
866
check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS))
P
Paolo Bonzini 已提交
867 868
check-unit: $(patsubst %,check-%, $(check-unit-y))
check-block: $(patsubst %,check-%, $(check-block-y))
869
check: check-qapi-schema check-unit check-qtest
W
Wenchao Xia 已提交
870 871
check-clean:
	$(MAKE) -C tests/tcg clean
A
Andreas Färber 已提交
872
	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
873
	rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
W
Wenchao Xia 已提交
874 875

clean: check-clean
876

877 878 879 880
# Build the help program automatically

all: $(QEMU_IOTESTS_HELPERS-y)

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