diff mbox series

[v8,10/13] Makefile: Add rules to run vm tests

Message ID 20170918024402.3265-11-famz@redhat.com
State New
Headers show
Series tests: Add VM based build tests (for non-x86_64 and/or non-Linux) | expand

Commit Message

Fam Zheng Sept. 18, 2017, 2:43 a.m. UTC
Signed-off-by: Fam Zheng <famz@redhat.com>
---
 Makefile                  |  2 ++
 configure                 |  2 +-
 tests/vm/Makefile.include | 42 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 1 deletion(-)
 create mode 100644 tests/vm/Makefile.include

Comments

Alex Bennée Sept. 18, 2017, 11:42 a.m. UTC | #1
Fam Zheng <famz@redhat.com> writes:

> Signed-off-by: Fam Zheng <famz@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  Makefile                  |  2 ++
>  configure                 |  2 +-
>  tests/vm/Makefile.include | 42 ++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 45 insertions(+), 1 deletion(-)
>  create mode 100644 tests/vm/Makefile.include
>
> diff --git a/Makefile b/Makefile
> index b53fc69a60..79684ab138 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -812,6 +812,7 @@ endif
>  -include $(wildcard *.d tests/*.d)
>
>  include $(SRC_PATH)/tests/docker/Makefile.include
> +include $(SRC_PATH)/tests/vm/Makefile.include
>
>  .PHONY: help
>  help:
> @@ -835,6 +836,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'
> diff --git a/configure b/configure
> index 94db2d103e..bbf053e3e0 100755
> --- a/configure
> +++ b/configure
> @@ -6505,7 +6505,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
> index 0000000000..5daa2a3b73
> --- /dev/null
> +++ b/tests/vm/Makefile.include
> @@ -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 $*")
> +


--
Alex Bennée
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index b53fc69a60..79684ab138 100644
--- a/Makefile
+++ b/Makefile
@@ -812,6 +812,7 @@  endif
 -include $(wildcard *.d tests/*.d)
 
 include $(SRC_PATH)/tests/docker/Makefile.include
+include $(SRC_PATH)/tests/vm/Makefile.include
 
 .PHONY: help
 help:
@@ -835,6 +836,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'
diff --git a/configure b/configure
index 94db2d103e..bbf053e3e0 100755
--- a/configure
+++ b/configure
@@ -6505,7 +6505,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
index 0000000000..5daa2a3b73
--- /dev/null
+++ b/tests/vm/Makefile.include
@@ -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 $*")
+