SG=${M#Caught fatal signal }
SG=${SG#Committed suicide by signal }
if [ "$SG" != "$M" ] ; then
- SG=`perl -MConfig -e '@s=split / /,$Config{sig_name}; print $s[$ARGV[0]]' $SG`
+ SG=`kill -l $SG 2>/dev/null` || SG=
[ -z "$SG" ] || M="$M (SIG$SG)"
fi
# Translate runtime errors to readable strings
RE=${M#Exited with error status }
if [ -n "$EXIT_CODE_HOOK" -a "$RE" != "$M" ] ; then
- NEWMSG=`$EXIT_CODE_HOOK $RE`
+ NEWMSG=`$EXIT_CODE_HOOK $RE` || NEWMSG=
if [ -n "$NEWMSG" ] ; then
M="Runtime error $RE: $NEWMSG"
fi
;;
none) echo "Input file: <none>"
;;
+ dir) echo "Input file: files in directory $PDIR/$TEST.in/"
+ [ -d $PDIR/$TEST.in ] || die "Not a directory: $PDIR/$TEST.in"
+ # TODO: recursive ln to $TDIR
+ cp -r $PDIR/$TEST.in $TDIR/$TEST.in
+ cp -r $PDIR/$TEST.in/* $BOXDIR/
+ # Can have .stdin, but empty by default
+ touch $BOXDIR/.stdin
+ BOX_EXTRAS="$BOX_EXTRAS -i.stdin"
+ ;;
*) die "Unknown IN_TYPE $IN_TYPE"
;;
esac