platform_external_dtc/tests/dtc-checkfails.sh
David Gibson 2ca83614e7 Use 'trap' builtin to clean up temporaries in test scripts
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>
2012-02-03 08:36:35 -06:00

31 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