Some of the test scripts create temporary files, which we remove at the end. Except that we usually forgot to remove them on some exit paths. To avoid this problem in future, this modifies the scripts to use the shell's trap 0 functionality to automatically remove the temporaries on any exit. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
32 lines
483 B
Bash
Executable File
32 lines
483 B
Bash
Executable File
#! /bin/sh
|
|
|
|
. ./tests.sh
|
|
|
|
for x; do
|
|
shift
|
|
if [ "$x" = "--" ]; then
|
|
break;
|
|
fi
|
|
CHECKS="$CHECKS $x"
|
|
done
|
|
|
|
LOG=tmp.log.$$
|
|
rm -f $LOG
|
|
trap "rm -f $LOG" 0
|
|
|
|
verbose_run_log "$LOG" $VALGRIND "$DTC" -o /dev/null "$@"
|
|
ret="$?"
|
|
|
|
if [ "$ret" -gt 127 ]; then
|
|
signame=$(kill -l $[ret - 128])
|
|
FAIL "Killed by SIG$signame"
|
|
fi
|
|
|
|
for c in $CHECKS; do
|
|
if ! grep -E "^(ERROR)|(Warning) \($c\):" $LOG > /dev/null; then
|
|
FAIL "Failed to trigger check \"$c\""
|
|
fi
|
|
done
|
|
|
|
PASS
|