u-boot/test/run
Simon Glass 30d704c645 binman: Run code coverage tests
Binman has 100% test coverage for the code as it is at present. To
encourage it to stay that way, run the code-coverage test as part of the
normal U-Boot tests.

This is RFC because it requires the Python code coverage tools to be
available.

Signed-off-by: Simon Glass <sjg@chromium.org>
2018-01-15 18:29:21 -07:00

39 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
run_test() {
$@
[ $? -ne 0 ] && result=$((result+1))
}
result=0
# Run all tests that the standard sandbox build can support
run_test ./test/py/test.py --bd sandbox --build
# Run tests which require sandbox_spl
run_test ./test/py/test.py --bd sandbox_spl --build -k \
test/py/tests/test_ofplatdata.py
# Run tests for the flat DT version of sandbox
./test/py/test.py --bd sandbox_flattree --build
PYTHONPATH=build-sandbox_spl/scripts/dtc/pylibfdt run_test \
./tools/binman/binman -t
run_test ./tools/patman/patman --test
run_test ./tools/buildman/buildman -t
PYTHONPATH=build-sandbox_spl/scripts/dtc/pylibfdt run_test ./tools/dtoc/dtoc -t
# This needs you to set up Python test coverage tools.
# To enable Python test coverage on Debian-type distributions (e.g. Ubuntu):
# $ sudo apt-get install python-pip python-pytest
# $ sudo pip install coverage
PYTHONPATH=build-sandbox_spl/scripts/dtc/pylibfdt run_test \
./tools/binman/binman -T
if [ $result == 0 ]; then
echo "Tests passed!"
else
echo "Tests FAILED"
exit 1
fi