diff mbox series

[1/2] tcl: improve run-ptest

Message ID 20240321201557.2309256-1-ross.burton@arm.com
State Accepted, archived
Commit a3fffea6b370e22380b0699dcefcda16fdc1f116
Headers show
Series [1/2] tcl: improve run-ptest | expand

Commit Message

Ross Burton March 21, 2024, 8:15 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

By setting ERROR_ON_FAILURES we don't need to grep the output to know
if the tests failed.  By default the log runner will print the failed
test case, so we don't need to store the log at all.

Set the skipped tests across multiple lines so that it's easier to see
what skips are related to what bugs, and to avoid very long lines.

Use basename instead of awk to get the test name.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-devtools/tcltk/tcl/run-ptest | 24 ++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/tcltk/tcl/run-ptest b/meta/recipes-devtools/tcltk/tcl/run-ptest
index 87e025fce12..affce9ab815 100644
--- a/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -3,19 +3,25 @@ 
 # clock.test needs a timezone to be set
 export TZ="Europe/London"
 export TCL_LIBRARY=library
+export ERROR_ON_FAILURES=1
 
 # Some tests are overly strict with timings and fail on loaded systems.
-# See bugs #14825 #14882 #15081 #15321.
-SKIPPED_TESTS='async-* cmdMZ-6.6 event-* exit-1.* socket-* socket_inet-*'
+SKIP=""
+# 15321
+SKIP="$SKIP async-\* event-\*"
+# 14882
+SKIP="$SKIP cmdMZ-6.6"
+# 15081
+SKIP="$SKIP exit-1.\*"
+# 14825
+SKIP="$SKIP socket-\* socket_inet-\*"
 
-for i in `ls tests/*.test | awk -F/ '{print $2}'`; do
-    ./tcltest tests/all.tcl -file $i -skip "$SKIPPED_TESTS" >$i.log 2>&1
-    grep -q -F -e "Files with failing tests:" -e "Test files exiting with errors:" $i.log
+for i in tests/*.test; do
+    i=$(basename $i)
+    ./tcltest tests/all.tcl -file $i -skip "$SKIP"
     if [ $? -eq 0 ]; then
-        echo "FAIL: $i"
-        cat $i.log
-    else
         echo "PASS: $i"
+    else
+        echo "FAIL: $i"
     fi
-    rm -f $i.log
 done