[Qemu-devel] [PATCH v4 08/10] Makefile: Add rules to run vm tests

Fam Zheng posted 10 patches 8 years, 2 months ago
There is a newer version of this series
[Qemu-devel] [PATCH v4 08/10] Makefile: Add rules to run vm tests
Posted by Fam Zheng 8 years, 2 months ago
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


Re: [Qemu-devel] [PATCH v4 08/10] Makefile: Add rules to run vm tests
Posted by Philippe Mathieu-Daudé 8 years, 2 months ago
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 $*")
> +
> 

Re: [Qemu-devel] [PATCH v4 08/10] Makefile: Add rules to run vm tests
Posted by Fam Zheng 8 years, 2 months ago
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 $*")
> > +
> > 
>