9482807f1d
coreboot test targets help section was missing an empty line at the end. This caused the next help section to be visually merged with it. Empty line makes help output more aesthetic. Signed-off-by: Jakub Czapiga <jacz@semihalf.com> Change-Id: I2f7202b0a636f62b60788215058611c9c86183de Reviewed-on: https://review.coreboot.org/c/coreboot/+/54367 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
139 lines
6.4 KiB
Makefile
139 lines
6.4 KiB
Makefile
## SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
test-help help::
|
|
@echo '*** coreboot test targets ***'
|
|
@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-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
|
|
|
|
# junit.xml is a helper target to wrap builds that don't create junit.xml output
|
|
# BLD = The name of the build
|
|
# BLD_DIR = Top path from coreboot to the build subdirectory
|
|
# MAKETARGET = target to build
|
|
junit.xml:
|
|
echo "Building $(BLD)"
|
|
echo '<?xml version="1.0" encoding="utf-8"?><testsuite>' > $@.tmp
|
|
echo "<testcase classname='$(BLD)' name='$(BLD)'>" >> $@.tmp
|
|
-if [ -z "$(BLD_DIR)" ]; then \
|
|
projdir=""; \
|
|
xmlfile=junit_$(BLD).xml; \
|
|
else \
|
|
projdir="-C $(BLD_DIR)"; \
|
|
xmlfile="$(BLD_DIR)/$@"; \
|
|
fi; \
|
|
if [ -z "$(SKIP_DISTCLEAN)" ]; then \
|
|
$(MAKE) -j $(CPUS) $$projdir clean distclean > $@.tmp.2 2>&1 ; \
|
|
fi; \
|
|
if $(MAKE) -j $(CPUS) $$projdir $(MAKETARGET) >> $@.tmp.2 2>&1; then \
|
|
type="system-out"; \
|
|
echo "<$$type>" >> $@.tmp; \
|
|
echo "Building $(BLD) Succeeded"; \
|
|
else \
|
|
type="failure"; \
|
|
echo "<failure type='buildFailed'>" >> $@.tmp; \
|
|
echo "Building $(BLD) Failed"; \
|
|
fi; \
|
|
cat $@.tmp.2; \
|
|
echo '<![CDATA[' >> $@.tmp; \
|
|
cat $@.tmp.2 >> $@.tmp; \
|
|
echo "]]></$$type>" >>$@.tmp; \
|
|
rm -f $@.tmp.2; \
|
|
echo "</testcase>" >> $@.tmp; \
|
|
echo "</testsuite>" >> $@.tmp; \
|
|
mv $@.tmp "$$xmlfile"
|
|
echo
|
|
|
|
TOOLLIST= \
|
|
amdfwtool \
|
|
cbmem \
|
|
ectool \
|
|
futility \
|
|
intelmetool \
|
|
inteltool \
|
|
intelvbttool \
|
|
nvramtool \
|
|
post \
|
|
superiotool
|
|
|
|
TEST_PAYLOADLIST_INTERNAL= \
|
|
coreinfo \
|
|
nvramcui
|
|
|
|
JENKINS_PAYLOAD?=none
|
|
TEST_PAYLOAD?=$(JENKINS_PAYLOAD)
|
|
CPUS?=4
|
|
|
|
lint lint-stable lint-extended:
|
|
util/lint/lint $@
|
|
|
|
ABUILD_OPTIONS=-B -J -c $(CPUS) -Z -p $(JENKINS_PAYLOAD)
|
|
ABUILD_OPTIONS+=$(if $(V),-v,)
|
|
ABUILD_OPTIONS+=$(if $(JENKINS_NOCCACHE),,-y)
|
|
ABUILD_OPTIONS+=$(JENKINS_ABUILD_OPT)
|
|
|
|
COREBOOT_BUILD_DIR?=coreboot-builds
|
|
|
|
what-jenkins-does:
|
|
rm -rf $(COREBOOT_BUILD_DIR)/chromeos $(COREBOOT_BUILD_DIR)/default
|
|
ifneq ($(JENKINS_SKIP_LINT_TESTS),y)
|
|
util/lint/lint lint-stable --junit
|
|
util/lint/lint lint-extended --junit
|
|
endif
|
|
util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/chromeos $(ABUILD_OPTIONS) -x -X $(top)/abuild-chromeos.xml
|
|
util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/default $(ABUILD_OPTIONS)
|
|
$(foreach tool, $(TOOLLIST), $(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR="util/$(tool)" BLD="$(tool)" MFLAGS= MAKEFLAGS= MAKETARGET= junit.xml; )
|
|
unset COREBOOT_BUILD_DIR;$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=payloads/nvramcui BLD=nvramcui MFLAGS= MAKEFLAGS= MAKETARGET=all junit.xml
|
|
unset COREBOOT_BUILD_DIR;$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=payloads/coreinfo BLD=coreinfo MFLAGS= MAKEFLAGS= MAKETARGET=defaultbuild junit.xml
|
|
(cd payloads/libpayload; unset COREBOOT_BUILD_DIR; $(MAKE) $(if $(JENKINS_NOCCACHE),,CONFIG_LP_CCACHE=y) V=$(V) Q=$(Q) junit.xml)
|
|
# These targets don't use the standard build system, so we need to provide an xcompile to them.
|
|
$(MAKE) xcompile=$(COREBOOT_BUILD_DIR)/xcompile $(COREBOOT_BUILD_DIR)/xcompile
|
|
$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=src/soc/nvidia/tegra124/lp0 BLD=tegra124_lp0 MFLAGS= MAKEFLAGS=xcompile=$(COREBOOT_BUILD_DIR)/xcompile MAKETARGET=all junit.xml
|
|
$(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) BLD_DIR=src/soc/nvidia/tegra210/lp0 BLD=tegra120_lp0 MFLAGS= MAKEFLAGS=xcompile=$(COREBOOT_BUILD_DIR)/xcompile MAKETARGET=all junit.xml
|
|
$(MAKE) unit-tests JUNIT_OUTPUT=y
|
|
|
|
test-basic: test-lint test-tools test-abuild test-payloads test-cleanup
|
|
|
|
test-lint:
|
|
util/lint/lint lint-stable
|
|
util/lint/lint lint-extended
|
|
|
|
test-abuild:
|
|
rm -rf coreboot-builds-chromeos coreboot-builds
|
|
util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/chromeos -B -e $(if $(TEST_NOCCACHE),,-y) -c $(CPUS) -p $(TEST_PAYLOAD) -x
|
|
util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/default -B -e $(if $(TEST_NOCCACHE),,-y) -c $(CPUS) -p $(TEST_PAYLOAD)
|
|
|
|
test-payloads:
|
|
$(MAKE) -C payloads/libpayload test-configs -j $(CPUS) V=$(V) Q=$(Q) MFLAGS= MAKEFLAGS= $(if $(TEST_NOCCACHE),,CONFIG_LP_CCACHE=y)
|
|
export MFLAGS=;export MAKEFLAGS=; \
|
|
$(foreach payload, $(TEST_PAYLOADLIST_INTERNAL), \
|
|
echo "*** Making payload $(payload) ***"; \
|
|
$(MAKE) -C payloads/$(payload) distclean ;\
|
|
$(MAKE) $(payload) -j $(CPUS) V=$(V) Q=$(Q)\
|
|
|| exit 1; )
|
|
|
|
test-tools:
|
|
@echo "Build testing $(TOOLLIST)"
|
|
$(foreach tool, $(TOOLLIST), $(MAKE) -C util/$(tool) clean ; )
|
|
$(foreach tool, $(TOOLLIST), echo "Building $(tool)";export MFLAGS= ;export MAKEFLAGS= ;$(MAKE) -C util/$(tool) all V=$(V) Q=$(Q) || exit 1; )
|
|
@echo "Running gitconfig tests"
|
|
@for test in $$(find util/gitconfig/test -maxdepth 1 \
|
|
-type f -executable); do \
|
|
echo "$${test}"; \
|
|
"$${test}" || exit $${?}; \
|
|
done
|
|
|
|
test-cleanup:
|
|
rm -rf coreboot-builds coreboot-builds-chromeos
|
|
$(MAKE) clean
|
|
$(MAKE) distclean
|
|
$(foreach tool, $(TOOLLIST), $(MAKE) -C util/$(tool) clean ; )
|
|
|
|
.PHONY: test-basic test-lint test-abuild test-payloads
|
|
.PHONY: test-tools test-cleanup test-help
|
|
.PHONY: lint lint-stable what-jenkins-does
|