run 1.7 KB
Newer Older
S
Simon Glass 已提交
1 2
#!/bin/bash

3 4 5 6 7
# Script to run all U-Boot tests that use sandbox.

# Runs a test and checks the exit code to decide if it passed
#  $1:         Test name
#  $2 onwards: command line to run
S
Simon Glass 已提交
8
run_test() {
9 10 11
	echo -n "$1: "
	shift
	"$@"
12
	[ $? -ne 0 ] && failures=$((failures+1))
S
Simon Glass 已提交
13
}
14

15
failures=0
16

17
# Run all tests that the standard sandbox build can support
18
run_test "sandbox" ./test/py/test.py --bd sandbox --build
19 20

# Run tests which require sandbox_spl
21 22
run_test "sandbox_spl" ./test/py/test.py --bd sandbox_spl --build \
	-k test_ofplatdata.py
23

24 25 26 27
# Run tests for the flat-device-tree version of sandbox. This is a special
# build which does not enable CONFIG_OF_LIVE for the live device tree, so we can
# check that functionality is the same. The standard sandbox build (above) uses
# CONFIG_OF_LIVE.
28 29
run_test "sandbox_flattree" ./test/py/test.py --bd sandbox_flattree --build \
	-k test_ut
S
Simon Glass 已提交
30

S
Simon Glass 已提交
31 32
# Set up a path to dtc (device-tree compiler) and libfdt.py, a library it
# provides and which is built by the sandbox_spl config.
33
DTC_DIR=build-sandbox_spl/scripts/dtc
S
Simon Glass 已提交
34 35
export PYTHONPATH=${DTC_DIR}/pylibfdt
export DTC=${DTC_DIR}/dtc
36

37 38 39
run_test "binman" ./tools/binman/binman -t
run_test "patman" ./tools/patman/patman --test
run_test "buildman" ./tools/buildman/buildman -t
40
run_test "fdt" ./tools/dtoc/test_fdt -t
41
run_test "dtoc" ./tools/dtoc/dtoc -t
S
Simon Glass 已提交
42

S
Simon Glass 已提交
43 44
# This needs you to set up Python test coverage tools.
# To enable Python test coverage on Debian-type distributions (e.g. Ubuntu):
T
Tom Rini 已提交
45
#   $ sudo apt-get install python-pytest python-coverage
46 47 48
run_test "binman code coverage" ./tools/binman/binman -T
run_test "dtoc code coverage" ./tools/dtoc/dtoc -T
run_test "fdt code coverage" ./tools/dtoc/test_fdt -T
S
Simon Glass 已提交
49

50
if [ $failures == 0 ]; then
S
Simon Glass 已提交
51 52 53 54 55
	echo "Tests passed!"
else
	echo "Tests FAILED"
	exit 1
fi