aboutsummaryrefslogtreecommitdiff
path: root/vendor/librune/test/tests
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-02-13 13:02:28 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-02-13 13:11:47 +0100
commit79e6af86ca526d5fb56af6f6ca3da713e3a5e9f9 (patch)
tree752f1c26d1f122dcf58374ac78db109c9578be45 /vendor/librune/test/tests
Genesis commit
Diffstat (limited to 'vendor/librune/test/tests')
-rwxr-xr-xvendor/librune/test/tests39
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