# All QTests for now are POSIX-only, but the dependencies are
# really in libqtest, not in the testcases themselves.

check-qtest-generic-y += cdrom-test
check-qtest-generic-y += device-introspect-test
check-qtest-generic-y += machine-none-test
check-qtest-generic-y += qmp-test
check-qtest-generic-y += qmp-cmd-test
check-qtest-generic-y += qom-test
check-qtest-generic-$(CONFIG_MODULES) += modules-test
check-qtest-generic-y += test-hmp

check-qtest-pci-$(CONFIG_RTL8139_PCI) += rtl8139-test
check-qtest-pci-$(CONFIG_VGA) += display-vga-test
check-qtest-pci-$(CONFIG_HDA) += intel-hda-test
check-qtest-pci-$(CONFIG_IVSHMEM_DEVICE) += ivshmem-test

DBUS_DAEMON := $(shell which dbus-daemon 2>/dev/null)
ifneq ($(GDBUS_CODEGEN),)
ifneq ($(DBUS_DAEMON),)
# Temporarily disabled due to Patchew failures:
#check-qtest-pci-$(CONFIG_GIO) += dbus-vmstate-test
endif
endif

check-qtest-i386-$(CONFIG_ISA_TESTDEV) = endianness-test
check-qtest-i386-y += fdc-test
check-qtest-i386-y += ide-test
check-qtest-i386-$(CONFIG_TOOLS) += ahci-test
check-qtest-i386-y += hd-geo-test
check-qtest-i386-y += boot-order-test
check-qtest-i386-y += bios-tables-test
check-qtest-i386-$(CONFIG_SGA) += boot-serial-test
check-qtest-i386-$(CONFIG_SLIRP) += pxe-test
check-qtest-i386-y += rtc-test
check-qtest-i386-$(CONFIG_ISA_IPMI_KCS) += ipmi-kcs-test
ifdef CONFIG_LINUX
check-qtest-i386-$(CONFIG_ISA_IPMI_BT) += ipmi-bt-test
endif
check-qtest-i386-y += i440fx-test
check-qtest-i386-y += fw_cfg-test
check-qtest-i386-y += device-plug-test
check-qtest-i386-y += drive_del-test
check-qtest-i386-$(CONFIG_WDT_IB700) += wdt_ib700-test
check-qtest-i386-y += tco-test
check-qtest-i386-y += $(check-qtest-pci-y)
check-qtest-i386-$(CONFIG_PVPANIC) += pvpanic-test
check-qtest-i386-$(CONFIG_I82801B11) += i82801b11-test
check-qtest-i386-$(CONFIG_IOH3420) += ioh3420-test
check-qtest-i386-$(CONFIG_USB_UHCI) += usb-hcd-uhci-test
check-qtest-i386-$(call land,$(CONFIG_USB_EHCI),$(CONFIG_USB_UHCI)) += usb-hcd-ehci-test
check-qtest-i386-$(CONFIG_USB_XHCI_NEC) += usb-hcd-xhci-test
check-qtest-i386-y += cpu-plug-test
check-qtest-i386-y += q35-test
check-qtest-i386-y += vmgenid-test
check-qtest-i386-$(CONFIG_TPM_CRB) += tpm-crb-swtpm-test
check-qtest-i386-$(CONFIG_TPM_CRB) += tpm-crb-test
check-qtest-i386-$(CONFIG_TPM_TIS_ISA) += tpm-tis-swtpm-test
check-qtest-i386-$(CONFIG_TPM_TIS_ISA) += tpm-tis-test
check-qtest-i386-$(CONFIG_SLIRP) += test-netfilter
check-qtest-i386-$(CONFIG_POSIX) += test-filter-mirror
check-qtest-i386-$(CONFIG_RTL8139_PCI) += test-filter-redirector
check-qtest-i386-y += migration-test
check-qtest-i386-y += test-x86-cpuid-compat
check-qtest-i386-y += numa-test

check-qtest-x86_64-y += $(check-qtest-i386-y)

check-qtest-alpha-y += boot-serial-test
check-qtest-alpha-$(CONFIG_VGA) += display-vga-test

check-qtest-hppa-y += boot-serial-test
check-qtest-hppa-$(CONFIG_VGA) += display-vga-test

check-qtest-m68k-y = boot-serial-test

check-qtest-microblaze-y += boot-serial-test

check-qtest-mips-$(CONFIG_ISA_TESTDEV) = endianness-test
check-qtest-mips-$(CONFIG_VGA) += display-vga-test

check-qtest-mips64-$(CONFIG_ISA_TESTDEV) = endianness-test
check-qtest-mips64-$(CONFIG_VGA) += display-vga-test

check-qtest-mips64el-$(CONFIG_ISA_TESTDEV) = endianness-test
check-qtest-mips64el-$(CONFIG_VGA) += display-vga-test

check-qtest-moxie-y += boot-serial-test

check-qtest-ppc-$(CONFIG_ISA_TESTDEV) = endianness-test
check-qtest-ppc-y += boot-order-test
check-qtest-ppc-y += prom-env-test
check-qtest-ppc-y += drive_del-test
check-qtest-ppc-y += boot-serial-test
check-qtest-ppc-$(CONFIG_M48T59) += m48t59-test

check-qtest-ppc64-y += $(check-qtest-ppc-y)
check-qtest-ppc64-$(CONFIG_PSERIES) += device-plug-test
check-qtest-ppc64-$(CONFIG_POWERNV) += pnv-xscom-test
check-qtest-ppc64-y += migration-test
check-qtest-ppc64-$(CONFIG_PSERIES) += rtas-test
check-qtest-ppc64-$(CONFIG_SLIRP) += pxe-test
check-qtest-ppc64-$(CONFIG_USB_UHCI) += usb-hcd-uhci-test
check-qtest-ppc64-$(CONFIG_USB_XHCI_NEC) += usb-hcd-xhci-test
check-qtest-ppc64-$(CONFIG_SLIRP) += test-netfilter
check-qtest-ppc64-$(CONFIG_POSIX) += test-filter-mirror
check-qtest-ppc64-$(CONFIG_RTL8139_PCI) += test-filter-redirector
check-qtest-ppc64-$(CONFIG_VGA) += display-vga-test
check-qtest-ppc64-y += numa-test
check-qtest-ppc64-$(CONFIG_IVSHMEM_DEVICE) += ivshmem-test
check-qtest-ppc64-y += cpu-plug-test

check-qtest-sh4-$(CONFIG_ISA_TESTDEV) = endianness-test

check-qtest-sh4eb-$(CONFIG_ISA_TESTDEV) = endianness-test

check-qtest-sparc-y += prom-env-test
check-qtest-sparc-y += m48t59-test
check-qtest-sparc-y += boot-serial-test

check-qtest-sparc64-$(CONFIG_ISA_TESTDEV) = endianness-test
check-qtest-sparc64-y += prom-env-test
check-qtest-sparc64-y += boot-serial-test

check-qtest-arm-y += arm-cpu-features
check-qtest-arm-y += microbit-test
check-qtest-arm-y += m25p80-test
check-qtest-arm-y += test-arm-mptimer
check-qtest-arm-y += boot-serial-test
check-qtest-arm-y += hexloader-test
check-qtest-arm-$(CONFIG_PFLASH_CFI02) += pflash-cfi02-test

check-qtest-aarch64-y += arm-cpu-features
check-qtest-aarch64-$(CONFIG_TPM_TIS_SYSBUS) += tpm-tis-device-test
check-qtest-aarch64-$(CONFIG_TPM_TIS_SYSBUS) += tpm-tis-device-swtpm-test
check-qtest-aarch64-y += numa-test
check-qtest-aarch64-y += boot-serial-test
check-qtest-aarch64-y += migration-test

# TODO: once aarch64 TCG is fixed on ARM 32 bit host, make test unconditional
ifneq ($(ARCH),arm)
check-qtest-aarch64-y += bios-tables-test
endif

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

check-qtest-xtensaeb-y += $(check-qtest-xtensa-y)

check-qtest-s390x-y = boot-serial-test
check-qtest-s390x-$(CONFIG_SLIRP) += pxe-test
check-qtest-s390x-$(CONFIG_SLIRP) += test-netfilter
check-qtest-s390x-$(CONFIG_POSIX) += test-filter-mirror
check-qtest-s390x-$(CONFIG_POSIX) += test-filter-redirector
check-qtest-s390x-y += drive_del-test
check-qtest-s390x-y += device-plug-test
check-qtest-s390x-y += virtio-ccw-test
check-qtest-s390x-y += cpu-plug-test
check-qtest-s390x-y += migration-test

# libqos / qgraph :
libqgraph-obj-y = tests/qtest/libqos/qgraph.o

libqos-core-obj-y = $(libqgraph-obj-y) tests/qtest/libqos/pci.o tests/qtest/libqos/fw_cfg.o
libqos-core-obj-y += tests/qtest/libqos/malloc.o
libqos-core-obj-y += tests/qtest/libqos/libqos.o
libqos-spapr-obj-y = $(libqos-core-obj-y) tests/qtest/libqos/malloc-spapr.o
libqos-spapr-obj-y += tests/qtest/libqos/libqos-spapr.o
libqos-spapr-obj-y += tests/qtest/libqos/rtas.o
libqos-spapr-obj-y += tests/qtest/libqos/pci-spapr.o
libqos-pc-obj-y = $(libqos-core-obj-y) tests/qtest/libqos/pci-pc.o
libqos-pc-obj-y += tests/qtest/libqos/malloc-pc.o tests/qtest/libqos/libqos-pc.o
libqos-pc-obj-y += tests/qtest/libqos/ahci.o
libqos-usb-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/qtest/libqos/usb.o

# qos devices:
libqos-obj-y =  $(libqgraph-obj-y)
libqos-obj-y += $(libqos-pc-obj-y) $(libqos-spapr-obj-y)
libqos-obj-y += tests/qtest/libqos/qos_external.o
libqos-obj-y += tests/qtest/libqos/e1000e.o
libqos-obj-y += tests/qtest/libqos/i2c.o
libqos-obj-y += tests/qtest/libqos/i2c-imx.o
libqos-obj-y += tests/qtest/libqos/i2c-omap.o
libqos-obj-y += tests/qtest/libqos/sdhci.o
libqos-obj-y += tests/qtest/libqos/tpci200.o
libqos-obj-y += tests/qtest/libqos/virtio.o
libqos-obj-$(CONFIG_VIRTFS) += tests/qtest/libqos/virtio-9p.o
libqos-obj-y += tests/qtest/libqos/virtio-balloon.o
libqos-obj-y += tests/qtest/libqos/virtio-blk.o
libqos-obj-y += tests/qtest/libqos/virtio-mmio.o
libqos-obj-y += tests/qtest/libqos/virtio-net.o
libqos-obj-y += tests/qtest/libqos/virtio-pci.o
libqos-obj-y += tests/qtest/libqos/virtio-pci-modern.o
libqos-obj-y += tests/qtest/libqos/virtio-rng.o
libqos-obj-y += tests/qtest/libqos/virtio-scsi.o
libqos-obj-y += tests/qtest/libqos/virtio-serial.o

# qos machines:
libqos-obj-y += tests/qtest/libqos/aarch64-xlnx-zcu102-machine.o
libqos-obj-y += tests/qtest/libqos/arm-imx25-pdk-machine.o
libqos-obj-y += tests/qtest/libqos/arm-n800-machine.o
libqos-obj-y += tests/qtest/libqos/arm-raspi2-machine.o
libqos-obj-y += tests/qtest/libqos/arm-sabrelite-machine.o
libqos-obj-y += tests/qtest/libqos/arm-smdkc210-machine.o
libqos-obj-y += tests/qtest/libqos/arm-virt-machine.o
libqos-obj-y += tests/qtest/libqos/arm-xilinx-zynq-a9-machine.o
libqos-obj-y += tests/qtest/libqos/ppc64_pseries-machine.o
libqos-obj-y += tests/qtest/libqos/x86_64_pc-machine.o

# qos tests:
qos-test-obj-y += tests/qtest/qos-test.o
qos-test-obj-y += tests/qtest/ac97-test.o
qos-test-obj-y += tests/qtest/ds1338-test.o
qos-test-obj-y += tests/qtest/e1000-test.o
qos-test-obj-y += tests/qtest/e1000e-test.o
qos-test-obj-y += tests/qtest/eepro100-test.o
qos-test-obj-y += tests/qtest/es1370-test.o
qos-test-obj-y += tests/qtest/ipoctal232-test.o
qos-test-obj-y += tests/qtest/megasas-test.o
qos-test-obj-y += tests/qtest/ne2000-test.o
qos-test-obj-y += tests/qtest/tulip-test.o
qos-test-obj-y += tests/qtest/nvme-test.o
qos-test-obj-y += tests/qtest/pca9552-test.o
qos-test-obj-y += tests/qtest/pci-test.o
qos-test-obj-y += tests/qtest/pcnet-test.o
qos-test-obj-y += tests/qtest/sdhci-test.o
qos-test-obj-y += tests/qtest/spapr-phb-test.o
qos-test-obj-y += tests/qtest/tmp105-test.o
qos-test-obj-y += tests/qtest/usb-hcd-ohci-test.o $(libqos-usb-obj-y)
qos-test-obj-$(CONFIG_VHOST_NET_USER) += tests/qtest/vhost-user-test.o $(chardev-obj-y) $(test-io-obj-y)
qos-test-obj-y += tests/qtest/virtio-test.o
qos-test-obj-$(CONFIG_VIRTFS) += tests/qtest/virtio-9p-test.o
qos-test-obj-y += tests/qtest/virtio-blk-test.o
qos-test-obj-y += tests/qtest/virtio-net-test.o
qos-test-obj-y += tests/qtest/virtio-rng-test.o
qos-test-obj-y += tests/qtest/virtio-scsi-test.o
qos-test-obj-y += tests/qtest/virtio-serial-test.o
qos-test-obj-y += tests/qtest/vmxnet3-test.o

check-unit-y += tests/test-qgraph$(EXESUF)
tests/test-qgraph$(EXESUF): tests/test-qgraph.o $(libqgraph-obj-y)

check-qtest-generic-y += qos-test
tests/qtest/qos-test$(EXESUF): $(qos-test-obj-y) $(libqos-obj-y)

# QTest dependencies:
tests/qtest/qmp-test$(EXESUF): tests/qtest/qmp-test.o
tests/qtest/qmp-cmd-test$(EXESUF): tests/qtest/qmp-cmd-test.o
tests/qtest/device-introspect-test$(EXESUF): tests/qtest/device-introspect-test.o
tests/qtest/rtc-test$(EXESUF): tests/qtest/rtc-test.o
tests/qtest/m48t59-test$(EXESUF): tests/qtest/m48t59-test.o
tests/qtest/hexloader-test$(EXESUF): tests/qtest/hexloader-test.o
tests/qtest/pflash-cfi02$(EXESUF): tests/qtest/pflash-cfi02-test.o
tests/qtest/endianness-test$(EXESUF): tests/qtest/endianness-test.o
tests/qtest/prom-env-test$(EXESUF): tests/qtest/prom-env-test.o $(libqos-obj-y)
tests/qtest/rtas-test$(EXESUF): tests/qtest/rtas-test.o $(libqos-spapr-obj-y)
tests/qtest/fdc-test$(EXESUF): tests/qtest/fdc-test.o
tests/qtest/ide-test$(EXESUF): tests/qtest/ide-test.o $(libqos-pc-obj-y)
tests/qtest/ahci-test$(EXESUF): tests/qtest/ahci-test.o $(libqos-pc-obj-y) qemu-img$(EXESUF)
tests/qtest/ipmi-kcs-test$(EXESUF): tests/qtest/ipmi-kcs-test.o
tests/qtest/ipmi-bt-test$(EXESUF): tests/qtest/ipmi-bt-test.o
tests/qtest/hd-geo-test$(EXESUF): tests/qtest/hd-geo-test.o $(libqos-obj-y)
tests/qtest/boot-order-test$(EXESUF): tests/qtest/boot-order-test.o $(libqos-obj-y)
tests/qtest/boot-serial-test$(EXESUF): tests/qtest/boot-serial-test.o $(libqos-obj-y)
tests/qtest/bios-tables-test$(EXESUF): tests/qtest/bios-tables-test.o \
	tests/qtest/boot-sector.o tests/qtest/acpi-utils.o $(libqos-obj-y)
tests/qtest/pxe-test$(EXESUF): tests/qtest/pxe-test.o tests/qtest/boot-sector.o $(libqos-obj-y)
tests/qtest/microbit-test$(EXESUF): tests/qtest/microbit-test.o
tests/qtest/m25p80-test$(EXESUF): tests/qtest/m25p80-test.o
tests/qtest/i440fx-test$(EXESUF): tests/qtest/i440fx-test.o $(libqos-pc-obj-y)
tests/qtest/q35-test$(EXESUF): tests/qtest/q35-test.o $(libqos-pc-obj-y)
tests/qtest/fw_cfg-test$(EXESUF): tests/qtest/fw_cfg-test.o $(libqos-pc-obj-y)
tests/qtest/rtl8139-test$(EXESUF): tests/qtest/rtl8139-test.o $(libqos-pc-obj-y)
tests/qtest/pnv-xscom-test$(EXESUF): tests/qtest/pnv-xscom-test.o
tests/qtest/wdt_ib700-test$(EXESUF): tests/qtest/wdt_ib700-test.o
tests/qtest/tco-test$(EXESUF): tests/qtest/tco-test.o $(libqos-pc-obj-y)
tests/qtest/virtio-ccw-test$(EXESUF): tests/qtest/virtio-ccw-test.o
tests/qtest/display-vga-test$(EXESUF): tests/qtest/display-vga-test.o
tests/qtest/qom-test$(EXESUF): tests/qtest/qom-test.o
tests/qtest/test-hmp$(EXESUF): tests/qtest/test-hmp.o
tests/qtest/machine-none-test$(EXESUF): tests/qtest/machine-none-test.o
tests/qtest/device-plug-test$(EXESUF): tests/qtest/device-plug-test.o
tests/qtest/drive_del-test$(EXESUF): tests/qtest/drive_del-test.o
tests/qtest/pvpanic-test$(EXESUF): tests/qtest/pvpanic-test.o
tests/qtest/i82801b11-test$(EXESUF): tests/qtest/i82801b11-test.o
tests/qtest/intel-hda-test$(EXESUF): tests/qtest/intel-hda-test.o
tests/qtest/ioh3420-test$(EXESUF): tests/qtest/ioh3420-test.o
tests/qtest/usb-hcd-uhci-test$(EXESUF): tests/qtest/usb-hcd-uhci-test.o $(libqos-usb-obj-y)
tests/qtest/usb-hcd-ehci-test$(EXESUF): tests/qtest/usb-hcd-ehci-test.o $(libqos-usb-obj-y)
tests/qtest/usb-hcd-xhci-test$(EXESUF): tests/qtest/usb-hcd-xhci-test.o $(libqos-usb-obj-y)
tests/qtest/cpu-plug-test$(EXESUF): tests/qtest/cpu-plug-test.o
tests/qtest/migration-test$(EXESUF): tests/qtest/migration-test.o tests/qtest/migration-helpers.o
tests/qtest/test-netfilter$(EXESUF): tests/qtest/test-netfilter.o $(qtest-obj-y)
tests/qtest/test-filter-mirror$(EXESUF): tests/qtest/test-filter-mirror.o $(qtest-obj-y)
tests/qtest/test-filter-redirector$(EXESUF): tests/qtest/test-filter-redirector.o $(qtest-obj-y)
tests/qtest/test-x86-cpuid-compat$(EXESUF): tests/qtest/test-x86-cpuid-compat.o $(qtest-obj-y)
tests/qtest/ivshmem-test$(EXESUF): tests/qtest/ivshmem-test.o contrib/ivshmem-server/ivshmem-server.o $(libqos-pc-obj-y) $(libqos-spapr-obj-y)
tests/qtest/dbus-vmstate-test$(EXESUF): tests/qtest/dbus-vmstate-test.o tests/qtest/migration-helpers.o tests/qtest/dbus-vmstate1.o $(libqos-pc-obj-y) $(libqos-spapr-obj-y)
tests/qtest/test-arm-mptimer$(EXESUF): tests/qtest/test-arm-mptimer.o
tests/qtest/numa-test$(EXESUF): tests/qtest/numa-test.o
tests/qtest/vmgenid-test$(EXESUF): tests/qtest/vmgenid-test.o tests/qtest/boot-sector.o tests/qtest/acpi-utils.o
tests/qtest/cdrom-test$(EXESUF): tests/qtest/cdrom-test.o tests/qtest/boot-sector.o $(libqos-obj-y)
tests/qtest/arm-cpu-features$(EXESUF): tests/qtest/arm-cpu-features.o
tests/qtest/tpm-crb-swtpm-test$(EXESUF): tests/qtest/tpm-crb-swtpm-test.o tests/qtest/tpm-emu.o \
	tests/qtest/tpm-util.o tests/qtest/tpm-tests.o $(test-io-obj-y)
tests/qtest/tpm-crb-test$(EXESUF): tests/qtest/tpm-crb-test.o tests/qtest/tpm-emu.o $(test-io-obj-y)
tests/qtest/tpm-tis-swtpm-test$(EXESUF): tests/qtest/tpm-tis-swtpm-test.o tests/qtest/tpm-emu.o \
	tests/qtest/tpm-util.o tests/qtest/tpm-tests.o $(test-io-obj-y)
tests/qtest/tpm-tis-device-swtpm-test$(EXESUF): tests/qtest/tpm-tis-device-swtpm-test.o tests/qtest/tpm-emu.o \
	tests/qtest/tpm-util.o tests/qtest/tpm-tests.o $(test-io-obj-y)
tests/qtest/tpm-tis-test$(EXESUF): tests/qtest/tpm-tis-test.o tests/qtest/tpm-tis-util.o tests/qtest/tpm-emu.o $(test-io-obj-y)
tests/qtest/tpm-tis-device-test$(EXESUF): tests/qtest/tpm-tis-device-test.o tests/qtest/tpm-tis-util.o tests/qtest/tpm-emu.o $(test-io-obj-y)

# QTest rules

TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS)))
ifeq ($(CONFIG_POSIX),y)
QTEST_TARGETS = $(TARGETS)
check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y:%=tests/qtest/%$(EXESUF)))
check-qtest-y += $(check-qtest-generic-y:%=tests/qtest/%$(EXESUF))
else
QTEST_TARGETS =
endif

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