tests: Add new TAP APIs

Having to touch a global test counter when adding tests is
a recipe for conflicts between PRs.

The TAP protocol allows *ending* with the expected number of
tests, so the best way to do this is to have an explicit
API like our `tap_ok` which bumps a counter, then end with `tap_end`.

I ported one test as a demo.
This commit is contained in:
Colin Walters committed 2021-09-10 17:07:42 -04:00
1 parent 213b8608ea
commit bc30806c6e
2 files changed
+15 -4

No files matched your search

+11
View File
@@ -35,6 +35,17 @@ assert_not_reached () {
fatal "$@"
}
# Output an ok message for TAP
n_tap_tests=0
tap_ok() {
echo "ok" "$@"
n_tap_tests=$(($n_tap_tests+1))
}
tap_end() {
echo "1..${n_tap_tests}"
}
# Some tests look for specific English strings. Use a UTF-8 version
# of the C (POSIX) locale if we have one, or fall back to en_US.UTF-8
# (https://sourceware.org/glibc/wiki/Proposals/C.UTF-8)