Make: Move testing into a subdirectory
In preparation for expanding the testing, move the test targets out of the top level Makefile.inc and into a separate subdirectory. Change-Id: Ie252c7555223f9ce76b54e6f7b66d03f3cf60500 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/20873 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Chris Ching <chingcodes@google.com>
This commit is contained in:
parent
fea92167f9
commit
e624e270e6
1
Makefile
1
Makefile
|
@ -124,6 +124,7 @@ endif
|
||||||
ifeq ($(NOCOMPILE),1)
|
ifeq ($(NOCOMPILE),1)
|
||||||
include $(TOPLEVEL)/Makefile.inc
|
include $(TOPLEVEL)/Makefile.inc
|
||||||
include $(TOPLEVEL)/payloads/Makefile.inc
|
include $(TOPLEVEL)/payloads/Makefile.inc
|
||||||
|
include $(TOPLEVEL)/util/testing/Makefile.inc
|
||||||
real-all:
|
real-all:
|
||||||
@echo "Error: Expected config file ($(DOTCONFIG)) not present." >&2
|
@echo "Error: Expected config file ($(DOTCONFIG)) not present." >&2
|
||||||
@echo "Please specify a config file or run 'make menuconfig' to" >&2
|
@echo "Please specify a config file or run 'make menuconfig' to" >&2
|
||||||
|
|
46
Makefile.inc
46
Makefile.inc
|
@ -93,7 +93,7 @@ subdirs-y += src/vboot
|
||||||
subdirs-y += payloads payloads/external
|
subdirs-y += payloads payloads/external
|
||||||
|
|
||||||
subdirs-y += site-local
|
subdirs-y += site-local
|
||||||
subdirs-y += util/checklist
|
subdirs-y += util/checklist util/testing
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
# Add source classes and their build options
|
# Add source classes and their build options
|
||||||
|
@ -1041,47 +1041,3 @@ check-ramstage-overlaps: $(obj)/coreboot.pre
|
||||||
INTERMEDIATE+=check-ramstage-overlaps
|
INTERMEDIATE+=check-ramstage-overlaps
|
||||||
PHONY+=check-ramstage-overlaps
|
PHONY+=check-ramstage-overlaps
|
||||||
endif
|
endif
|
||||||
|
|
||||||
junit.xml:
|
|
||||||
echo "Building $(BLD)"
|
|
||||||
echo '<?xml version="1.0" encoding="utf-8"?><testsuite>' > $@.tmp
|
|
||||||
echo "<testcase classname='$(BLD)' name='$(BLD)'>" >> $@.tmp
|
|
||||||
-$(MAKE) -j $(CPUS) -C "$(BLD_DIR)$(BLD)" clean distclean > $@.tmp.2 2>&1
|
|
||||||
$(MAKE) -j $(CPUS) -C "$(BLD_DIR)$(BLD)" $(MAKETARGET) >> $@.tmp.2 2>&1 && type="system-out" || type="failure"; \
|
|
||||||
cat $@.tmp.2; \
|
|
||||||
if [ "$$type" = "failure" ]; then \
|
|
||||||
echo "<failure type='buildFailed'>" >> $@.tmp; \
|
|
||||||
echo "Building $(BLD) Failed"; \
|
|
||||||
else \
|
|
||||||
echo "<$$type>" >> $@.tmp; \
|
|
||||||
echo "Building $(BLD) Succeeded"; \
|
|
||||||
fi; \
|
|
||||||
echo '<![CDATA[' >> $@.tmp; \
|
|
||||||
cat $@.tmp.2 >> $@.tmp; \
|
|
||||||
echo "]]></$$type>" >>$@.tmp
|
|
||||||
rm -f $@.tmp.2
|
|
||||||
echo "</testcase>" >> $@.tmp
|
|
||||||
echo "</testsuite>" >> $@.tmp
|
|
||||||
mv $@.tmp "$(BLD_DIR)$(BLD)/$@"
|
|
||||||
echo
|
|
||||||
|
|
||||||
TOOLLIST= \
|
|
||||||
cbmem \
|
|
||||||
ectool \
|
|
||||||
futility \
|
|
||||||
inteltool \
|
|
||||||
intelvbttool \
|
|
||||||
nvramtool \
|
|
||||||
superiotool \
|
|
||||||
viatool
|
|
||||||
JENKINS_PAYLOAD?=none
|
|
||||||
CPUS?=4
|
|
||||||
what-jenkins-does:
|
|
||||||
util/lint/lint lint-stable --junit
|
|
||||||
util/abuild/abuild -B -J $(if $(JENKINS_NOCCACHE),,-y) -c $(CPUS) -z -p $(JENKINS_PAYLOAD) -x -X $(top)/abuild-chromeos.xml
|
|
||||||
util/abuild/abuild -B -J $(if $(JENKINS_NOCCACHE),,-y) -c $(CPUS) -z -p $(JENKINS_PAYLOAD)
|
|
||||||
(cd payloads/libpayload; unset COREBOOT_BUILD_DIR; $(MAKE) $(if $(JENKINS_NOCCACHE),,CONFIG_LP_CCACHE=y) V=$(V) Q=$(Q) junit.xml)
|
|
||||||
$(foreach tool, $(TOOLLIST), $(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=util/ BLD="$(tool)" MFLAGS= MAKEFLAGS= MAKETARGET= junit.xml; )
|
|
||||||
unset COREBOOT_BUILD_DIR;$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=payloads/ BLD=nvramcui MFLAGS= MAKEFLAGS= MAKETARGET=all junit.xml
|
|
||||||
unset COREBOOT_BUILD_DIR;$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=payloads/ BLD=coreinfo MFLAGS= MAKEFLAGS= MAKETARGET=defaultbuild junit.xml
|
|
||||||
$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=util/ BLD=romcc MFLAGS= MAKEFLAGS= MAKETARGET=test junit.xml
|
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
##
|
||||||
|
## This file is part of the coreboot project.
|
||||||
|
##
|
||||||
|
## This program is free software; you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU General Public License as published by
|
||||||
|
## the Free Software Foundation; version 2 of the License.
|
||||||
|
##
|
||||||
|
## This program is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU General Public License for more details.
|
||||||
|
##
|
||||||
|
|
||||||
|
junit.xml:
|
||||||
|
echo "Building $(BLD)"
|
||||||
|
echo '<?xml version="1.0" encoding="utf-8"?><testsuite>' > $@.tmp
|
||||||
|
echo "<testcase classname='$(BLD)' name='$(BLD)'>" >> $@.tmp
|
||||||
|
-$(MAKE) -j $(CPUS) -C "$(BLD_DIR)$(BLD)" clean distclean > $@.tmp.2 2>&1
|
||||||
|
$(MAKE) -j $(CPUS) -C "$(BLD_DIR)$(BLD)" $(MAKETARGET) >> $@.tmp.2 2>&1 && type="system-out" || type="failure"; \
|
||||||
|
cat $@.tmp.2; \
|
||||||
|
if [ "$$type" = "failure" ]; then \
|
||||||
|
echo "<failure type='buildFailed'>" >> $@.tmp; \
|
||||||
|
echo "Building $(BLD) Failed"; \
|
||||||
|
else \
|
||||||
|
echo "<$$type>" >> $@.tmp; \
|
||||||
|
echo "Building $(BLD) Succeeded"; \
|
||||||
|
fi; \
|
||||||
|
echo '<![CDATA[' >> $@.tmp; \
|
||||||
|
cat $@.tmp.2 >> $@.tmp; \
|
||||||
|
echo "]]></$$type>" >>$@.tmp
|
||||||
|
rm -f $@.tmp.2
|
||||||
|
echo "</testcase>" >> $@.tmp
|
||||||
|
echo "</testsuite>" >> $@.tmp
|
||||||
|
mv $@.tmp "$(BLD_DIR)$(BLD)/$@"
|
||||||
|
echo
|
||||||
|
|
||||||
|
TOOLLIST= \
|
||||||
|
cbmem \
|
||||||
|
ectool \
|
||||||
|
futility \
|
||||||
|
inteltool \
|
||||||
|
intelvbttool \
|
||||||
|
nvramtool \
|
||||||
|
superiotool \
|
||||||
|
viatool
|
||||||
|
JENKINS_PAYLOAD?=none
|
||||||
|
CPUS?=4
|
||||||
|
what-jenkins-does:
|
||||||
|
util/lint/lint lint-stable --junit
|
||||||
|
util/abuild/abuild -B -J $(if $(JENKINS_NOCCACHE),,-y) -c $(CPUS) -z -p $(JENKINS_PAYLOAD) -x -X $(top)/abuild-chromeos.xml
|
||||||
|
util/abuild/abuild -B -J $(if $(JENKINS_NOCCACHE),,-y) -c $(CPUS) -z -p $(JENKINS_PAYLOAD)
|
||||||
|
(cd payloads/libpayload; unset COREBOOT_BUILD_DIR; $(MAKE) $(if $(JENKINS_NOCCACHE),,CONFIG_LP_CCACHE=y) V=$(V) Q=$(Q) junit.xml)
|
||||||
|
$(foreach tool, $(TOOLLIST), $(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=util/ BLD="$(tool)" MFLAGS= MAKEFLAGS= MAKETARGET= junit.xml; )
|
||||||
|
unset COREBOOT_BUILD_DIR;$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=payloads/ BLD=nvramcui MFLAGS= MAKEFLAGS= MAKETARGET=all junit.xml
|
||||||
|
unset COREBOOT_BUILD_DIR;$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=payloads/ BLD=coreinfo MFLAGS= MAKEFLAGS= MAKETARGET=defaultbuild junit.xml
|
||||||
|
$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=util/ BLD=romcc MFLAGS= MAKEFLAGS= MAKETARGET=test junit.xml
|
Loading…
Reference in New Issue