]>
Commit | Line | Data |
---|---|---|
2f52018c SG |
1 | #!/bin/bash |
2 | ||
c9adb355 | 3 | # Script to run all U-Boot tests that use sandbox. |
499fde5c | 4 | # $1: tests to run (empty for all, 'quick' for quick ones only) |
c9adb355 SG |
5 | |
6 | # Runs a test and checks the exit code to decide if it passed | |
7 | # $1: Test name | |
8 | # $2 onwards: command line to run | |
2f52018c | 9 | run_test() { |
c9adb355 SG |
10 | echo -n "$1: " |
11 | shift | |
12 | "$@" | |
3bc11e81 | 13 | [ $? -ne 0 ] && failures=$((failures+1)) |
2f52018c | 14 | } |
07f4eadc | 15 | |
499fde5c SG |
16 | # SKip slow tests if requested |
17 | [ "$1" == "quick" ] && mark_expr="not slow" | |
18 | ||
3bc11e81 | 19 | failures=0 |
73a01d90 | 20 | |
029ab15a | 21 | # Run all tests that the standard sandbox build can support |
499fde5c | 22 | run_test "sandbox" ./test/py/test.py --bd sandbox --build -m "${mark_expr}" |
029ab15a SG |
23 | |
24 | # Run tests which require sandbox_spl | |
c9adb355 | 25 | run_test "sandbox_spl" ./test/py/test.py --bd sandbox_spl --build \ |
b0edea3c | 26 | -k 'test_ofplatdata or test_handoff' |
029ab15a | 27 | |
3bc11e81 SG |
28 | # Run tests for the flat-device-tree version of sandbox. This is a special |
29 | # build which does not enable CONFIG_OF_LIVE for the live device tree, so we can | |
30 | # check that functionality is the same. The standard sandbox build (above) uses | |
31 | # CONFIG_OF_LIVE. | |
2673afe2 SG |
32 | run_test "sandbox_flattree" ./test/py/test.py --bd sandbox_flattree --build \ |
33 | -k test_ut | |
2f52018c | 34 | |
734f3de9 SG |
35 | # Set up a path to dtc (device-tree compiler) and libfdt.py, a library it |
36 | # provides and which is built by the sandbox_spl config. | |
ed772fe7 | 37 | DTC_DIR=build-sandbox_spl/scripts/dtc |
734f3de9 SG |
38 | export PYTHONPATH=${DTC_DIR}/pylibfdt |
39 | export DTC=${DTC_DIR}/dtc | |
ed772fe7 | 40 | |
c9adb355 SG |
41 | run_test "binman" ./tools/binman/binman -t |
42 | run_test "patman" ./tools/patman/patman --test | |
499fde5c SG |
43 | |
44 | [ "$1" == "quick" ] && skip=--skip-net-tests | |
45 | run_test "buildman" ./tools/buildman/buildman -t ${skip} | |
3bc11e81 | 46 | run_test "fdt" ./tools/dtoc/test_fdt -t |
c9adb355 | 47 | run_test "dtoc" ./tools/dtoc/dtoc -t |
72d8172b | 48 | |
30d704c6 SG |
49 | # This needs you to set up Python test coverage tools. |
50 | # To enable Python test coverage on Debian-type distributions (e.g. Ubuntu): | |
16d836cd | 51 | # $ sudo apt-get install python-pytest python-coverage |
c9adb355 SG |
52 | run_test "binman code coverage" ./tools/binman/binman -T |
53 | run_test "dtoc code coverage" ./tools/dtoc/dtoc -T | |
54 | run_test "fdt code coverage" ./tools/dtoc/test_fdt -T | |
30d704c6 | 55 | |
3bc11e81 | 56 | if [ $failures == 0 ]; then |
2f52018c SG |
57 | echo "Tests passed!" |
58 | else | |
59 | echo "Tests FAILED" | |
60 | exit 1 | |
61 | fi |