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