30d704c645
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>
39 lines
1.0 KiB
Bash
Executable File
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
|