Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 Makefile                  |  2 ++
 configure                 |  2 +-
 tests/vm/Makefile.include | 40 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 tests/vm/Makefile.include
diff --git a/Makefile b/Makefile
index 81447b1f08..2798a5ca69 100644
--- a/Makefile
+++ b/Makefile
@@ -813,6 +813,7 @@ endif
 -include $(wildcard *.d tests/*.d)
 
 include $(SRC_PATH)/tests/docker/Makefile.include
+include $(SRC_PATH)/tests/vm/Makefile.include
 
 .PHONY: help
 help:
@@ -836,6 +837,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 dd73cce62f..9a3052e9ad 100755
--- a/configure
+++ b/configure
@@ -6544,7 +6544,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..6e133ae2a6
--- /dev/null
+++ b/tests/vm/Makefile.include
@@ -0,0 +1,40 @@
+# 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-freebsd                - Build QEMU in OpenBSD VM"
+
+vm-build-all: $(addprefix vm-build-, $(IMAGES))
+
+tests/vm/%.img: $(SRC_PATH)/tests/vm/%
+	$(call quiet-command, \
+		$(SRC_PATH)/tests/vm/$* \
+		$(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 $*")
+
-- 
2.13.5
                
            On 08/28/2017 02:47 PM, Fam Zheng wrote: > Signed-off-by: Fam Zheng <famz@redhat.com> > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > Makefile | 2 ++ > configure | 2 +- > tests/vm/Makefile.include | 40 ++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 43 insertions(+), 1 deletion(-) > create mode 100644 tests/vm/Makefile.include > > diff --git a/Makefile b/Makefile > index 81447b1f08..2798a5ca69 100644 > --- a/Makefile > +++ b/Makefile > @@ -813,6 +813,7 @@ endif > -include $(wildcard *.d tests/*.d) > > include $(SRC_PATH)/tests/docker/Makefile.include > +include $(SRC_PATH)/tests/vm/Makefile.include > > .PHONY: help > help: > @@ -836,6 +837,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 dd73cce62f..9a3052e9ad 100755 > --- a/configure > +++ b/configure > @@ -6544,7 +6544,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..6e133ae2a6 > --- /dev/null > +++ b/tests/vm/Makefile.include > @@ -0,0 +1,40 @@ > +# 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-freebsd - Build QEMU in OpenBSD VM" vm-build-openbsd ;) is it possible to specify OS version? like "vm-build-ubuntu:16.04@i386" and having a default: "vm-build-ubuntu@i386" -> "vm-build-ubuntu:16.04@i386" > + > +vm-build-all: $(addprefix vm-build-, $(IMAGES)) > + > +tests/vm/%.img: $(SRC_PATH)/tests/vm/% > + $(call quiet-command, \ > + $(SRC_PATH)/tests/vm/$* \ > + $(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 $*") > + >
On Mon, 08/28 17:18, Philippe Mathieu-Daudé wrote: > On 08/28/2017 02:47 PM, Fam Zheng wrote: > > Signed-off-by: Fam Zheng <famz@redhat.com> > > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> > > --- > > Makefile | 2 ++ > > configure | 2 +- > > tests/vm/Makefile.include | 40 ++++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 43 insertions(+), 1 deletion(-) > > create mode 100644 tests/vm/Makefile.include > > > > diff --git a/Makefile b/Makefile > > index 81447b1f08..2798a5ca69 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -813,6 +813,7 @@ endif > > -include $(wildcard *.d tests/*.d) > > include $(SRC_PATH)/tests/docker/Makefile.include > > +include $(SRC_PATH)/tests/vm/Makefile.include > > .PHONY: help > > help: > > @@ -836,6 +837,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 dd73cce62f..9a3052e9ad 100755 > > --- a/configure > > +++ b/configure > > @@ -6544,7 +6544,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..6e133ae2a6 > > --- /dev/null > > +++ b/tests/vm/Makefile.include > > @@ -0,0 +1,40 @@ > > +# 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-freebsd - Build QEMU in OpenBSD VM" > > vm-build-openbsd ;) Yes, thanks! > > is it possible to specify OS version? > > like "vm-build-ubuntu:16.04@i386" and having a default: > > "vm-build-ubuntu@i386" -> "vm-build-ubuntu:16.04@i386" Maybe, when we do have more than one options. :) Fam > > > + > > +vm-build-all: $(addprefix vm-build-, $(IMAGES)) > > + > > +tests/vm/%.img: $(SRC_PATH)/tests/vm/% > > + $(call quiet-command, \ > > + $(SRC_PATH)/tests/vm/$* \ > > + $(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 $*") > > + > > >
© 2016 - 2025 Red Hat, Inc.