]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
Makefile: Add rules to run vm tests
authorFam Zheng <famz@redhat.com>
Tue, 5 Sep 2017 02:11:58 +0000 (10:11 +0800)
committerFam Zheng <famz@redhat.com>
Fri, 22 Sep 2017 06:51:42 +0000 (14:51 +0800)
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
Makefile
configure
tests/vm/Makefile.include [new file with mode: 0644]

index eb831b98d1d79b5702a09bfb1581008a4916263b..d1501a07eef2be6ff3ee58f7f964d4bfae3385d6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -811,6 +811,7 @@ endif
 -include $(wildcard *.d tests/*.d)
 
 include $(SRC_PATH)/tests/docker/Makefile.include
+include $(SRC_PATH)/tests/vm/Makefile.include
 
 .PHONY: help
 help:
@@ -834,6 +835,7 @@ help:
        @echo  'Test targets:'
        @echo  '  check           - Run all tests (check-help for details)'
        @echo  '  docker          - Help about targets running tests inside Docker containers'
+       @echo  '  vm-test         - Help about targets running tests inside VM'
        @echo  ''
        @echo  'Documentation targets:'
        @echo  '  html info pdf txt'
index 84cdb2b0a011271a46ea5b36b52cb1012888ea75..f4bbc2ca211f6bbfe290db02d1c235f4d6601c37 100755 (executable)
--- a/configure
+++ b/configure
@@ -6509,7 +6509,7 @@ if test "$ccache_cpp2" = "yes"; then
 fi
 
 # build tree in object directory in case the source is not in the current directory
-DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests"
+DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests tests/vm"
 DIRS="$DIRS docs docs/interop fsdev"
 DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw"
 DIRS="$DIRS roms/seabios roms/vgabios"
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
new file mode 100644 (file)
index 0000000..5daa2a3
--- /dev/null
@@ -0,0 +1,42 @@
+# Makefile for VM tests
+
+.PHONY: vm-build-all
+
+IMAGES := ubuntu.i386 freebsd netbsd openbsd
+IMAGE_FILES := $(patsubst %, tests/vm/%.img, $(IMAGES))
+
+.PRECIOUS: $(IMAGE_FILES)
+
+vm-test:
+       @echo "vm-test: Test QEMU in preconfigured virtual machines"
+       @echo
+       @echo "  vm-build-ubuntu.i386            - Build QEMU in ubuntu i386 VM"
+       @echo "  vm-build-freebsd                - Build QEMU in FreeBSD VM"
+       @echo "  vm-build-netbsd                 - Build QEMU in NetBSD VM"
+       @echo "  vm-build-openbsd                - Build QEMU in OpenBSD VM"
+
+vm-build-all: $(addprefix vm-build-, $(IMAGES))
+
+tests/vm/%.img: $(SRC_PATH)/tests/vm/% \
+               $(SRC_PATH)/tests/vm/basevm.py \
+               $(SRC_PATH)/tests/vm/Makefile.include
+       $(call quiet-command, \
+               $< \
+               $(if $(V)$(DEBUG), --debug) \
+               --image "$@" \
+               --force \
+               --build-image $@, \
+               "  VM-IMAGE $*")
+
+
+# Build in VM $(IMAGE)
+vm-build-%: tests/vm/%.img
+       $(call quiet-command, \
+               $(SRC_PATH)/tests/vm/$* \
+               $(if $(V)$(DEBUG), --debug) \
+               $(if $(DEBUG), --interactive) \
+               $(if $(J),--jobs $(J)) \
+               --image "$<" \
+               --build-qemu $(SRC_PATH), \
+               "  VM-BUILD $*")
+