Makefile: Add rules to run vm tests

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>
This commit is contained in:
Fam Zheng 2017-09-05 10:11:58 +08:00
parent fdfaa33291
commit b1fb9a63fc
3 changed files with 45 additions and 1 deletions

View File

@ -811,6 +811,7 @@ endif
-include $(wildcard *.d tests/*.d) -include $(wildcard *.d tests/*.d)
include $(SRC_PATH)/tests/docker/Makefile.include include $(SRC_PATH)/tests/docker/Makefile.include
include $(SRC_PATH)/tests/vm/Makefile.include
.PHONY: help .PHONY: help
help: help:
@ -834,6 +835,7 @@ help:
@echo 'Test targets:' @echo 'Test targets:'
@echo ' check - Run all tests (check-help for details)' @echo ' check - Run all tests (check-help for details)'
@echo ' docker - Help about targets running tests inside Docker containers' @echo ' docker - Help about targets running tests inside Docker containers'
@echo ' vm-test - Help about targets running tests inside VM'
@echo '' @echo ''
@echo 'Documentation targets:' @echo 'Documentation targets:'
@echo ' html info pdf txt' @echo ' html info pdf txt'

2
configure vendored
View File

@ -6509,7 +6509,7 @@ if test "$ccache_cpp2" = "yes"; then
fi fi
# build tree in object directory in case the source is not in the current directory # 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 docs docs/interop fsdev"
DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw" DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw"
DIRS="$DIRS roms/seabios roms/vgabios" DIRS="$DIRS roms/seabios roms/vgabios"

42
tests/vm/Makefile.include Normal file
View File

@ -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 $*")