diff options
Diffstat (limited to 'lua/test.sh')
| -rw-r--r-- | lua/test.sh | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/lua/test.sh b/lua/test.sh index bfc686e..f7c6fd4 100644 --- a/lua/test.sh +++ b/lua/test.sh @@ -1,38 +1,43 @@ #!/bin/bash -export VIS_PATH=. -export VIS_THEME=theme -printf "<Escape>Q:q<Enter>" | ../util/keys | vis - TESTS_OK=0 TESTS_RUN=0 -ref_files=$(find . -type f -name "*.ref") - -for ref in $ref_files; do - TESTS_RUN=$((TESTS_RUN + 1)) - out=${ref%.ref}.out - printf "%-30s" "$ref" - if cmp $ref $out 2> /dev/null; then - printf "PASS\n" - TESTS_OK=$((TESTS_OK + 1)) - else - printf "FAIL\n" - diff -u $ref $out - fi -done +export VIS_PATH=. +export VIS_THEME=theme -true_files=$(find . -type f -name "*.true") +if [ $# -gt 0 ]; then + test_files=$@ +else + test_files=$(find . -type f -name "*.in") +fi -for t in $true_files; do +for t in $test_files; do TESTS_RUN=$((TESTS_RUN + 1)) + t=${t%.in} + t=${t#./} +# vis $t.in + printf "<Escape>Q:q<Enter>" | ../util/keys | vis $t.in + printf "%-30s" "$t" - if ! grep -v true $t > /dev/null; then - printf "PASS\n" - TESTS_OK=$((TESTS_OK + 1)) + if [ -e $t.out ]; then + if cmp $t.ref $t.out 2> /dev/null; then + printf "PASS\n" + TESTS_OK=$((TESTS_OK + 1)) + else + printf "FAIL\n" + diff -u $t.ref $t.out + fi + elif [ -e $t.true ]; then + if ! grep -v true $t.true > /dev/null; then + printf "PASS\n" + TESTS_OK=$((TESTS_OK + 1)) + else + printf "FAIL\n" + grep -vn true $t.true + fi else printf "FAIL\n" - grep -vn true $t fi done |
