X-Git-Url: http://git.shiar.nl/barcat.git/blobdiff_plain/865a86083719cb69f158940eaf5bad95d4cae714..a755882b1f5e89f6bd691219fe6de170cc6fcda7:/t/regress.t diff --git a/t/regress.t b/t/regress.t index 2293efa..f6877b1 100755 --- a/t/regress.t +++ b/t/regress.t @@ -26,19 +26,31 @@ do esac done -for candidate in ${@:-t*.out} +params="${@:-t*.out}" +color 0\;36 +echo "1..$(echo $params | wc -w)" +color 0 + +for candidate in $params do test_count=$((test_count+1)) file="${candidate%.out}" - input="$file.in" + input="${file%%_-*}.in" name="$(echo ${file#*-} | tr _ \ )" 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 + *\ -*) + args="${name#* -}" + set -- "$@" -"${args% [?|]*}" + ;; + esac + case "$name" in + *' ?' ) set -- sh -c "\$0 \$@ 2>/dev/null" "$@";; + *' ?'*) set -- sh -c "\$0 \$@ | test \$\? = ${name#* \?}" "$@";; + *' |'*) set -- sh -c "\$0 \$@ | ${name#* |}" "$@";; + *) eval set -- "$1" $2 $3 esac if test -n "$regenerate" @@ -61,8 +73,15 @@ do if test 0 != $? then - fail_count=$((fail_count+1)) - color 1\;31 + case "$name" in + *' #TODO') + color 33 + ;; + *) + fail_count=$((fail_count+1)) + color 1\;31 + esac + printf 'not ' fi echo "ok $test_count - $name" @@ -78,8 +97,6 @@ else echo "# failed $fail_count among $test_count test(s)" fail_count=1 # exit code fi - -color 0\;36 -echo "1..$test_count" color 0 + exit $fail_count