[U-Boot,06/26] test/run: Report and return failure

Message ID 20171113045231.15911-7-sjg@chromium.org
State New
Delegated to: Simon Glass
Headers show
Series
  • test: Include Python tools in test coverage
Related show

Commit Message

Simon Glass Nov. 13, 2017, 4:52 a.m.
This script runs the tests but does not report failure. Also it always
returns an exit code of 0 even on failure.

Fix these problems by checking the result of each test.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 test/run | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

Patch

diff --git a/test/run b/test/run
index b1649ee1015..caee4f83f2c 100755
--- a/test/run
+++ b/test/run
@@ -1,10 +1,24 @@ 
-#!/bin/sh
+#!/bin/bash
+
+run_test() {
+	$@
+	[ $? -ne 0 ] && result=$((result+1))
+	echo "result $result"
+}
 
 # Run all tests that the standard sandbox build can support
-./test/py/test.py --bd sandbox --build
+run_test ./test/py/test.py --bd sandbox --build
 
 # Run tests which require sandbox_spl
-./test/py/test.py --bd sandbox_spl --build -k test/py/tests/test_ofplatdata.py
+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
+
+if [ $result == 0 ]; then
+	echo "Tests passed!"
+else
+	echo "Tests FAILED"
+	exit 1
+fi