X-Git-Url: http://git.shiar.nl/barcat.git/blobdiff_plain/2f41dadf7f9a08522a7e84cfd28f847fd1428366..9fad4d7ae54232c20df3ea2d874c2483aaca6c3c:/t/regress.t diff --git a/t/regress.t b/t/regress.t index b8d05dd..6a95a9f 100755 --- a/t/regress.t +++ b/t/regress.t @@ -26,15 +26,20 @@ do esac done -for candidate in ${@:-t*.in} +for candidate in ${@:-t*.out} do test_count=$((test_count+1)) - file="${candidate%.in}" - test -r "$file.in" || continue - + file="${candidate%.out}" + input="${file%%_-*}.in" name="$(echo ${file#*-} | tr _ \ )" - cmd="barcat $file.in" - case "$name" in *\ -*) cmd="$cmd -${name#* -}";; esac + + set -- barcat + [ -r "$input" ] && set -- "$@" "$input" + case "$name" in *\ -*) set -- "$@" -"${name#* -}";; esac + case "$name" in + *' |'*) set -- sh -c "\$0 \$1 | ${name#* |}" "$@";; + *) set -- "$1" $2 $3 + esac if test -n "$regenerate" then @@ -43,10 +48,15 @@ do echo "ok $test_count # skip $file.out" continue fi - $cmd >$file.out 2>&1 + "$@" >$file.out 2>&1 + elif test -e "$file.out" + then + "$@" 2>&1 | diffcmd "$file.out" - else - if test -e $file.sh; then $cmd 2>&1 | ./$file.sh; fi && - if test -e $file.out; then $cmd 2>&1 | diffcmd "$file.out" -; fi + color 33 + echo "not ok $test_count - $name # TODO" + color 0 + continue fi if test 0 != $?