tcl: improve run-ptest

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.

(From OE-Core rev: a3fffea6b370e22380b0699dcefcda16fdc1f116)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2024-03-21 20:15:56 +00:00
committed by Richard Purdie
parent 6b70b8b646
commit 9d1df0596f

View File

@@ -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