diff options
Diffstat (limited to 'vendor/librune/test/tests')
-rwxr-xr-x | vendor/librune/test/tests | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/librune/test/tests b/vendor/librune/test/tests new file mode 100755 index 0000000..5affe3a --- /dev/null +++ b/vendor/librune/test/tests @@ -0,0 +1,39 @@ +#!/bin/sh + +report() +{ + case $1 in + 0) printf 'All tests passed\n' >&2 ;; + 1) printf '1 test failed\n' >&2 ;; + *) printf '%d tests failed\n' $1 >&2 + esac +} + +readonly src=../data/GraphemeBreakTest.txt + +set -e +cd "${0%/*}" +find ../lib -name '*.c' -exec \ + cc -std=c2x -Wno-attributes -I../include -o gbrk gbrk.c {} + +trap 'rm -f gbrk' EXIT + +n=$( + ./gbrk $src \ + | diff -y --suppress-common-lines $src - \ + | tee failures \ + | wc -l +) +test $n -eq 0 && rm failures + +if test -t 2 +then + case $n in + 0) printf '\033[0;32m' ;; + *) printf '\033[0;31m' + esac + + report $n + printf '\033[0m' >&2 +else + report $n +fi |