[coreboot-gerrit] Change in coreboot[master]: WIP: Add extended tests

Martin Roth (Code Review) gerrit at coreboot.org
Thu Aug 3 19:56:31 CEST 2017


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 at 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

-- 
To view, visit https://review.coreboot.org/20877
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: If8a126c5e12526611e3a02ea46c007bb5a997f55
Gerrit-Change-Number: 20877
Gerrit-PatchSet: 1
Gerrit-Owner: Martin Roth <martinroth at google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170803/33809a16/attachment.html>


More information about the coreboot-gerrit mailing list