summaryrefslogtreecommitdiffstats
path: root/single-file-test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'single-file-test.sh')
-rwxr-xr-xsingle-file-test.sh19
1 files changed, 11 insertions, 8 deletions
diff --git a/single-file-test.sh b/single-file-test.sh
index 26287cf..da9f69a 100755
--- a/single-file-test.sh
+++ b/single-file-test.sh
@@ -30,32 +30,35 @@ run_one()
dir=${file//\//:}
name=${file##*/}
- mkdir -p work/$dir &&
- bunzip2 < $file.bz2 > work/$dir/$name &&
- echo "${*//{\}/$name}" > work/$dir/cmd && {
+ mkdir -p $work/$dir &&
+ bunzip2 < $file.bz2 > $work/$dir/$name &&
+ echo "${*//{\}/$name}" > $work/$dir/cmd && {
- (cd work/$dir && . cmd) > work/$dir/log 2>&1
+ (cd $work/$dir && . cmd) > $work/$dir/log 2>&1
status=$?
- echo $status > work/$dir/status
+ echo $status > $work/$dir/status
- if [ $status -ne 0 ] || [ -s work/$dir/log ]; then
+ if [ $status -ne 0 ] || [ -s $work/$dir/log ]; then
# Test failed, leave everything there.
echo "FAIL ($status) $file $dir"
return 0
fi
# Look for excess files. Consider it failed if there are any.
- ls -A work/$dir | fgrep -q -v "$name
+ ls -A $work/$dir | fgrep -q -v "$name
cmd
log
status" && { echo "FAIL (files) $file $dir"; return 0; }
# Fully clean test, erase the evidence.
- rm -rf work/$dir
+ rm -rf $work/$dir
}
}
if [ "$which" = subr ]; then
run_one "$@"
else
+ work=$1
+ shift
+ export work
run_all "$@"
fi