X-Git-Url: http://git.shiar.nl/barcat.git/blobdiff_plain/cd9fc725abd4876848c20a78435a1456f707546e..9aa6d010ebaf2d3ad8e6cad435a54748fb2572e2:/t/regress.t diff --git a/t/regress.t b/t/regress.t index ef28f6f..1463ce3 100755 --- a/t/regress.t +++ b/t/regress.t @@ -6,12 +6,39 @@ test_count=0 COLUMNS=40 diffcmd='diff --unchanged-line-format= --old-line-format=<%L --new-line-format=>%L' +regenerate= + +for option in "$@" +do + case "$option" in + -G) regenerate=1 && shift;; + -*) echo "Usage: $0 [-G] [...]"; exit 64;; + esac +done for candidate in ${@:-t*.in} do test_count=$((test_count+1)) - name="${candidate%.out}" - barcat <"$name.in" | $diffcmd "$name.out" - || printf 'not ' + file="${candidate%.in}" + test -r "$file.in" || continue + + name="$(echo ${file#*-} | tr _ \ )" + cmd="barcat $file.in" + case "$name" in *\ -*) cmd="$cmd -${name#* -}";; esac + + if test -n "$regenerate" + then + if test -e $file.out + then + echo "ok $test_count # skip existing $file.out" + continue + fi + $cmd >$file.out 2>&1 + else + $cmd 2>&1 | $diffcmd "$file.out" - + fi + + test 0 = $? || printf 'not ' echo "ok $test_count - $name" done