From 38d09b462d90675d49b24e9a6e2612bbc2fb40e5 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 14 Nov 2023 14:52:27 +0200 Subject: scripts: Fix computation of the total number of tests If a test scripts outputs a line that doesn't match the pass/fail/skipped criteria, the line is counted in the total number of tests run, but not attributed to any individual category. This results in a summary message such as 189 tests: 170 passed, 0 failed, 3 skipped Fix it by ignoring those lines. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- scripts/vsp-tests.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/vsp-tests.sh b/scripts/vsp-tests.sh index e6cae04..7805f1b 100755 --- a/scripts/vsp-tests.sh +++ b/scripts/vsp-tests.sh @@ -29,10 +29,18 @@ run_test() { local output=$(./$script 2>&1 | tee /proc/self/fd/2) for line in $output ; do - (echo "$line" | grep -q 'fail$') && num_fail=$((num_fail+1)) - (echo "$line" | grep -q 'pass$') && num_pass=$((num_pass+1)) - (echo "$line" | grep -q 'skipped$') && num_skip=$((num_skip+1)) - num_test=$((num_test+1)) + local pass=0 + local fail=0 + local skipped=0 + + (echo "$line" | grep -q ': fail$') && fail=1 + (echo "$line" | grep -q ': pass$') && pass=1 + (echo "$line" | grep -q ': skipped$') && skipped=1 + + num_fail=$((num_fail+fail)) + num_pass=$((num_pass+pass)) + num_skipped=$((num_skipped+skipped)) + num_test=$((num_test+pass+fail+skipped)) done if [ $(ls *.bin 2>/dev/null | wc -l) != 0 ] ; then -- cgit v1.2.3