From: Fam Zheng <famz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>
Subject: [Qemu-devel] [PULL 32/36] Makefile: Add rules to run vm tests
Date: Fri, 22 Sep 2017 15:46:55 +0800	[thread overview]
Message-ID: <20170922074659.30097-33-famz@redhat.com> (raw)
In-Reply-To: <20170922074659.30097-1-famz@redhat.com>
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                  |  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 eb831b98d1..d1501a07ee 100644
--- 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'
diff --git a/configure b/configure
index 84cdb2b0a0..f4bbc2ca21 100755
--- 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
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 $*")
+
-- 
2.13.5
next prev parent reply	other threads:[~2017-09-22  7:48 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-22  7:46 [Qemu-devel] [PULL v5 00/36] Build and test automation patches Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 01/36] docker: ensure NOUSER for travis images Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 02/36] docker: docker.py make --no-cache skip checksum test Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 03/36] docker: don't install device-tree-compiler build-deps in travis.docker Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 04/36] docker: reduce noise when building travis.docker Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 05/36] docker: Update ubuntu image Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 06/36] docker: Enable features explicitly in test-full Fam Zheng
2017-10-02 14:21   ` Paolo Bonzini
2017-10-18  8:09     ` Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 07/36] tests/docker: Clean up paths Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 08/36] docker: Fix return code of build_qemu() Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 09/36] docker: Add test_fail and prep_fail Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 10/36] docker: Use unconfined security profile Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 11/36] docker: Add nettle-devel to fedora image Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 12/36] docker: Add test-block Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 13/36] vl: Don't include vde header Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 14/36] buildsys: Move vde libs to per object Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 15/36] buildsys: Move sdl cflags/libs " Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 16/36] buildsys: Move audio libs " Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 17/36] buildsys: Move libcacard cflags/libs " Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 18/36] buildsys: Move libusb " Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 19/36] buildsys: Move usb redir " Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 20/36] buildsys: Move brlapi libs " Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 21/36] buildsys: Move rdma " Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 22/36] MAINTAINERS: Fix subsystem name for "Build and test automation" Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 23/36] gitignore: Ignore vm test images Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 24/36] qemu.py: Add "wait()" method Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 25/36] scripts: Add archive-source.sh Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 26/36] tests: Add a test key pair Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 27/36] tests: Add vm test lib Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 28/36] tests: Add ubuntu.i386 image Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 29/36] tests: Add FreeBSD image Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 30/36] tests: Add NetBSD image Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 31/36] tests: Add OpenBSD image Fam Zheng
2017-09-22  7:46 ` Fam Zheng [this message]
2017-09-22  7:46 ` [Qemu-devel] [PULL 33/36] MAINTAINERS: Add tests/vm entry Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 34/36] tests: Add README for vm tests Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 35/36] docker: Use archive-source.py Fam Zheng
2017-09-22  7:46 ` [Qemu-devel] [PULL 36/36] docker: Drop 'set -e' from run script Fam Zheng
2017-09-22 11:55 ` [Qemu-devel] [PULL v5 00/36] Build and test automation patches Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=20170922074659.30097-33-famz@redhat.com \
    --to=famz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).