X-Git-Url: http://git.shiar.net/barcat.git/blobdiff_plain/2f41dadf7f9a08522a7e84cfd28f847fd1428366..807f1103d68263f10a65d8bf7640f1401121f8b2:/t/regress.t diff --git a/t/regress.t b/t/regress.t index b8d05dd..177cc8d 100755 --- a/t/regress.t +++ b/t/regress.t @@ -5,54 +5,52 @@ cd "${0%/*}" || exit 1 test_count=0 fail_count=0 -COLUMNS=40 colorize= test -t 1 && colorize=1 color () { test -n "$colorize" && - printf '\e[%sm' $@ -} -regenerate= -diffcmd () { - comm --nocheck-order --output-delimiter=::: -3 $@ | - perl -pe"END{exit !!\$.} s/^:::/$(color 31)>/ || s/^/$(color 32)...]"; exit 64;; + -*) echo "Usage: $0 [...]"; exit 64;; esac done -for candidate in ${@:-t*.in} +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%.in}" - test -r "$file.in" || continue - + file="${candidate%.out}" name="$(echo ${file#*-} | tr _ \ )" - cmd="barcat $file.in" - case "$name" in *\ -*) cmd="$cmd -${name#* -}";; esac - if test -n "$regenerate" + if test -e "$file.out" then - if test -e $file.sh - then - echo "ok $test_count # skip $file.out" - continue - fi - $cmd >$file.out 2>&1 + ./cmddiff "$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 != $? 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" @@ -68,8 +66,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