Martin Roth has uploaded this change for review. ( https://review.coreboot.org/20877
Change subject: WIP: Add extended tests ......................................................................
WIP: Add extended tests
The basic tests were broken out of the what-jenkins-does target. These start to add additional tests that aren't currently done on the servers.
TODO: - Add save/restore of .config file - Add additional QEMU testing - Add additional abuild tests for flags that are typically disabled - Get extended payload test working - Need to create config files for each.
Change-Id: If8a126c5e12526611e3a02ea46c007bb5a997f55 Signed-off-by: Martin Roth martinroth@google.com --- M util/testing/Makefile.inc 1 file changed, 30 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/77/20877/1
diff --git a/util/testing/Makefile.inc b/util/testing/Makefile.inc index 160210b..1ff3b8a 100644 --- a/util/testing/Makefile.inc +++ b/util/testing/Makefile.inc @@ -16,11 +16,14 @@ @echo ' what-jenkins-does - Run platform build tests with junit output' @echo ' lint / lint-stable - run coreboot lint tools (all / minimal)' @echo ' test-basic - Run stardard build tests. All expected to pass.' + @echo ' test-extended - Run extended tests.' @echo ' test-lint - basic: Run stable and extended lint tests.' @echo ' test-tools - basic: Tests a basic list of tools.' @echo ' test-abuild - basic: Builds all platforms' @echo ' test-payloads - basic: Builds internal payloads' @echo ' test-cleanup - basic: Cleans coreboot directories' + @echo ' test-external-payloads - extended: Builds external payloads' + @echo ' test-qemu - extended: Builds & boots QEMU targets'
# junit.xml is a helper target to wrap builds that don't create junit.xml output # BLD = Subdirectory the build lives in - The name of the build @@ -63,6 +66,12 @@ coreinfo \ nvramcui
+TEST_PAYLOADLIST_EXTERNAL= \ +iPXE \ +Memtest86Plus \ +SeaBIOS \ +tint + JENKINS_PAYLOAD?=none TEST_PAYLOAD?=$(JENKINS_PAYLOAD) CPUS?=4 @@ -82,6 +91,8 @@
test-basic: test-lint test-tools test-abuild test-payloads test-cleanup
+test-extended: test-external_payloads test-qemu + test-lint: util/lint/lint lint-stable util/lint/lint-015-final-newlines @@ -100,6 +111,14 @@ $(MAKE) $(payload) -j $(CPUS) V=$(V) Q=$(Q)\ || exit 1; )
+test-external-payloads: + export MFLAGS=;export MAKEFLAGS=;\ + $(foreach payload, $(TEST_PAYLOADLIST_EXTERNAL), \ + echo "*** Making payload $$payload ***"; \ + $(MAKE) -C payloads/exeternal/$(payload) clean; \ + $(MAKE) $(payload) -j $(CPUS) V=$(V) Q=$(Q) \ + || exit 1; ) + test-tools: @echo "Build testing $(TOOLLIST)" $(foreach tool, $(TOOLLIST), $(MAKE) -C util/$(tool) clean ; ) @@ -107,6 +126,16 @@ $(foreach tool, $(TOOLLIST), echo "Building $(tool)";export MFLAGS= ;export MAKEFLAGS= ;$(MAKE) -C util/$(tool) all V=$(V) Q=$(Q) || exit 1; ) echo "Building romcc" $(MAKE) -C util/romcc all test -j $(CPUS) V=$(V) Q=$(Q) + +test-qemu: + cp $(top)/configs/config.emulation_qemu_x86_i440fx $(top)/.config + echo "CONFIG_PAYLOAD_NONE=y" > $(top)/.config + make olddefconfig; make clean; make all + qemu-system-x86_64 -bios build/coreboot.rom -serial file:QEMU.LOG -daemonize -pidfile $(top)/QEMU.PID + sleep 5 + kill $$(cat $(top)/QEMU.PID) + grep -q "Payload not loaded." $(top)/QEMU.LOG + rm $(top)/QEMU.PID $(top)/QEMU.LOG
test-cleanup: rm -rf coreboot-builds coreboot-builds-chromeos @@ -118,3 +147,4 @@ .PHONY: test-basic test-lint test-abuild test-payloads .PHONY: test-tools test-cleanup test-help .PHONY: lint lint-stable what-jenkins-does +.PHONY: test-extended test-external_payloads test-qemu