X-Git-Url: http://git.shiar.net/barcat.git/blobdiff_plain/cd9fc725abd4876848c20a78435a1456f707546e..807f1103d68263f10a65d8bf7640f1401121f8b2:/t/regress.t?ds=sidebyside diff --git a/t/regress.t b/t/regress.t index ef28f6f..177cc8d 100755 --- a/t/regress.t +++ b/t/regress.t @@ -3,16 +3,69 @@ cd "${0%/*}" || exit 1 test_count=0 +fail_count=0 -COLUMNS=40 -diffcmd='diff --unchanged-line-format= --old-line-format=<%L --new-line-format=>%L' +colorize= +test -t 1 && colorize=1 +color () { + test -n "$colorize" && + printf '\33[%sm' $@ +} -for candidate in ${@:-t*.in} +for option in "$@" +do + case "$option" in + -*) echo "Usage: $0 [...]"; exit 64;; + esac +done + +params="${@:-t*.out}" +color 0\;36 +echo "1..$(echo $params | wc -w)" +color 0 + +for candidate in $params do test_count=$((test_count+1)) - name="${candidate%.out}" - barcat <"$name.in" | $diffcmd "$name.out" - || printf 'not ' + file="${candidate%.out}" + name="$(echo ${file#*-} | tr _ \ )" + + if test -e "$file.out" + then + ./cmddiff "$file.out" + else + color 33 + echo "not ok $test_count - $name # TODO" + color 0 + continue + fi + + if test 0 != $? + then + case "$name" in + *' #TODO') + color 33 + ;; + *) + fail_count=$((fail_count+1)) + color 1\;31 + esac + + printf 'not ' + fi echo "ok $test_count - $name" + color 0 done -echo "1..$test_count" +if test $fail_count = 0 +then + color 32 + echo "# passed all $test_count test(s)" +else + color 31 + echo "# failed $fail_count among $test_count test(s)" + fail_count=1 # exit code +fi +color 0 + +exit $fail_count