Kevin Wolf | 8959449 | 2012-03-08 12:29:00 +0100 | [diff] [blame] | 1 | export SRC_PATH |
| 2 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 3 | check-unit-y = tests/check-qdict$(EXESUF) |
Paolo Bonzini | 5f7a74a | 2013-01-15 09:49:35 +0100 | [diff] [blame] | 4 | gcov-files-check-qdict-y = qobject/qdict.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 5 | check-unit-y += tests/check-qfloat$(EXESUF) |
Paolo Bonzini | 5f7a74a | 2013-01-15 09:49:35 +0100 | [diff] [blame] | 6 | gcov-files-check-qfloat-y = qobject/qfloat.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 7 | check-unit-y += tests/check-qint$(EXESUF) |
Paolo Bonzini | 5f7a74a | 2013-01-15 09:49:35 +0100 | [diff] [blame] | 8 | gcov-files-check-qint-y = qobject/qint.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 9 | check-unit-y += tests/check-qstring$(EXESUF) |
Paolo Bonzini | 5f7a74a | 2013-01-15 09:49:35 +0100 | [diff] [blame] | 10 | gcov-files-check-qstring-y = qobject/qstring.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 11 | check-unit-y += tests/check-qlist$(EXESUF) |
Paolo Bonzini | 5f7a74a | 2013-01-15 09:49:35 +0100 | [diff] [blame] | 12 | gcov-files-check-qlist-y = qobject/qlist.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 13 | check-unit-y += tests/check-qjson$(EXESUF) |
Paolo Bonzini | 5f7a74a | 2013-01-15 09:49:35 +0100 | [diff] [blame] | 14 | gcov-files-check-qjson-y = qobject/qjson.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 15 | check-unit-y += tests/test-qmp-output-visitor$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 16 | gcov-files-test-qmp-output-visitor-y = qapi/qmp-output-visitor.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 17 | check-unit-y += tests/test-qmp-input-visitor$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 18 | gcov-files-test-qmp-input-visitor-y = qapi/qmp-input-visitor.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 19 | check-unit-y += tests/test-qmp-input-strict$(EXESUF) |
| 20 | check-unit-y += tests/test-qmp-commands$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 21 | gcov-files-test-qmp-commands-y = qapi/qmp-dispatch.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 22 | check-unit-y += tests/test-string-input-visitor$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 23 | gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 24 | check-unit-y += tests/test-string-output-visitor$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 25 | gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 26 | check-unit-y += tests/test-coroutine$(EXESUF) |
Peter Maydell | 7c2acc7 | 2013-04-08 12:11:27 +0100 | [diff] [blame] | 27 | gcov-files-test-coroutine-y = coroutine-$(CONFIG_COROUTINE_BACKEND).c |
Michael Roth | 2d49610 | 2012-02-21 21:05:07 -0600 | [diff] [blame] | 28 | check-unit-y += tests/test-visitor-serialization$(EXESUF) |
Michael Tokarev | 2278a69 | 2012-06-07 20:08:19 +0400 | [diff] [blame] | 29 | check-unit-y += tests/test-iov$(EXESUF) |
Paolo Bonzini | 5f7a74a | 2013-01-15 09:49:35 +0100 | [diff] [blame] | 30 | gcov-files-test-iov-y = util/iov.c |
Paolo Bonzini | b2ea25d | 2012-11-23 16:13:23 +0100 | [diff] [blame] | 31 | check-unit-y += tests/test-aio$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 32 | gcov-files-test-aio-$(CONFIG_WIN32) = aio-win32.c |
| 33 | gcov-files-test-aio-$(CONFIG_POSIX) = aio-posix.c |
Paolo Bonzini | 74c856e | 2012-11-23 16:13:24 +0100 | [diff] [blame] | 34 | check-unit-y += tests/test-thread-pool$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 35 | gcov-files-test-thread-pool-y = thread-pool.c |
Paolo Bonzini | e7c033c | 2013-01-21 17:09:40 +0100 | [diff] [blame] | 36 | gcov-files-test-hbitmap-y = util/hbitmap.c |
| 37 | check-unit-y += tests/test-hbitmap$(EXESUF) |
Eduardo Habkost | 247c9de | 2013-01-23 15:58:27 -0200 | [diff] [blame] | 38 | check-unit-y += tests/test-x86-cpuid$(EXESUF) |
| 39 | # all code tested by test-x86-cpuid is inside topology.h |
| 40 | gcov-files-test-x86-cpuid-y = |
Orit Wasserman | 21e3cd2 | 2013-01-31 09:12:16 +0200 | [diff] [blame] | 41 | check-unit-y += tests/test-xbzrle$(EXESUF) |
| 42 | gcov-files-test-xbzrle-y = xbzrle.c |
Eduardo Habkost | e3f9fe2 | 2013-02-04 16:27:45 -0200 | [diff] [blame] | 43 | check-unit-y += tests/test-cutils$(EXESUF) |
| 44 | gcov-files-test-cutils-y += util/cutils.c |
Richard Henderson | f4c0f98 | 2013-02-16 12:47:01 -0800 | [diff] [blame] | 45 | check-unit-y += tests/test-mul64$(EXESUF) |
| 46 | gcov-files-test-mul64-y = util/host-utils.c |
Anthony Liguori | ad65aa8 | 2012-01-10 13:10:51 -0600 | [diff] [blame] | 47 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 48 | check-block-$(CONFIG_POSIX) += tests/qemu-iotests-quick.sh |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 49 | |
Anthony Liguori | d1aaf54 | 2012-03-28 15:42:07 +0200 | [diff] [blame] | 50 | # All QTests for now are POSIX-only, but the dependencies are |
| 51 | # really in libqtest, not in the testcases themselves. |
Kevin Wolf | 6c80663 | 2012-05-10 09:46:18 +0200 | [diff] [blame] | 52 | check-qtest-i386-y = tests/fdc-test$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 53 | gcov-files-i386-y = hw/fdc.c |
Markus Armbruster | 0e8a8c8 | 2012-07-10 11:12:30 +0200 | [diff] [blame] | 54 | check-qtest-i386-y += tests/hd-geo-test$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 55 | gcov-files-i386-y += hw/hd-geometry.c |
Stefan Weil | fba0c40 | 2012-05-15 18:19:45 +0200 | [diff] [blame] | 56 | check-qtest-i386-y += tests/rtc-test$(EXESUF) |
Anthony Liguori | d1aaf54 | 2012-03-28 15:42:07 +0200 | [diff] [blame] | 57 | check-qtest-x86_64-y = $(check-qtest-i386-y) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 58 | gcov-files-i386-y += i386-softmmu/hw/mc146818rtc.c |
Andreas Färber | c5cd02b | 2013-01-26 12:45:14 +0100 | [diff] [blame] | 59 | gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y)) |
Anthony Liguori | baeddde | 2013-01-29 15:42:45 -0600 | [diff] [blame] | 60 | #check-qtest-sparc-y = tests/m48t59-test$(EXESUF) |
| 61 | #check-qtest-sparc64-y = tests/m48t59-test$(EXESUF) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 62 | gcov-files-sparc-y += hw/m48t59.c |
Andreas Färber | cba040c | 2013-01-26 12:45:13 +0100 | [diff] [blame] | 63 | gcov-files-sparc64-y += hw/m48t59.c |
Andreas Färber | 6e99890 | 2013-01-16 01:57:57 +0100 | [diff] [blame] | 64 | check-qtest-arm-y = tests/tmp105-test$(EXESUF) |
Andreas Färber | 6a69449 | 2013-01-26 12:45:12 +0100 | [diff] [blame] | 65 | gcov-files-arm-y += hw/tmp105.c |
Anthony Liguori | d1aaf54 | 2012-03-28 15:42:07 +0200 | [diff] [blame] | 66 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 67 | GENERATED_HEADERS += tests/test-qapi-types.h tests/test-qapi-visit.h tests/test-qmp-commands.h |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 68 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 69 | test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \ |
| 70 | tests/check-qlist.o tests/check-qfloat.o tests/check-qjson.o \ |
| 71 | tests/test-coroutine.o tests/test-string-output-visitor.o \ |
| 72 | tests/test-string-input-visitor.o tests/test-qmp-output-visitor.o \ |
| 73 | tests/test-qmp-input-visitor.o tests/test-qmp-input-strict.o \ |
Eduardo Habkost | 247c9de | 2013-01-23 15:58:27 -0200 | [diff] [blame] | 74 | tests/test-qmp-commands.o tests/test-visitor-serialization.o \ |
Richard Henderson | f4c0f98 | 2013-02-16 12:47:01 -0800 | [diff] [blame] | 75 | tests/test-x86-cpuid.o tests/test-mul64.o |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 76 | |
Paolo Bonzini | 576d550 | 2012-12-20 15:27:51 +0100 | [diff] [blame] | 77 | test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 78 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 79 | $(test-obj-y): QEMU_INCLUDES += -Itests |
Anthony Liguori | c4efe1c | 2013-04-16 09:45:16 -0500 | [diff] [blame] | 80 | QEMU_CFLAGS += -I$(SRC_PATH)/tests |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 81 | |
Eduardo Habkost | 247c9de | 2013-01-23 15:58:27 -0200 | [diff] [blame] | 82 | tests/test-x86-cpuid.o: QEMU_INCLUDES += -I$(SRC_PATH)/target-i386 |
| 83 | |
Paolo Bonzini | a372823 | 2012-12-20 16:10:26 +0100 | [diff] [blame] | 84 | tests/check-qint$(EXESUF): tests/check-qint.o libqemuutil.a |
| 85 | tests/check-qstring$(EXESUF): tests/check-qstring.o libqemuutil.a |
| 86 | tests/check-qdict$(EXESUF): tests/check-qdict.o libqemuutil.a |
| 87 | tests/check-qlist$(EXESUF): tests/check-qlist.o libqemuutil.a |
| 88 | tests/check-qfloat$(EXESUF): tests/check-qfloat.o libqemuutil.a |
| 89 | tests/check-qjson$(EXESUF): tests/check-qjson.o libqemuutil.a libqemustub.a |
Paolo Bonzini | f157ebb | 2012-12-20 16:09:36 +0100 | [diff] [blame] | 90 | tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(block-obj-y) libqemuutil.a libqemustub.a |
| 91 | tests/test-aio$(EXESUF): tests/test-aio.o $(block-obj-y) libqemuutil.a libqemustub.a |
| 92 | tests/test-thread-pool$(EXESUF): tests/test-thread-pool.o $(block-obj-y) libqemuutil.a libqemustub.a |
| 93 | tests/test-iov$(EXESUF): tests/test-iov.o libqemuutil.a |
Paolo Bonzini | e7c033c | 2013-01-21 17:09:40 +0100 | [diff] [blame] | 94 | tests/test-hbitmap$(EXESUF): tests/test-hbitmap.o libqemuutil.a libqemustub.a |
Eduardo Habkost | 247c9de | 2013-01-23 15:58:27 -0200 | [diff] [blame] | 95 | tests/test-x86-cpuid$(EXESUF): tests/test-x86-cpuid.o |
Orit Wasserman | 21e3cd2 | 2013-01-31 09:12:16 +0200 | [diff] [blame] | 96 | tests/test-xbzrle$(EXESUF): tests/test-xbzrle.o xbzrle.o page_cache.o libqemuutil.a |
Eduardo Habkost | e3f9fe2 | 2013-02-04 16:27:45 -0200 | [diff] [blame] | 97 | tests/test-cutils$(EXESUF): tests/test-cutils.o util/cutils.o |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 98 | |
| 99 | tests/test-qapi-types.c tests/test-qapi-types.h :\ |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 100 | $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 101 | $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py $(gen-out-type) -o tests -p "test-" < $<, " GEN $@") |
| 102 | tests/test-qapi-visit.c tests/test-qapi-visit.h :\ |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 103 | $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 104 | $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py $(gen-out-type) -o tests -p "test-" < $<, " GEN $@") |
| 105 | tests/test-qmp-commands.h tests/test-qmp-marshal.c :\ |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 106 | $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 107 | $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py $(gen-out-type) -o tests -p "test-" < $<, " GEN $@") |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 108 | |
Paolo Bonzini | 8a09070 | 2012-12-20 15:40:20 +0100 | [diff] [blame] | 109 | tests/test-string-output-visitor$(EXESUF): tests/test-string-output-visitor.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a |
| 110 | tests/test-string-input-visitor$(EXESUF): tests/test-string-input-visitor.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a |
| 111 | tests/test-qmp-output-visitor$(EXESUF): tests/test-qmp-output-visitor.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a |
| 112 | tests/test-qmp-input-visitor$(EXESUF): tests/test-qmp-input-visitor.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a |
| 113 | tests/test-qmp-input-strict$(EXESUF): tests/test-qmp-input-strict.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a |
Paolo Bonzini | 59cacde | 2012-12-20 15:03:18 +0100 | [diff] [blame] | 114 | tests/test-qmp-commands$(EXESUF): tests/test-qmp-commands.o tests/test-qmp-marshal.o $(test-qapi-obj-y) qapi-types.o qapi-visit.o libqemuutil.a libqemustub.a |
Paolo Bonzini | 8a09070 | 2012-12-20 15:40:20 +0100 | [diff] [blame] | 115 | tests/test-visitor-serialization$(EXESUF): tests/test-visitor-serialization.o $(test-qapi-obj-y) libqemuutil.a libqemustub.a |
Paolo Bonzini | 2d7799f | 2012-02-09 11:21:03 +0100 | [diff] [blame] | 116 | |
Richard Henderson | f4c0f98 | 2013-02-16 12:47:01 -0800 | [diff] [blame] | 117 | tests/test-mul64$(EXESUF): tests/test-mul64.o libqemuutil.a |
| 118 | |
Anthony Liguori | 234c69c | 2013-04-16 09:45:17 -0500 | [diff] [blame] | 119 | libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o |
| 120 | libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o tests/libqos/fw_cfg-pc.o |
Anthony Liguori | 8a0743c | 2013-04-16 09:45:18 -0500 | [diff] [blame^] | 121 | libqos-pc-obj-y += tests/libqos/malloc-pc.o |
Anthony Liguori | c4efe1c | 2013-04-16 09:45:16 -0500 | [diff] [blame] | 122 | |
Paolo Bonzini | ff667e2 | 2012-12-21 09:45:20 +0100 | [diff] [blame] | 123 | tests/rtc-test$(EXESUF): tests/rtc-test.o |
| 124 | tests/m48t59-test$(EXESUF): tests/m48t59-test.o |
| 125 | tests/fdc-test$(EXESUF): tests/fdc-test.o |
| 126 | tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o |
Andreas Färber | 6e99890 | 2013-01-16 01:57:57 +0100 | [diff] [blame] | 127 | tests/tmp105-test$(EXESUF): tests/tmp105-test.o |
Blue Swirl | d2a16f7 | 2012-03-30 17:39:33 +0000 | [diff] [blame] | 128 | |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 129 | # QTest rules |
| 130 | |
| 131 | TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS))) |
| 132 | QTEST_TARGETS=$(foreach TARGET,$(TARGETS), $(if $(check-qtest-$(TARGET)-y), $(TARGET),)) |
| 133 | check-qtest-$(CONFIG_POSIX)=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y)) |
| 134 | |
Paolo Bonzini | 8a09070 | 2012-12-20 15:40:20 +0100 | [diff] [blame] | 135 | qtest-obj-y = tests/libqtest.o libqemuutil.a libqemustub.a |
Andreas Färber | 2bf7b45 | 2013-01-16 01:57:54 +0100 | [diff] [blame] | 136 | qtest-obj-y += tests/libi2c.o tests/libi2c-omap.o |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 137 | $(check-qtest-y): $(qtest-obj-y) |
| 138 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 139 | .PHONY: check-help |
| 140 | check-help: |
| 141 | @echo "Regression testing targets:" |
| 142 | @echo |
| 143 | @echo " make check Run all tests" |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 144 | @echo " make check-qtest-TARGET Run qtest tests for given target" |
| 145 | @echo " make check-qtest Run qtest tests" |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 146 | @echo " make check-unit Run qobject tests" |
| 147 | @echo " make check-block Run block tests" |
| 148 | @echo " make check-report.html Generates an HTML test report" |
| 149 | @echo |
| 150 | @echo "Please note that HTML reports do not regenerate if the unit tests" |
| 151 | @echo "has not changed." |
| 152 | @echo |
| 153 | @echo "The variable SPEED can be set to control the gtester speed setting." |
| 154 | @echo "Default options are -k and (for make V=1) --verbose; they can be" |
| 155 | @echo "changed with variable GTESTER_OPTIONS." |
Paolo Bonzini | 2d7799f | 2012-02-09 11:21:03 +0100 | [diff] [blame] | 156 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 157 | SPEED = quick |
| 158 | GTESTER_OPTIONS = -k $(if $(V),--verbose,-q) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 159 | GCOV_OPTIONS = -n $(if $(V),-f,) |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 160 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 161 | # gtester tests, possibly with verbose output |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 162 | |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 163 | .PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS)) |
| 164 | $(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y) |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 165 | $(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,) |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 166 | $(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ |
| 167 | gtester $(GTESTER_OPTIONS) -m=$(SPEED) $(check-qtest-$*-y),"GTESTER $@") |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 168 | $(if $(CONFIG_GCOV),@for f in $(gcov-files-$*-y); do \ |
| 169 | echo Gcov report for $$f:;\ |
| 170 | $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \ |
| 171 | done,) |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 172 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 173 | .PHONY: $(patsubst %, check-%, $(check-unit-y)) |
| 174 | $(patsubst %, check-%, $(check-unit-y)): check-%: % |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 175 | $(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,) |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 176 | $(call quiet-command,gtester $(GTESTER_OPTIONS) -m=$(SPEED) $*,"GTESTER $*") |
Blue Swirl | 1d728c3 | 2012-05-01 18:45:39 +0000 | [diff] [blame] | 177 | $(if $(CONFIG_GCOV),@for f in $(gcov-files-$(subst tests/,,$*)-y); do \ |
| 178 | echo Gcov report for $$f:;\ |
| 179 | $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \ |
| 180 | done,) |
Anthony Liguori | dbfe06c | 2012-01-10 13:10:43 -0600 | [diff] [blame] | 181 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 182 | # gtester tests with XML output |
| 183 | |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 184 | $(patsubst %, check-report-qtest-%.xml, $(QTEST_TARGETS)): check-report-qtest-%.xml: $(check-qtest-y) |
| 185 | $(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ |
| 186 | gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $(check-qtest-$*-y),"GTESTER $@") |
| 187 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 188 | check-report-unit.xml: $(check-unit-y) |
| 189 | $(call quiet-command,gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $^, "GTESTER $@") |
| 190 | |
| 191 | # Reports and overall runs |
| 192 | |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 193 | check-report.xml: $(patsubst %,check-report-qtest-%.xml, $(QTEST_TARGETS)) check-report-unit.xml |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 194 | $(call quiet-command,$(SRC_PATH)/scripts/gtester-cat $^ > $@, " GEN $@") |
| 195 | |
| 196 | check-report.html: check-report.xml |
| 197 | $(call quiet-command,gtester-report $< > $@, " GEN $@") |
Kevin Wolf | 8959449 | 2012-03-08 12:29:00 +0100 | [diff] [blame] | 198 | |
Kevin Wolf | b8c6f29 | 2012-03-09 13:37:40 +0100 | [diff] [blame] | 199 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 200 | # Other tests |
Kevin Wolf | b8c6f29 | 2012-03-09 13:37:40 +0100 | [diff] [blame] | 201 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 202 | .PHONY: check-tests/qemu-iotests-quick.sh |
| 203 | check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) |
| 204 | $< |
Kevin Wolf | b8c6f29 | 2012-03-09 13:37:40 +0100 | [diff] [blame] | 205 | |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 206 | # Consolidated targets |
| 207 | |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 208 | .PHONY: check-qtest check-unit check |
| 209 | check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS)) |
Paolo Bonzini | b93b63f | 2012-03-28 15:42:01 +0200 | [diff] [blame] | 210 | check-unit: $(patsubst %,check-%, $(check-unit-y)) |
| 211 | check-block: $(patsubst %,check-%, $(check-block-y)) |
Anthony Liguori | 49ee359 | 2012-03-28 15:42:05 +0200 | [diff] [blame] | 212 | check: check-unit check-qtest |
Eduardo Habkost | 14117c7 | 2012-07-18 14:22:27 -0300 | [diff] [blame] | 213 | |
| 214 | -include $(wildcard tests/*.d) |