changeset 40221:8c1a17df67e0

tests: Prepare for using valgrind. tests/*.sh: Invoke all test programs through ${CHECKER}. tests/*/*.sh: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 10 Mar 2019 11:32:11 +0100
parents 2796695e9216
children 9626783b417a
files ChangeLog tests/dfa-invalid-char-class.sh tests/dfa-match.sh tests/test-_Exit.sh tests/test-argp-2.sh tests/test-argp-version-etc-1.sh tests/test-atexit.sh tests/test-binary-io.sh tests/test-btowc1.sh tests/test-btowc2.sh tests/test-c-snprintf.sh tests/test-c-stack.sh tests/test-c-stack2.sh tests/test-c-strcase.sh tests/test-c-vasprintf.sh tests/test-c-vsnprintf.sh tests/test-c-xvasprintf.sh tests/test-closein.sh tests/test-copy-acl.sh tests/test-copy-file.sh tests/test-dprintf-posix.sh tests/test-dprintf-posix2.sh tests/test-exclude1.sh tests/test-exclude2.sh tests/test-exclude3.sh tests/test-exclude4.sh tests/test-exclude5.sh tests/test-exclude6.sh tests/test-exclude7.sh tests/test-exclude8.sh tests/test-fflush2.sh tests/test-file-has-acl.sh tests/test-fpending.sh tests/test-fprintf-posix.sh tests/test-fprintf-posix2.sh tests/test-fprintf-posix3.sh tests/test-freadahead.sh tests/test-freadptr.sh tests/test-freadptr2.sh tests/test-freadseek.sh tests/test-fseek.sh tests/test-fseek2.sh tests/test-fseeko.sh tests/test-fseeko2.sh tests/test-fseeko3.sh tests/test-fseeko4.sh tests/test-ftell.sh tests/test-ftell2.sh tests/test-ftello.sh tests/test-ftello2.sh tests/test-ftello4.sh tests/test-ftruncate.sh tests/test-getcwd.sh tests/test-idpriv-drop.su.sh tests/test-idpriv-droptemp.su.sh tests/test-lseek.sh tests/test-mbmemcasecmp1.sh tests/test-mbmemcasecmp2.sh tests/test-mbmemcasecmp3.sh tests/test-mbmemcasecoll1.sh tests/test-mbmemcasecoll2.sh tests/test-mbmemcasecoll3.sh tests/test-mbrtowc-w32-1.sh tests/test-mbrtowc-w32-2.sh tests/test-mbrtowc-w32-3.sh tests/test-mbrtowc-w32-4.sh tests/test-mbrtowc-w32-5.sh tests/test-mbrtowc-w32-6.sh tests/test-mbrtowc-w32-7.sh tests/test-mbrtowc1.sh tests/test-mbrtowc2.sh tests/test-mbrtowc3.sh tests/test-mbrtowc4.sh tests/test-mbrtowc5.sh tests/test-mbscasecmp.sh tests/test-mbscasestr2.sh tests/test-mbscasestr3.sh tests/test-mbscasestr4.sh tests/test-mbschr.sh tests/test-mbscspn.sh tests/test-mbsinit.sh tests/test-mbsncasecmp.sh tests/test-mbsnrtowcs1.sh tests/test-mbsnrtowcs2.sh tests/test-mbsnrtowcs3.sh tests/test-mbsnrtowcs4.sh tests/test-mbspbrk.sh tests/test-mbspcasecmp.sh tests/test-mbsrchr.sh tests/test-mbsrtowcs1.sh tests/test-mbsrtowcs2.sh tests/test-mbsrtowcs3.sh tests/test-mbsrtowcs4.sh tests/test-mbsspn.sh tests/test-mbsstr2.sh tests/test-mbsstr3.sh tests/test-nl_langinfo.sh tests/test-nonblocking-pipe.sh tests/test-nonblocking-socket.sh tests/test-parse-duration.sh tests/test-perror.sh tests/test-pipe-filter-gi1.sh tests/test-pipe-filter-gi2.sh tests/test-pipe-filter-ii1.sh tests/test-pipe-filter-ii2.sh tests/test-pread.sh tests/test-printf-posix.sh tests/test-printf-posix2.sh tests/test-pwrite.sh tests/test-quotearg.sh tests/test-readtokens.sh tests/test-select-in.sh tests/test-select-out.sh tests/test-set-mode-acl.sh tests/test-setlocale1.sh tests/test-setlocale2.sh tests/test-sigpipe.sh tests/test-spawn-pipe.sh tests/test-strtod1.sh tests/test-strtold1.sh tests/test-system-quote.sh tests/test-tsearch.sh tests/test-vasnprintf-posix2.sh tests/test-vdprintf-posix.sh tests/test-version-etc.sh tests/test-vfprintf-posix.sh tests/test-vprintf-posix.sh tests/test-wcrtomb-w32-1.sh tests/test-wcrtomb-w32-2.sh tests/test-wcrtomb-w32-3.sh tests/test-wcrtomb-w32-4.sh tests/test-wcrtomb-w32-5.sh tests/test-wcrtomb-w32-6.sh tests/test-wcrtomb-w32-7.sh tests/test-wcrtomb.sh tests/test-wcsnrtombs1.sh tests/test-wcsnrtombs2.sh tests/test-wcsnrtombs3.sh tests/test-wcsnrtombs4.sh tests/test-wcsrtombs1.sh tests/test-wcsrtombs2.sh tests/test-wcsrtombs3.sh tests/test-wcsrtombs4.sh tests/test-xalloc-die.sh tests/test-xprintf-posix.sh tests/test-xstdopen.sh tests/test-xstrtoimax.sh tests/test-xstrtol.sh tests/test-xstrtoll.sh tests/test-xstrtoumax.sh tests/test-yesno.sh tests/unicase/test-locale-language.sh tests/unicase/test-ulc-casecmp1.sh tests/unicase/test-ulc-casecmp2.sh tests/unicase/test-ulc-casecoll1.sh tests/unicase/test-ulc-casecoll2.sh tests/unigbrk/test-uc-grapheme-breaks.sh tests/unigbrk/test-uc-is-grapheme-break.sh tests/unigbrk/test-ulc-grapheme-breaks.sh tests/uniname/test-uninames.sh tests/uninorm/test-u32-nfc-big.sh tests/uninorm/test-u32-nfd-big.sh tests/uninorm/test-u32-nfkc-big.sh tests/uninorm/test-u32-nfkd-big.sh tests/unistdio/test-u16-vasnprintf2.sh tests/unistdio/test-u16-vasnprintf3.sh tests/unistdio/test-u32-vasnprintf2.sh tests/unistdio/test-u32-vasnprintf3.sh tests/unistdio/test-u8-vasnprintf2.sh tests/unistdio/test-u8-vasnprintf3.sh tests/unistdio/test-ulc-vasnprintf2.sh tests/unistdio/test-ulc-vasnprintf3.sh tests/uniwbrk/test-uc-wordbreaks.sh tests/uniwbrk/test-ulc-wordbreaks.sh tests/uniwidth/test-uc_width2.sh
diffstat 175 files changed, 337 insertions(+), 331 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Mar 10 01:28:42 2019 +0100
+++ b/ChangeLog	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,9 @@
+2019-03-10  Bruno Haible  <bruno@clisp.org>
+
+	tests: Prepare for using valgrind.
+	tests/*.sh: Invoke all test programs through ${CHECKER}.
+	tests/*/*.sh: Likewise.
+
 2019-03-09  Bruno Haible  <bruno@clisp.org>
 
 	get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
--- a/tests/dfa-invalid-char-class.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/dfa-invalid-char-class.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -24,7 +24,7 @@
 fail=0
 
 echo 'dfaerror: invalid character class' > exp
-LC_ALL=C dfa-match-aux '[[:foo:]]' a > out 2>&1
+LC_ALL=C ${CHECKER} dfa-match-aux '[[:foo:]]' a > out 2>&1
 compare exp out || fail=1
 
 Exit $fail
--- a/tests/dfa-match.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/dfa-match.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -33,11 +33,11 @@
 
 fail=0
 
-dfa-match-aux a ba 0 > out || fail=1
+${CHECKER} dfa-match-aux a ba 0 > out || fail=1
 compare /dev/null out || fail=1
 
 in=$(printf "bb\nbb")
-$timeout_10 dfa-match-aux a "$in" 1 > out || fail=1
+$timeout_10 ${CHECKER} dfa-match-aux a "$in" 1 > out || fail=1
 compare /dev/null out || fail=1
 
 Exit $fail
--- a/tests/test-_Exit.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-_Exit.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
-./test-_Exit${EXEEXT}
+${CHECKER} ./test-_Exit${EXEEXT}
 test $? = 81
--- a/tests/test-argp-2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-argp-2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -39,7 +39,7 @@
             [--limerick] [--poem] [--help] [--usage] [--version] ARGS...
 EOT
 
-./test-argp$EXEEXT --usage | func_compare || ERR=1
+${CHECKER} ./test-argp${EXEEXT} --usage | func_compare || ERR=1
 
 ####
 # Test working usage-indent format
@@ -51,7 +51,7 @@
 [--help] [--usage] [--version] ARGS...
 EOT
 
-ARGP_HELP_FMT='usage-indent=0' ./test-argp$EXEEXT --usage | func_compare || ERR=1
+ARGP_HELP_FMT='usage-indent=0' ${CHECKER} ./test-argp${EXEEXT} --usage | func_compare || ERR=1
 
 ####
 # Test --help output
@@ -96,17 +96,17 @@
 EOT
 
 # Compare --help output, but filter out any bug-reporting email address.
-./test-argp$EXEEXT --help \
+${CHECKER} ./test-argp${EXEEXT} --help \
     | sed 's/^\(Report bugs to \)<[^>]*>.$/\1<>./' | func_compare || ERR=1
 
 ####
 # Test ambiguous option handling
 
-./test-argp$EXEEXT --optio 2>/dev/null && ERR=1
+${CHECKER} ./test-argp${EXEEXT} --optio 2>/dev/null && ERR=1
 
 ####
 # Run built-in tests
-./test-argp$EXEEXT || ERR=1
+${CHECKER} ./test-argp${EXEEXT} || ERR=1
 
 rm $TMP
 
--- a/tests/test-argp-version-etc-1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-argp-version-etc-1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -31,7 +31,7 @@
 Written by Sergey Poznyakoff.
 EOT
 
-./test-argp-version-etc${EXEEXT} --version |
+${CHECKER} ./test-argp-version-etc${EXEEXT} --version |
  sed '1s/test-argp-version-etc (.*) .*/test-argp-version-etc (PROJECT) VERSION/
       /^Packaged by/d
       2,3 s/Copyright (C) [0-9]\{4,4\}/COPYRIGHT/' |
--- a/tests/test-atexit.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-atexit.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 
 # Check that an atexit handler is called when main() returns normally.
 echo > t-atexit.tmp
-test-atexit
+${CHECKER} test-atexit
 if test -f t-atexit.tmp; then
   Exit 1
 fi
@@ -12,7 +12,7 @@
 # Check that an atexit handler is called when the program is left
 # through exit(0).
 echo > t-atexit.tmp
-test-atexit 0
+${CHECKER} test-atexit 0
 if test -f t-atexit.tmp; then
   Exit 1
 fi
@@ -20,7 +20,7 @@
 # Check that an atexit handler is called when the program is left
 # through exit(1).
 echo > t-atexit.tmp
-test-atexit 1
+${CHECKER} test-atexit 1
 if test -f t-atexit.tmp; then
   Exit 1
 fi
--- a/tests/test-binary-io.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-binary-io.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-bin-out0.tmp t-bin-out1.tmp"
-./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1
+${CHECKER} ./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1
 cmp t-bin-out0.tmp t-bin-out1.tmp > /dev/null || exit 1
 
 rm -fr $tmpfiles
--- a/tests/test-btowc1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-btowc1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-btowc${EXEEXT} 1
+${CHECKER} ./test-btowc${EXEEXT} 1
--- a/tests/test-btowc2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-btowc2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-btowc${EXEEXT} 2
+${CHECKER} ./test-btowc${EXEEXT} 2
--- a/tests/test-c-snprintf.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-c-snprintf.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-c-snprintf${EXEEXT} 1
+${CHECKER} ./test-c-snprintf${EXEEXT} 1
--- a/tests/test-c-stack.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-c-stack.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="t-c-stack.tmp"
-./test-c-stack${EXEEXT} 2> t-c-stack.tmp
+${CHECKER} ./test-c-stack${EXEEXT} 2> t-c-stack.tmp
 case $? in
   77) cat t-c-stack.tmp >&2; (exit 77); exit 77 ;;
   1) ;;
--- a/tests/test-c-stack2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-c-stack2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -7,7 +7,7 @@
 
 # Sanitize exit status within a subshell, since some shells fail to
 # redirect stderr on their message about death due to signal.
-(./test-c-stack${EXEEXT} 1; exit $?) 2> t-c-stack2.tmp
+(${CHECKER} ./test-c-stack${EXEEXT} 1; exit $?) 2> t-c-stack2.tmp
 
 case $? in
   77) if grep 'stack overflow' t-c-stack2.tmp >/dev/null ; then
--- a/tests/test-c-strcase.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-c-strcase.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,21 +1,21 @@
 #!/bin/sh
 
 # Test in the C locale.
-./test-c-strcasecmp${EXEEXT} || exit 1
-./test-c-strncasecmp${EXEEXT} || exit 1
+${CHECKER} ./test-c-strcasecmp${EXEEXT} || exit 1
+${CHECKER} ./test-c-strncasecmp${EXEEXT} || exit 1
 
 # Test in an ISO-8859-1 or ISO-8859-15 locale.
 : ${LOCALE_FR=fr_FR}
 if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR ./test-c-strcasecmp${EXEEXT} locale || exit 1
-  LC_ALL=$LOCALE_FR ./test-c-strncasecmp${EXEEXT} locale || exit 1
+  LC_ALL=$LOCALE_FR ${CHECKER} ./test-c-strcasecmp${EXEEXT} locale || exit 1
+  LC_ALL=$LOCALE_FR ${CHECKER} ./test-c-strncasecmp${EXEEXT} locale || exit 1
 fi
 
 # Test in a Turkish UTF-8 locale.
 : ${LOCALE_TR_UTF8=tr_TR.UTF-8}
 if test $LOCALE_TR_UTF8 != none; then
-  LC_ALL=$LOCALE_TR_UTF8 ./test-c-strcasecmp${EXEEXT} locale || exit 1
-  LC_ALL=$LOCALE_TR_UTF8 ./test-c-strncasecmp${EXEEXT} locale || exit 1
+  LC_ALL=$LOCALE_TR_UTF8 ${CHECKER} ./test-c-strcasecmp${EXEEXT} locale || exit 1
+  LC_ALL=$LOCALE_TR_UTF8 ${CHECKER} ./test-c-strncasecmp${EXEEXT} locale || exit 1
 fi
 
 exit 0
--- a/tests/test-c-vasprintf.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-c-vasprintf.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-c-vasprintf${EXEEXT} 1
+${CHECKER} ./test-c-vasprintf${EXEEXT} 1
--- a/tests/test-c-vsnprintf.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-c-vsnprintf.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-c-vsnprintf${EXEEXT} 1
+${CHECKER} ./test-c-vsnprintf${EXEEXT} 1
--- a/tests/test-c-xvasprintf.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-c-xvasprintf.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-c-xvasprintf${EXEEXT} 1
+${CHECKER} ./test-c-xvasprintf${EXEEXT} 1
--- a/tests/test-closein.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-closein.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -7,26 +7,26 @@
 
 fail=0
 # Test with seekable stdin; follow-on process must see remaining data
-(test-closein; cat) < in.tmp > out1.tmp || fail=1
+(${CHECKER} test-closein; cat) < in.tmp > out1.tmp || fail=1
 cmp out1.tmp in.tmp || fail=1
 
-(test-closein consume; cat) < in.tmp > out2.tmp || fail=1
+(${CHECKER} test-closein consume; cat) < in.tmp > out2.tmp || fail=1
 cmp out2.tmp xout.tmp || fail=1
 
 # Test for lack of error on pipe.  Ignore any EPIPE failures from cat.
-cat in.tmp 2>/dev/null | test-closein || fail=1
+cat in.tmp 2>/dev/null | ${CHECKER} test-closein || fail=1
 
-cat in.tmp 2>/dev/null | test-closein consume || fail=1
+cat in.tmp 2>/dev/null | ${CHECKER} test-closein consume || fail=1
 
 # Test for lack of error when nothing is read
-test-closein </dev/null || fail=1
+${CHECKER} test-closein </dev/null || fail=1
 
-test-closein <&- || fail=1
+${CHECKER} test-closein <&- || fail=1
 
 # Test for no error when EOF is read early
-test-closein consume </dev/null || fail=1
+${CHECKER} test-closein consume </dev/null || fail=1
 
 # Test for error when read fails because no file available
-test-closein consume close <&- 2>/dev/null && fail=1
+${CHECKER} test-closein consume close <&- 2>/dev/null && fail=1
 
 Exit $fail
--- a/tests/test-copy-acl.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-copy-acl.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -209,9 +209,9 @@
   {
     echo "Simple contents" > "$2"
     chmod 600 "$2"
-    "$builddir"/test-copy-acl${EXEEXT} "$1" "$2" || exit 1
-    "$builddir"/test-sameacls${EXEEXT} "$1" "$2" || exit 1
-    func_test_same_acls                "$1" "$2" || exit 1
+    ${CHECKER} "$builddir"/test-copy-acl${EXEEXT} "$1" "$2" || exit 1
+    ${CHECKER} "$builddir"/test-sameacls${EXEEXT} "$1" "$2" || exit 1
+    func_test_same_acls                           "$1" "$2" || exit 1
   }
 
   func_test_copy tmpfile0 tmpfile1
--- a/tests/test-copy-file.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-copy-file.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -201,10 +201,10 @@
   # on both.
   func_test_copy ()
   {
-    "$builddir"/test-copy-file${EXEEXT} "$1" "$2" || exit 1
+    ${CHECKER} "$builddir"/test-copy-file${EXEEXT} "$1" "$2" || exit 1
     if test "$USE_ACL" != 0; then
-      "$builddir"/test-sameacls${EXEEXT} "$1" "$2" || exit 1
-      func_test_same_acls                "$1" "$2" || exit 1
+      ${CHECKER} "$builddir"/test-sameacls${EXEEXT} "$1" "$2" || exit 1
+      func_test_same_acls                           "$1" "$2" || exit 1
     fi
   }
 
--- a/tests/test-dprintf-posix.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-dprintf-posix.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-dprintf-posix.tmp t-dprintf-posix.out"
-./test-dprintf-posix${EXEEXT} > t-dprintf-posix.tmp || exit 1
+${CHECKER} ./test-dprintf-posix${EXEEXT} > t-dprintf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-dprintf-posix.tmp > t-dprintf-posix.out || exit 1
 
 : ${DIFF=diff}
--- a/tests/test-dprintf-posix2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-dprintf-posix2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,7 +2,7 @@
 
 # Test against a memory leak.
 
-(./test-dprintf-posix2${EXEEXT} 0
+(${CHECKER} ./test-dprintf-posix2${EXEEXT} 0
  result=$?
  if test $result != 77 && test $result != 78; then result=1; fi
  exit $result
@@ -13,7 +13,7 @@
   exit 77
 fi
 
-./test-dprintf-posix2${EXEEXT} 1 > /dev/null
+${CHECKER} ./test-dprintf-posix2${EXEEXT} 1 > /dev/null
 result=$?
 if test $result = 77; then
   echo "Skipping test: no way to determine address space size"
--- a/tests/test-exclude1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -36,7 +36,7 @@
 bar/qux: 0
 EOT
 
-test-exclude in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
+${CHECKER} test-exclude in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-exclude2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -36,7 +36,7 @@
 bar/qux: 0
 EOT
 
-test-exclude -casefold in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
+${CHECKER} test-exclude -casefold in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-exclude3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -36,7 +36,7 @@
 bar/qux: 1
 EOT
 
-test-exclude -include in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
+${CHECKER} test-exclude -include in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-exclude4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -31,7 +31,7 @@
 foobar: 1
 EOT
 
-test-exclude -wildcards in -- foobar > out || exit $?
+${CHECKER} test-exclude -wildcards in -- foobar > out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-exclude5.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude5.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -34,7 +34,7 @@
 foo/bar: 1
 EOT
 
-test-exclude -leading_dir in -- bar bar/qux barz foo/bar > out || exit $?
+${CHECKER} test-exclude -leading_dir in -- bar bar/qux barz foo/bar > out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-exclude6.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude6.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -32,7 +32,7 @@
 foo/bar: 0
 EOT
 
-test-exclude -anchored in -- bar foo/bar > out || exit $?
+${CHECKER} test-exclude -anchored in -- bar foo/bar > out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-exclude7.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude7.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -32,8 +32,8 @@
 bar: 1
 EOT
 
-test-exclude in -include in -- bar > out || exit $?
-test-exclude -include in -no-include in -- bar >> out || exit $?
+${CHECKER} test-exclude in -include in -- bar > out || exit $?
+${CHECKER} test-exclude -include in -no-include in -- bar >> out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-exclude8.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-exclude8.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -32,7 +32,7 @@
 bar: 1
 EOT
 
-test-exclude -wildcards in -- 'f*e' 'file' 'bar' > out || exit $?
+${CHECKER} test-exclude -wildcards in -- 'f*e' 'file' 'bar' > out || exit $?
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-fflush2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fflush2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,8 +2,8 @@
 
 # Execute the test only with seekable input stream.
 # The behaviour of fflush() on a non-seekable input stream is undefined.
-./test-fflush2${EXEEXT} 1 < "$srcdir/test-fflush2.sh" || exit $?
-./test-fflush2${EXEEXT} 2 < "$srcdir/test-fflush2.sh" || exit $?
-#cat "$srcdir/test-fflush2.sh" | ./test-fflush2${EXEEXT} || exit $?
+${CHECKER} ./test-fflush2${EXEEXT} 1 < "$srcdir/test-fflush2.sh" || exit $?
+${CHECKER} ./test-fflush2${EXEEXT} 2 < "$srcdir/test-fflush2.sh" || exit $?
+#cat "$srcdir/test-fflush2.sh" | ${CHECKER} ./test-fflush2${EXEEXT} || exit $?
 
 exit 0
--- a/tests/test-file-has-acl.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-file-has-acl.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -134,7 +134,7 @@
   # matches the expected value.
   func_test_file_has_acl ()
   {
-    res=`"$builddir"/test-file-has-acl${EXEEXT} "$1"`
+    res=`${CHECKER} "$builddir"/test-file-has-acl${EXEEXT} "$1"`
     test "$res" = "$2" || {
       echo "file_has_acl(\"$1\") returned $res, expected $2" 1>&2
       exit 1
--- a/tests/test-fpending.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fpending.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -5,7 +5,7 @@
 
 tmpfile=test-fpending.t
 
-./test-fpending${EXEEXT} > $tmpfile || exit 1
+${CHECKER} ./test-fpending${EXEEXT} > $tmpfile || exit 1
 
 rm -fr $tmpfile
 
--- a/tests/test-fprintf-posix.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fprintf-posix.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-fprintf-posix.tmp t-fprintf-posix.out"
-./test-fprintf-posix${EXEEXT} > t-fprintf-posix.tmp || exit 1
+${CHECKER} ./test-fprintf-posix${EXEEXT} > t-fprintf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-fprintf-posix.tmp > t-fprintf-posix.out || exit 1
 
 : ${DIFF=diff}
--- a/tests/test-fprintf-posix2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fprintf-posix2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,7 +2,7 @@
 
 # Test out-of-memory handling.
 
-(./test-fprintf-posix2${EXEEXT} 0
+(${CHECKER} ./test-fprintf-posix2${EXEEXT} 0
  result=$?
  if test $result != 77 && test $result != 78; then result=1; fi
  exit $result
@@ -15,7 +15,7 @@
 
 for arg in 1 2 3 4 5 6
 do
-  ./test-fprintf-posix2${EXEEXT} $arg > /dev/null
+  ${CHECKER} ./test-fprintf-posix2${EXEEXT} $arg > /dev/null
   result=$?
   if test $result = 77; then
     echo "Skipping test: getrlimit and setrlimit don't work"
--- a/tests/test-fprintf-posix3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fprintf-posix3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,7 +2,7 @@
 
 # Test against a memory leak.
 
-(./test-fprintf-posix3${EXEEXT} 0
+(${CHECKER} ./test-fprintf-posix3${EXEEXT} 0
  result=$?
  if test $result != 77 && test $result != 78; then result=1; fi
  exit $result
@@ -13,7 +13,7 @@
   exit 77
 fi
 
-./test-fprintf-posix3${EXEEXT} 1 > /dev/null
+${CHECKER} ./test-fprintf-posix3${EXEEXT} 1 > /dev/null
 result=$?
 if test $result = 77; then
   echo "Skipping test: no way to determine address space size"
--- a/tests/test-freadahead.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-freadahead.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-freadahead${EXEEXT} 0 < "$srcdir/test-freadahead.sh" || exit 1
-./test-freadahead${EXEEXT} 5 < "$srcdir/test-freadahead.sh" || exit 1
+${CHECKER} ./test-freadahead${EXEEXT} 0 < "$srcdir/test-freadahead.sh" || exit 1
+${CHECKER} ./test-freadahead${EXEEXT} 5 < "$srcdir/test-freadahead.sh" || exit 1
 exit 0
--- a/tests/test-freadptr.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-freadptr.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-freadptr${EXEEXT} 5 < "$srcdir/test-freadptr.sh" || exit 1
-cat "$srcdir/test-freadptr.sh" | ./test-freadptr${EXEEXT} 5 || exit 1
+${CHECKER} ./test-freadptr${EXEEXT} 5 < "$srcdir/test-freadptr.sh" || exit 1
+cat "$srcdir/test-freadptr.sh" | ${CHECKER} ./test-freadptr${EXEEXT} 5 || exit 1
 exit 0
--- a/tests/test-freadptr2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-freadptr2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-freadptr2${EXEEXT} 0 < "$srcdir/test-freadptr2.sh" || exit 1
-./test-freadptr2${EXEEXT} 5 < "$srcdir/test-freadptr2.sh" || exit 1
+${CHECKER} ./test-freadptr2${EXEEXT} 0 < "$srcdir/test-freadptr2.sh" || exit 1
+${CHECKER} ./test-freadptr2${EXEEXT} 5 < "$srcdir/test-freadptr2.sh" || exit 1
 exit 0
--- a/tests/test-freadseek.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-freadseek.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 < "$srcdir/test-freadseek.sh" || exit 1
-cat "$srcdir/test-freadseek.sh" | ./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 || exit 1
+${CHECKER} ./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 < "$srcdir/test-freadseek.sh" || exit 1
+cat "$srcdir/test-freadseek.sh" | ${CHECKER} ./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 || exit 1
 exit 0
--- a/tests/test-fseek.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fseek.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-fseek${EXEEXT} 1 < "$srcdir/test-fseek.sh" || exit 1
-echo hi | ./test-fseek${EXEEXT} || exit 1
+${CHECKER} ./test-fseek${EXEEXT} 1 < "$srcdir/test-fseek.sh" || exit 1
+echo hi | ${CHECKER} ./test-fseek${EXEEXT} || exit 1
 exit 0
--- a/tests/test-fseek2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fseek2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-fseek${EXEEXT} 1 2 < "$srcdir/test-fseek2.sh"
+exec ${CHECKER} ./test-fseek${EXEEXT} 1 2 < "$srcdir/test-fseek2.sh"
--- a/tests/test-fseeko.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fseeko.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-fseeko${EXEEXT} 1 < "$srcdir/test-fseeko.sh" || exit 1
-echo hi | ./test-fseeko${EXEEXT} || exit 1
+${CHECKER} ./test-fseeko${EXEEXT} 1 < "$srcdir/test-fseeko.sh" || exit 1
+echo hi | ${CHECKER} ./test-fseeko${EXEEXT} || exit 1
 exit 0
--- a/tests/test-fseeko2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fseeko2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-fseeko${EXEEXT} 1 2 < "$srcdir/test-fseeko2.sh"
+exec ${CHECKER} ./test-fseeko${EXEEXT} 1 2 < "$srcdir/test-fseeko2.sh"
--- a/tests/test-fseeko3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fseeko3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,7 +1,7 @@
 #!/bin/sh
 
-./test-fseeko3${EXEEXT} 0 "$srcdir/test-fseeko3.sh" || exit 1
+${CHECKER} ./test-fseeko3${EXEEXT} 0 "$srcdir/test-fseeko3.sh" || exit 1
 
-./test-fseeko3${EXEEXT} 1 "$srcdir/test-fseeko3.sh" || exit 1
+${CHECKER} ./test-fseeko3${EXEEXT} 1 "$srcdir/test-fseeko3.sh" || exit 1
 
 exit 0
--- a/tests/test-fseeko4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-fseeko4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-fseeko4${EXEEXT} "$srcdir/test-fseeko4.sh" || exit 1
+${CHECKER} ./test-fseeko4${EXEEXT} "$srcdir/test-fseeko4.sh" || exit 1
 
 exit 0
--- a/tests/test-ftell.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-ftell.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-ftell${EXEEXT} 1 < "$srcdir/test-ftell.sh" || exit 1
-echo hi | ./test-ftell${EXEEXT} || exit 1
+${CHECKER} ./test-ftell${EXEEXT} 1 < "$srcdir/test-ftell.sh" || exit 1
+echo hi | ${CHECKER} ./test-ftell${EXEEXT} || exit 1
 exit 0
--- a/tests/test-ftell2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-ftell2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-ftell${EXEEXT} 1 2 < "$srcdir/test-ftell2.sh"
+exec ${CHECKER} ./test-ftell${EXEEXT} 1 2 < "$srcdir/test-ftell2.sh"
--- a/tests/test-ftello.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-ftello.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-ftello${EXEEXT} 1 < "$srcdir/test-ftello.sh" || exit 1
-echo hi | ./test-ftello${EXEEXT} || exit 1
+${CHECKER} ./test-ftello${EXEEXT} 1 < "$srcdir/test-ftello.sh" || exit 1
+echo hi | ${CHECKER} ./test-ftello${EXEEXT} || exit 1
 exit 0
--- a/tests/test-ftello2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-ftello2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-ftello${EXEEXT} 1 2 < "$srcdir/test-ftello2.sh"
+exec ${CHECKER} ./test-ftello${EXEEXT} 1 2 < "$srcdir/test-ftello2.sh"
--- a/tests/test-ftello4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-ftello4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
 
-./test-ftello4${EXEEXT} "$srcdir/test-ftello4.sh" || exit 1
+${CHECKER} ./test-ftello4${EXEEXT} "$srcdir/test-ftello4.sh" || exit 1
 
 exit 0
--- a/tests/test-ftruncate.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-ftruncate.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec ./test-ftruncate${EXEEXT} "$srcdir/test-ftruncate.sh"
+exec ${CHECKER} ./test-ftruncate${EXEEXT} "$srcdir/test-ftruncate.sh"
--- a/tests/test-getcwd.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-getcwd.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,6 +2,6 @@
 
 . "${srcdir=.}/init.sh"; path_prepend_ .
 
-test-getcwd
+${CHECKER} test-getcwd
 
 Exit $?
--- a/tests/test-idpriv-drop.su.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-idpriv-drop.su.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -16,7 +16,7 @@
   exit 77
 fi
 
-./test-idpriv-drop${EXEEXT} || exit 13          # normal
+${CHECKER} ./test-idpriv-drop${EXEEXT} || exit 13          # normal
 
 chown root:root test-idpriv-drop${EXEEXT} 2>/dev/null || \
 chown root:wheel test-idpriv-drop${EXEEXT} 2>/dev/null || \
--- a/tests/test-idpriv-droptemp.su.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-idpriv-droptemp.su.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -16,7 +16,7 @@
   exit 77
 fi
 
-./test-idpriv-droptemp${EXEEXT} || exit 13      # normal
+${CHECKER} ./test-idpriv-droptemp${EXEEXT} || exit 13      # normal
 
 chown root:root test-idpriv-droptemp${EXEEXT} 2>/dev/null || \
 chown root:wheel test-idpriv-droptemp${EXEEXT} 2>/dev/null || \
--- a/tests/test-lseek.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-lseek.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -5,14 +5,14 @@
 
 tmpfiles=t-lseek.tmp
 # seekable files
-./test-lseek${EXEEXT} 0 < "$srcdir/test-lseek.sh" > t-lseek.tmp || exit 1
+${CHECKER} ./test-lseek${EXEEXT} 0 < "$srcdir/test-lseek.sh" > t-lseek.tmp || exit 1
 
 # pipes
-echo hi | { ./test-lseek${EXEEXT} 1; echo $? > t-lseek.tmp; cat > /dev/null; } | cat
+echo hi | { ${CHECKER} ./test-lseek${EXEEXT} 1; echo $? > t-lseek.tmp; cat > /dev/null; } | cat
 test "`cat t-lseek.tmp`" = "0" || exit 1
 
 # closed descriptors
-./test-lseek${EXEEXT} 2 <&- >&- || exit 1
+${CHECKER} ./test-lseek${EXEEXT} 2 <&- >&- || exit 1
 
 rm -rf $tmpfiles
 exit 0
--- a/tests/test-mbmemcasecmp1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbmemcasecmp1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-mbmemcasecmp${EXEEXT} 1
+${CHECKER} ./test-mbmemcasecmp${EXEEXT} 1
--- a/tests/test-mbmemcasecmp2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbmemcasecmp2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbmemcasecmp${EXEEXT} 2
+${CHECKER} ./test-mbmemcasecmp${EXEEXT} 2
--- a/tests/test-mbmemcasecmp3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbmemcasecmp3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_TR_UTF8 \
-./test-mbmemcasecmp${EXEEXT} 3
+${CHECKER} ./test-mbmemcasecmp${EXEEXT} 3
--- a/tests/test-mbmemcasecoll1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbmemcasecoll1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-mbmemcasecoll${EXEEXT} 1
+${CHECKER} ./test-mbmemcasecoll${EXEEXT} 1
--- a/tests/test-mbmemcasecoll2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbmemcasecoll2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbmemcasecoll${EXEEXT} 2
+${CHECKER} ./test-mbmemcasecoll${EXEEXT} 2
--- a/tests/test-mbmemcasecoll3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbmemcasecoll3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_TR_UTF8 \
-./test-mbmemcasecoll${EXEEXT} 3
+${CHECKER} ./test-mbmemcasecoll${EXEEXT} 3
--- a/tests/test-mbrtowc-w32-1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc-w32-1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP1252 locale.
-./test-mbrtowc-w32${EXEEXT} French_France 1252
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} French_France 1252
--- a/tests/test-mbrtowc-w32-2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc-w32-2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP1256 locale.
-./test-mbrtowc-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
--- a/tests/test-mbrtowc-w32-3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc-w32-3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP932 locale.
-./test-mbrtowc-w32${EXEEXT} Japanese_Japan 932
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Japanese_Japan 932
--- a/tests/test-mbrtowc-w32-4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc-w32-4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP950 locale.
-./test-mbrtowc-w32${EXEEXT} Chinese_Taiwan 950
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_Taiwan 950
--- a/tests/test-mbrtowc-w32-5.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc-w32-5.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP936 locale.
-./test-mbrtowc-w32${EXEEXT} Chinese_China 936
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_China 936
--- a/tests/test-mbrtowc-w32-6.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc-w32-6.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,4 +4,4 @@
 # will likely never support locales with MB_CUR_MAX > 2.
 
 # Test a GB18030 locale.
-./test-mbrtowc-w32${EXEEXT} Chinese_China 54936
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_China 54936
--- a/tests/test-mbrtowc-w32-7.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc-w32-7.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,4 +4,4 @@
 # will likely never support locales with MB_CUR_MAX > 2.
 
 # Test some UTF-8 locales.
-./test-mbrtowc-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
--- a/tests/test-mbrtowc1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-mbrtowc${EXEEXT} 1
+${CHECKER} ./test-mbrtowc${EXEEXT} 1
--- a/tests/test-mbrtowc2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbrtowc${EXEEXT} 2
+${CHECKER} ./test-mbrtowc${EXEEXT} 2
--- a/tests/test-mbrtowc3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_JA \
-./test-mbrtowc${EXEEXT} 3
+${CHECKER} ./test-mbrtowc${EXEEXT} 3
--- a/tests/test-mbrtowc4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-mbrtowc${EXEEXT} 4
+${CHECKER} ./test-mbrtowc${EXEEXT} 4
--- a/tests/test-mbrtowc5.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbrtowc5.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Test whether the POSIX locale has encoding errors.
 LC_ALL=C \
-./test-mbrtowc${EXEEXT} 5 || exit
+${CHECKER} ./test-mbrtowc${EXEEXT} 5 || exit
 LC_ALL=POSIX \
-./test-mbrtowc${EXEEXT} 5
+${CHECKER} ./test-mbrtowc${EXEEXT} 5
--- a/tests/test-mbscasecmp.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbscasecmp.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_TR_UTF8 \
-./test-mbscasecmp${EXEEXT}
+${CHECKER} ./test-mbscasecmp${EXEEXT}
--- a/tests/test-mbscasestr2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbscasestr2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbscasestr2${EXEEXT}
+${CHECKER} ./test-mbscasestr2${EXEEXT}
--- a/tests/test-mbscasestr3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbscasestr3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-mbscasestr3${EXEEXT}
+${CHECKER} ./test-mbscasestr3${EXEEXT}
--- a/tests/test-mbscasestr4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbscasestr4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_TR_UTF8 \
-./test-mbscasestr4${EXEEXT}
+${CHECKER} ./test-mbscasestr4${EXEEXT}
--- a/tests/test-mbschr.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbschr.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-mbschr${EXEEXT}
+${CHECKER} ./test-mbschr${EXEEXT}
--- a/tests/test-mbscspn.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbscspn.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbscspn${EXEEXT}
+${CHECKER} ./test-mbscspn${EXEEXT}
--- a/tests/test-mbsinit.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsinit.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbsinit${EXEEXT}
+${CHECKER} ./test-mbsinit${EXEEXT}
--- a/tests/test-mbsncasecmp.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsncasecmp.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_TR_UTF8 \
-./test-mbsncasecmp${EXEEXT}
+${CHECKER} ./test-mbsncasecmp${EXEEXT}
--- a/tests/test-mbsnrtowcs1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsnrtowcs1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-mbsnrtowcs${EXEEXT} 1
+${CHECKER} ./test-mbsnrtowcs${EXEEXT} 1
--- a/tests/test-mbsnrtowcs2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsnrtowcs2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbsnrtowcs${EXEEXT} 2
+${CHECKER} ./test-mbsnrtowcs${EXEEXT} 2
--- a/tests/test-mbsnrtowcs3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsnrtowcs3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_JA \
-./test-mbsnrtowcs${EXEEXT} 3
+${CHECKER} ./test-mbsnrtowcs${EXEEXT} 3
--- a/tests/test-mbsnrtowcs4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsnrtowcs4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-mbsnrtowcs${EXEEXT} 4
+${CHECKER} ./test-mbsnrtowcs${EXEEXT} 4
--- a/tests/test-mbspbrk.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbspbrk.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbspbrk${EXEEXT}
+${CHECKER} ./test-mbspbrk${EXEEXT}
--- a/tests/test-mbspcasecmp.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbspcasecmp.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_TR_UTF8 \
-./test-mbspcasecmp${EXEEXT}
+${CHECKER} ./test-mbspcasecmp${EXEEXT}
--- a/tests/test-mbsrchr.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsrchr.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-mbsrchr${EXEEXT}
+${CHECKER} ./test-mbsrchr${EXEEXT}
--- a/tests/test-mbsrtowcs1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsrtowcs1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-mbsrtowcs${EXEEXT} 1
+${CHECKER} ./test-mbsrtowcs${EXEEXT} 1
--- a/tests/test-mbsrtowcs2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsrtowcs2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbsrtowcs${EXEEXT} 2
+${CHECKER} ./test-mbsrtowcs${EXEEXT} 2
--- a/tests/test-mbsrtowcs3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsrtowcs3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_JA \
-./test-mbsrtowcs${EXEEXT} 3
+${CHECKER} ./test-mbsrtowcs${EXEEXT} 3
--- a/tests/test-mbsrtowcs4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsrtowcs4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-mbsrtowcs${EXEEXT} 4
+${CHECKER} ./test-mbsrtowcs${EXEEXT} 4
--- a/tests/test-mbsspn.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsspn.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbsspn${EXEEXT}
+${CHECKER} ./test-mbsspn${EXEEXT}
--- a/tests/test-mbsstr2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsstr2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-mbsstr2${EXEEXT}
+${CHECKER} ./test-mbsstr2${EXEEXT}
--- a/tests/test-mbsstr3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-mbsstr3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-mbsstr3${EXEEXT}
+${CHECKER} ./test-mbsstr3${EXEEXT}
--- a/tests/test-nl_langinfo.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-nl_langinfo.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,17 +1,17 @@
 #!/bin/sh
 
-LC_ALL=C ./test-nl_langinfo${EXEEXT} 0 || exit 1
+LC_ALL=C ${CHECKER} ./test-nl_langinfo${EXEEXT} 0 || exit 1
 
 # Test whether a specific traditional locale is installed.
 : ${LOCALE_FR=fr_FR}
 if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR ./test-nl_langinfo${EXEEXT} 1 || exit 1
+  LC_ALL=$LOCALE_FR ${CHECKER} ./test-nl_langinfo${EXEEXT} 1 || exit 1
 fi
 
 # Test whether a specific UTF-8 locale is installed.
 : ${LOCALE_FR_UTF8=fr_FR.UTF-8}
 if test $LOCALE_FR_UTF8 != none; then
-  LC_ALL=$LOCALE_FR_UTF8 ./test-nl_langinfo${EXEEXT} 2 || exit 1
+  LC_ALL=$LOCALE_FR_UTF8 ${CHECKER} ./test-nl_langinfo${EXEEXT} 2 || exit 1
 fi
 
 exit 0
--- a/tests/test-nonblocking-pipe.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-nonblocking-pipe.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -5,13 +5,13 @@
 
 # Test blocking write() with blocking read().
 # Commented out because this test succeeds on all platforms anyway.
-#./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 0 || exit 1
+#${CHECKER} ./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 0 || exit 1
 
 # Test non-blocking write() with blocking read().
-./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 1 || exit 1
+${CHECKER} ./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 1 || exit 1
 
 # Test blocking write() with non-blocking read().
-./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 2 || exit 1
+${CHECKER} ./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 2 || exit 1
 
 # Test non-blocking write() with non-blocking read().
-./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 3 || exit 1
+${CHECKER} ./test-nonblocking-pipe-main${EXEEXT} ./test-nonblocking-pipe-child${EXEEXT} 3 || exit 1
--- a/tests/test-nonblocking-socket.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-nonblocking-socket.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,13 +1,13 @@
 #!/bin/sh
 
 # Test blocking write() with blocking read().
-./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 0 || exit 1
+${CHECKER} ./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 0 || exit 1
 
 # Test non-blocking write() with blocking read().
-./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 1 || exit 1
+${CHECKER} ./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 1 || exit 1
 
 # Test blocking write() with non-blocking read().
-./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 2 || exit 1
+${CHECKER} ./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 2 || exit 1
 
 # Test non-blocking write() with non-blocking read().
-./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 3 || exit 1
+${CHECKER} ./test-nonblocking-socket-main${EXEEXT} ./test-nonblocking-socket-child${EXEEXT} 3 || exit 1
--- a/tests/test-parse-duration.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-parse-duration.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -62,7 +62,7 @@
 exec 3< "${tmpf}"
 while read line <&3
 do
-    v=`${exe} "${line}"` || { ls -l "${tmpf}"; die "Failed: ${exe} '${line}'"; }
+    v=`${CHECKER} ${exe} "${line}"` || { ls -l "${tmpf}"; die "Failed: ${exe} '${line}'"; }
     test $v -eq 38898367 || die $v is not 38898367
 done
 exec 3>&-
--- a/tests/test-perror.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-perror.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -5,22 +5,22 @@
 # Test NULL prefix. Result should not contain a number, except in lines that
 # start with 'EDC' (IBM z/OS libc produces an error identifier before the
 # error message).
-test-perror 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp
+${CHECKER} test-perror 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp
 grep -v '^EDC' t-perror.tmp | grep '[0-9]' > /dev/null \
   && fail_ "result should not contain a number"
 
 # Test empty prefix. Result should be the same.
-test-perror '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp
+${CHECKER} test-perror '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp
 diff t-perror.tmp t-perror1.tmp \
   || fail_ "empty prefix should behave like NULL argument"
 
 # Test non-empty prefix.
-test-perror foo 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp
+${CHECKER} test-perror foo 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp
 sed -e 's/^/foo: /' < t-perror.tmp > t-perror2.tmp
 diff t-perror2.tmp t-perror3.tmp || fail_ "prefix applied incorrectly"
 
 # Test exit status.
-test-perror >out 2>/dev/null || fail_ "unexpected exit status"
+${CHECKER} test-perror >out 2>/dev/null || fail_ "unexpected exit status"
 test -s out && fail_ "unexpected output"
 
 Exit 0
--- a/tests/test-pipe-filter-gi1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-pipe-filter-gi1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -13,8 +13,8 @@
 fi
 
 # A small file.
-./test-pipe-filter-gi1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-gi1.sh" || exit 1
+${CHECKER} ./test-pipe-filter-gi1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-gi1.sh" || exit 1
 # A medium-sized file.
-./test-pipe-filter-gi1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-gi1.c" || exit 1
+${CHECKER} ./test-pipe-filter-gi1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-gi1.c" || exit 1
 # A large file.
-./test-pipe-filter-gi1${EXEEXT} ${TR} "${srcdir}/test-vasnprintf-posix.c" || exit 1
+${CHECKER} ./test-pipe-filter-gi1${EXEEXT} ${TR} "${srcdir}/test-vasnprintf-posix.c" || exit 1
--- a/tests/test-pipe-filter-gi2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-pipe-filter-gi2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -18,7 +18,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
-./test-pipe-filter-gi2-main${EXEEXT} ./test-pipe-filter-gi2-child${EXEEXT} | {
+${CHECKER} ./test-pipe-filter-gi2-main${EXEEXT} ./test-pipe-filter-gi2-child${EXEEXT} | {
   set -e
   read a && test "$a" = "Test 1 passed."
   read a && test "$a" = "Test 2 passed."
--- a/tests/test-pipe-filter-ii1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-pipe-filter-ii1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -13,8 +13,8 @@
 fi
 
 # A small file.
-./test-pipe-filter-ii1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-ii1.sh" || exit 1
+${CHECKER} ./test-pipe-filter-ii1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-ii1.sh" || exit 1
 # A medium-sized file.
-./test-pipe-filter-ii1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-ii1.c" || exit 1
+${CHECKER} ./test-pipe-filter-ii1${EXEEXT} ${TR} "${srcdir}/test-pipe-filter-ii1.c" || exit 1
 # A large file.
-./test-pipe-filter-ii1${EXEEXT} ${TR} "${srcdir}/test-vasnprintf-posix.c" || exit 1
+${CHECKER} ./test-pipe-filter-ii1${EXEEXT} ${TR} "${srcdir}/test-vasnprintf-posix.c" || exit 1
--- a/tests/test-pipe-filter-ii2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-pipe-filter-ii2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -18,7 +18,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
-./test-pipe-filter-ii2-main${EXEEXT} ./test-pipe-filter-ii2-child${EXEEXT} | {
+${CHECKER} ./test-pipe-filter-ii2-main${EXEEXT} ./test-pipe-filter-ii2-child${EXEEXT} | {
   set -e
   read a && test "$a" = "Test 1 passed."
   read a && test "$a" = "Test 2 passed."
--- a/tests/test-pread.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-pread.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,6 +2,6 @@
 . "${srcdir=.}/init.sh"; path_prepend_ .
 
 fail=0
-: | test-pread || fail=1
+: | ${CHECKER} test-pread || fail=1
 
 Exit $fail
--- a/tests/test-printf-posix.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-printf-posix.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-printf-posix.tmp t-printf-posix.out"
-./test-printf-posix${EXEEXT} > t-printf-posix.tmp || exit 1
+${CHECKER} ./test-printf-posix${EXEEXT} > t-printf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-printf-posix.tmp > t-printf-posix.out || exit 1
 
 : ${DIFF=diff}
--- a/tests/test-printf-posix2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-printf-posix2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,7 +2,7 @@
 
 # Test out-of-memory handling.
 
-(./test-printf-posix2${EXEEXT} 0
+(${CHECKER} ./test-printf-posix2${EXEEXT} 0
  result=$?
  if test $result != 77 && test $result != 78; then result=1; fi
  exit $result
@@ -15,7 +15,7 @@
 
 for arg in 1 2 3 4 5 6
 do
-  ./test-printf-posix2${EXEEXT} $arg > /dev/null
+  ${CHECKER} ./test-printf-posix2${EXEEXT} $arg > /dev/null
   result=$?
   if test $result = 77; then
     echo "Skipping test: getrlimit and setrlimit don't work"
--- a/tests/test-pwrite.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-pwrite.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,6 +2,6 @@
 . "${srcdir=.}/init.sh"; path_prepend_ .
 
 fail=0
-test-pwrite || fail=1
+${CHECKER} test-pwrite || fail=1
 
 Exit $fail
--- a/tests/test-quotearg.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-quotearg.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -23,4 +23,4 @@
 fi
 
 LOCALE=$locale LOCALEDIR="$srcdir/locale" \
-./test-quotearg${EXEEXT}
+${CHECKER} ./test-quotearg${EXEEXT}
--- a/tests/test-readtokens.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-readtokens.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -3,21 +3,21 @@
 
 fail=0
 
-test-readtokens || fail=1
+${CHECKER} test-readtokens || fail=1
 
 # Simplest case.
 echo a:b:c: > exp || fail=1
-printf a:b:c | test-readtokens : > out 2>&1 || fail=1
+printf a:b:c | ${CHECKER} test-readtokens : > out 2>&1 || fail=1
 compare exp out || fail=1
 
 # Use NUL as the delimiter.
 echo a:b:c: > exp || fail=1
-printf 'a\0b\0c' | test-readtokens '\0' > out 2>&1 || fail=1
+printf 'a\0b\0c' | ${CHECKER} test-readtokens '\0' > out 2>&1 || fail=1
 compare exp out || fail=1
 
 # Two delimiter bytes, and adjacent delimiters in the input.
 echo a:b:c: > exp || fail=1
-printf a:-:b-:c:: | test-readtokens :- > out 2>&1 || fail=1
+printf a:-:b-:c:: | ${CHECKER} test-readtokens :- > out 2>&1 || fail=1
 compare exp out || fail=1
 
 Exit $fail
--- a/tests/test-select-in.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-select-in.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,25 +12,25 @@
 # Regular files.
 
 rm -f t-select-in.tmp
-./test-select-fd${EXEEXT} r 0 t-select-in.tmp < ./test-select-fd${EXEEXT}
+${CHECKER} ./test-select-fd${EXEEXT} r 0 t-select-in.tmp < ./test-select-fd${EXEEXT}
 test `cat t-select-in.tmp` = "1" || exit 1
 
 # Pipes.
 
 rm -f t-select-in.tmp
 { sleep 1; echo abc; } | \
-  { ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; cat > /dev/null; }
+  { ${CHECKER} ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; cat > /dev/null; }
 test `cat t-select-in.tmp` = "0" || exit 1
 
 rm -f t-select-in.tmp
-echo abc | { sleep 1; ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; }
+echo abc | { sleep 1; ${CHECKER} ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; }
 test `cat t-select-in.tmp` = "1" || exit 1
 
 # Special files.
 # This part of the test is known to fail on Solaris 2.6 and older.
 
 rm -f t-select-in.tmp
-./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null
+${CHECKER} ./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null
 test `cat t-select-in.tmp` = "1" || exit 1
 
 rm -fr $tmpfiles
--- a/tests/test-select-out.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-select-out.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -9,25 +9,25 @@
 # Regular files.
 
 rm -f t-select-out.tmp
-./test-select-fd${EXEEXT} w 1 t-select-out.tmp > t-select-out.out
+${CHECKER} ./test-select-fd${EXEEXT} w 1 t-select-out.tmp > t-select-out.out
 test `cat t-select-out.tmp` = "1" || exit 1
 
 # Pipes.
 
 if false; then # This test fails on some platforms.
   rm -f t-select-out.tmp
-  ( { echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | { sleep 1; cat; } ) > /dev/null
+  ( { echo abc; ${CHECKER} ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | { sleep 1; cat; } ) > /dev/null
   test `cat t-select-out.tmp` = "0" || exit 1
 fi
 
 rm -f t-select-out.tmp
-( { sleep 1; echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | cat) > /dev/null
+( { sleep 1; echo abc; ${CHECKER} ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | cat) > /dev/null
 test `cat t-select-out.tmp` = "1" || exit 1
 
 # Special files.
 
 rm -f t-select-out.tmp
-./test-select-fd${EXEEXT} w 1 t-select-out.tmp > /dev/null
+${CHECKER} ./test-select-fd${EXEEXT} w 1 t-select-out.tmp > /dev/null
 test `cat t-select-out.tmp` = "1" || exit 1
 
 rm -fr $tmpfiles
--- a/tests/test-set-mode-acl.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-set-mode-acl.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -160,14 +160,14 @@
       chmod 600 tmpfile1
 
       # Try to set the ACL to only the given mode.
-      "$builddir"/test-set-mode-acl${EXEEXT} tmpfile1 $mode
+      ${CHECKER} "$builddir"/test-set-mode-acl${EXEEXT} tmpfile1 $mode
       # Verify that tmpfile1 has no ACL and has the desired mode.
       modestring=`ls -l tmpfile1 | dd ibs=1 count=10 2>/dev/null`
       if test "x$modestring" != "x$modestring0"; then
         echo "mode = $mode: tmpfile1 has wrong mode: $modestring" 1>&2
         exit 1
       fi
-      if test `"$builddir"/test-file-has-acl${EXEEXT} tmpfile1` != no; then
+      if test `${CHECKER} "$builddir"/test-file-has-acl${EXEEXT} tmpfile1` != no; then
         echo "mode = $mode: tmpfile1 got an ACL" 1>&2
         exit 1
       fi
@@ -212,14 +212,14 @@
         esac
 
         # Try to set the ACL to only the given mode.
-        "$builddir"/test-set-mode-acl${EXEEXT} tmpfile2 $mode
+        ${CHECKER} "$builddir"/test-set-mode-acl${EXEEXT} tmpfile2 $mode
         # Verify that tmpfile2 has no ACL and has the desired mode.
         modestring=`ls -l tmpfile2 | dd ibs=1 count=10 2>/dev/null`
         if test "x$modestring" != "x$modestring0"; then
           echo "mode = $mode: tmpfile2 has wrong mode: $modestring" 1>&2
           exit 1
         fi
-        if test `"$builddir"/test-file-has-acl${EXEEXT} tmpfile2` != no; then
+        if test `${CHECKER} "$builddir"/test-file-has-acl${EXEEXT} tmpfile2` != no; then
           echo "mode = $mode: tmpfile2 still has an ACL" 1>&2
           exit 1
         fi
--- a/tests/test-setlocale1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-setlocale1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -16,19 +16,19 @@
 fi
 
 if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR      ./test-setlocale1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_FR      ${CHECKER} ./test-setlocale1${EXEEXT} || exit 1
 fi
 
 if test $LOCALE_FR_UTF8 != none; then
-  LC_ALL=$LOCALE_FR_UTF8 ./test-setlocale1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_FR_UTF8 ${CHECKER} ./test-setlocale1${EXEEXT} || exit 1
 fi
 
 if test $LOCALE_JA != none; then
-  LC_ALL=$LOCALE_JA      ./test-setlocale1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_JA      ${CHECKER} ./test-setlocale1${EXEEXT} || exit 1
 fi
 
 if test $LOCALE_ZH_CN != none; then
-  LC_ALL=$LOCALE_ZH_CN   ./test-setlocale1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_ZH_CN   ${CHECKER} ./test-setlocale1${EXEEXT} || exit 1
 fi
 
 exit 0
--- a/tests/test-setlocale2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-setlocale2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,7 +2,7 @@
 
 # Test locale names with likely unsupported encoding in Unix syntax.
 for name in ar_SA.ISO-8859-1 fr_FR.CP1251 zh_TW.GB18030 zh_CN.BIG5; do
-  env LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
+  env LC_ALL=$name ${CHECKER} ./test-setlocale2${EXEEXT} 1 || exit 1
 done
 
 # Test locale names with likely unsupported encoding in native Windows syntax.
@@ -11,7 +11,7 @@
             Chinese_Taiwan.65001 Chinese_China.54936 Chinese_China.65001; do
   # Here we use 'env' to set the LC_ALL environment variable, because on
   # Solaris 11.0, the /bin/sh refuses to do it for Turkish_Turkey.65001.
-  env LC_ALL="$name" ./test-setlocale2${EXEEXT} 1 || exit 1
+  env LC_ALL="$name" ${CHECKER} ./test-setlocale2${EXEEXT} 1 || exit 1
 done
 
 exit 0
--- a/tests/test-sigpipe.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-sigpipe.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -5,7 +5,7 @@
 
 # Test signal's default behaviour.
 tmpfiles="$tmpfiles t-sigpipeA.tmp"
-./test-sigpipe${EXEEXT} A 2> t-sigpipeA.tmp | head -1 > /dev/null
+${CHECKER} ./test-sigpipe${EXEEXT} A 2> t-sigpipeA.tmp | head -1 > /dev/null
 if test -s t-sigpipeA.tmp; then
   LC_ALL=C tr -d '\r' < t-sigpipeA.tmp
   rm -fr $tmpfiles; exit 1
@@ -13,7 +13,7 @@
 
 # Test signal's ignored behaviour.
 tmpfiles="$tmpfiles t-sigpipeB.tmp"
-./test-sigpipe${EXEEXT} B 2> t-sigpipeB.tmp | head -1 > /dev/null
+${CHECKER} ./test-sigpipe${EXEEXT} B 2> t-sigpipeB.tmp | head -1 > /dev/null
 if test -s t-sigpipeB.tmp; then
   LC_ALL=C tr -d '\r' < t-sigpipeB.tmp
   rm -fr $tmpfiles; exit 1
@@ -21,7 +21,7 @@
 
 # Test signal's behaviour when a handler is installed.
 tmpfiles="$tmpfiles t-sigpipeC.tmp"
-./test-sigpipe${EXEEXT} C 2> t-sigpipeC.tmp | head -1 > /dev/null
+${CHECKER} ./test-sigpipe${EXEEXT} C 2> t-sigpipeC.tmp | head -1 > /dev/null
 if test -s t-sigpipeC.tmp; then
   LC_ALL=C tr -d '\r' < t-sigpipeC.tmp
   rm -fr $tmpfiles; exit 1
--- a/tests/test-spawn-pipe.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-spawn-pipe.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -2,7 +2,7 @@
 
 st=0
 for i in 0 1 2 3 4 5 6 7 ; do
-  ./test-spawn-pipe-main${EXEEXT} ./test-spawn-pipe-child${EXEEXT} $i \
+  ${CHECKER} ./test-spawn-pipe-main${EXEEXT} ./test-spawn-pipe-child${EXEEXT} $i \
     || { echo test-spawn-pipe.sh: iteration $i failed >&2; st=1; }
 done
 exit $st
--- a/tests/test-strtod1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-strtod1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -13,11 +13,11 @@
 fi
 
 if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR      ./test-strtod1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_FR      ${CHECKER} ./test-strtod1${EXEEXT} || exit 1
 fi
 
 if test $LOCALE_FR_UTF8 != none; then
-  LC_ALL=$LOCALE_FR_UTF8 ./test-strtod1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_FR_UTF8 ${CHECKER} ./test-strtod1${EXEEXT} || exit 1
 fi
 
 exit 0
--- a/tests/test-strtold1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-strtold1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -13,11 +13,11 @@
 fi
 
 if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR      ./test-strtold1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_FR      ${CHECKER} ./test-strtold1${EXEEXT} || exit 1
 fi
 
 if test $LOCALE_FR_UTF8 != none; then
-  LC_ALL=$LOCALE_FR_UTF8 ./test-strtold1${EXEEXT} || exit 1
+  LC_ALL=$LOCALE_FR_UTF8 ${CHECKER} ./test-strtold1${EXEEXT} || exit 1
 fi
 
 exit 0
--- a/tests/test-system-quote.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-system-quote.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-./test-system-quote-main${EXEEXT} ./test-system-quote-child${EXEEXT}
+${CHECKER} ./test-system-quote-main${EXEEXT} ./test-system-quote-child${EXEEXT}
--- a/tests/test-tsearch.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-tsearch.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-tsearch.out"
-./test-tsearch${EXEEXT} > t-tsearch.out 2>&1
+${CHECKER} ./test-tsearch${EXEEXT} > t-tsearch.out 2>&1
 test $? = 0 || { cat t-tsearch.out 1>&2; rm -f $tmpfiles; exit 1; }
 
 rm -f $tmpfiles
--- a/tests/test-vasnprintf-posix2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-vasnprintf-posix2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -19,4 +19,4 @@
 fi
 
 LC_ALL=$testlocale \
-./test-vasnprintf-posix2${EXEEXT}
+${CHECKER} ./test-vasnprintf-posix2${EXEEXT}
--- a/tests/test-vdprintf-posix.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-vdprintf-posix.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-vdprintf-posix.tmp t-vdprintf-posix.out"
-./test-vdprintf-posix${EXEEXT} > t-vdprintf-posix.tmp || exit 1
+${CHECKER} ./test-vdprintf-posix${EXEEXT} > t-vdprintf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-vdprintf-posix.tmp > t-vdprintf-posix.out || exit 1
 
 : ${DIFF=diff}
--- a/tests/test-version-etc.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-version-etc.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -33,7 +33,7 @@
 Written by Sergey Poznyakoff and Eric Blake.
 EOT
 
-test-version-etc${EXEEXT} --version |
+${CHECKER} test-version-etc${EXEEXT} --version |
  sed '1s/test-version-etc (.*) .*/test-version-etc (PROJECT) VERSION/
       /^Packaged by/d
       2,3 s/Copyright (C) [0-9]\{4,4\}/COPYRIGHT/' |
--- a/tests/test-vfprintf-posix.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-vfprintf-posix.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-vfprintf-posix.tmp t-vfprintf-posix.out"
-./test-vfprintf-posix${EXEEXT} > t-vfprintf-posix.tmp || exit 1
+${CHECKER} ./test-vfprintf-posix${EXEEXT} > t-vfprintf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-vfprintf-posix.tmp > t-vfprintf-posix.out || exit 1
 
 : ${DIFF=diff}
--- a/tests/test-vprintf-posix.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-vprintf-posix.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-vprintf-posix.tmp t-vprintf-posix.out"
-./test-vprintf-posix${EXEEXT} > t-vprintf-posix.tmp || exit 1
+${CHECKER} ./test-vprintf-posix${EXEEXT} > t-vprintf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-vprintf-posix.tmp > t-vprintf-posix.out || exit 1
 
 : ${DIFF=diff}
--- a/tests/test-wcrtomb-w32-1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb-w32-1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP1252 locale.
-./test-wcrtomb-w32${EXEEXT} French_France 1252
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} French_France 1252
--- a/tests/test-wcrtomb-w32-2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb-w32-2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP1256 locale.
-./test-wcrtomb-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
--- a/tests/test-wcrtomb-w32-3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb-w32-3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP932 locale.
-./test-wcrtomb-w32${EXEEXT} Japanese_Japan 932
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Japanese_Japan 932
--- a/tests/test-wcrtomb-w32-4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb-w32-4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP950 locale.
-./test-wcrtomb-w32${EXEEXT} Chinese_Taiwan 950
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_Taiwan 950
--- a/tests/test-wcrtomb-w32-5.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb-w32-5.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Test a CP936 locale.
-./test-wcrtomb-w32${EXEEXT} Chinese_China 936
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_China 936
--- a/tests/test-wcrtomb-w32-6.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb-w32-6.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,4 +4,4 @@
 # will likely never support locales with MB_CUR_MAX > 2.
 
 # Test a GB18030 locale.
-./test-wcrtomb-w32${EXEEXT} Chinese_China 54936
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_China 54936
--- a/tests/test-wcrtomb-w32-7.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb-w32-7.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,4 +4,4 @@
 # will likely never support locales with MB_CUR_MAX > 2.
 
 # Test some UTF-8 locales.
-./test-wcrtomb-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
--- a/tests/test-wcrtomb.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcrtomb.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 : ${LOCALE_FR=fr_FR}
 if test $LOCALE_FR != none; then
   LC_ALL=$LOCALE_FR \
-  ./test-wcrtomb${EXEEXT} 1 \
+  ${CHECKER} ./test-wcrtomb${EXEEXT} 1 \
   || exit 1
 fi
 
@@ -12,7 +12,7 @@
 : ${LOCALE_FR_UTF8=fr_FR.UTF-8}
 if test $LOCALE_FR_UTF8 != none; then
   LC_ALL=$LOCALE_FR_UTF8 \
-  ./test-wcrtomb${EXEEXT} 2 \
+  ${CHECKER} ./test-wcrtomb${EXEEXT} 2 \
   || exit 1
 fi
 
@@ -20,7 +20,7 @@
 : ${LOCALE_JA=ja_JP}
 if test $LOCALE_JA != none; then
   LC_ALL=$LOCALE_JA \
-  ./test-wcrtomb${EXEEXT} 3 \
+  ${CHECKER} ./test-wcrtomb${EXEEXT} 3 \
   || exit 1
 fi
 
@@ -28,12 +28,12 @@
 : ${LOCALE_ZH_CN=zh_CN.GB18030}
 if test $LOCALE_ZH_CN != none; then
   LC_ALL=$LOCALE_ZH_CN \
-  ./test-wcrtomb${EXEEXT} 4 \
+  ${CHECKER} ./test-wcrtomb${EXEEXT} 4 \
   || exit 1
 fi
 
 # Test in the POSIX locale.
-LC_ALL=C     ./test-wcrtomb${EXEEXT} 5 || exit 1
-LC_ALL=POSIX ./test-wcrtomb${EXEEXT} 5 || exit 1
+LC_ALL=C     ${CHECKER} ./test-wcrtomb${EXEEXT} 5 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-wcrtomb${EXEEXT} 5 || exit 1
 
 exit 0
--- a/tests/test-wcsnrtombs1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsnrtombs1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-wcsnrtombs${EXEEXT} 1
+${CHECKER} ./test-wcsnrtombs${EXEEXT} 1
--- a/tests/test-wcsnrtombs2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsnrtombs2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-wcsnrtombs${EXEEXT} 2
+${CHECKER} ./test-wcsnrtombs${EXEEXT} 2
--- a/tests/test-wcsnrtombs3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsnrtombs3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_JA \
-./test-wcsnrtombs${EXEEXT} 3
+${CHECKER} ./test-wcsnrtombs${EXEEXT} 3
--- a/tests/test-wcsnrtombs4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsnrtombs4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-wcsnrtombs${EXEEXT} 4
+${CHECKER} ./test-wcsnrtombs${EXEEXT} 4
--- a/tests/test-wcsrtombs1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsrtombs1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-wcsrtombs${EXEEXT} 1
+${CHECKER} ./test-wcsrtombs${EXEEXT} 1
--- a/tests/test-wcsrtombs2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsrtombs2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-wcsrtombs${EXEEXT} 2
+${CHECKER} ./test-wcsrtombs${EXEEXT} 2
--- a/tests/test-wcsrtombs3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsrtombs3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_JA \
-./test-wcsrtombs${EXEEXT} 3
+${CHECKER} ./test-wcsrtombs${EXEEXT} 3
--- a/tests/test-wcsrtombs4.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-wcsrtombs4.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_ZH_CN \
-./test-wcsrtombs${EXEEXT} 4
+${CHECKER} ./test-wcsrtombs${EXEEXT} 4
--- a/tests/test-xalloc-die.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-xalloc-die.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -18,7 +18,7 @@
 
 . "${srcdir=.}/init.sh"; path_prepend_ .
 
-test-xalloc-die${EXEEXT} > out 2> err
+${CHECKER} test-xalloc-die${EXEEXT} > out 2> err
 case $? in
   1) ;;
   *) Exit 1;;
--- a/tests/test-xprintf-posix.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-xprintf-posix.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles t-xprintf-posix.tmp t-xprintf-posix.out"
-./test-xprintf-posix${EXEEXT} > t-xprintf-posix.tmp || exit 1
+${CHECKER} ./test-xprintf-posix${EXEEXT} > t-xprintf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-xprintf-posix.tmp > t-xprintf-posix.out || exit 1
 
 : ${DIFF=diff}
@@ -12,7 +12,7 @@
 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
 
 tmpfiles="$tmpfiles t-xfprintf-posix.tmp t-xfprintf-posix.out"
-./test-xfprintf-posix${EXEEXT} > t-xfprintf-posix.tmp || exit 1
+${CHECKER} ./test-xfprintf-posix${EXEEXT} > t-xfprintf-posix.tmp || exit 1
 LC_ALL=C tr -d '\r' < t-xfprintf-posix.tmp > t-xfprintf-posix.out || exit 1
 
 : ${DIFF=diff}
--- a/tests/test-xstdopen.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-xstdopen.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,20 +1,20 @@
 #!/bin/sh
 
 # Test with all of stdin, stdout, stderr open.
-./test-xstdopen || exit 1
+${CHECKER} ./test-xstdopen${EXEEXT} || exit 1
 
 # The syntax for closed file descriptors in sh scripts is specified by POSIX in
 # section 2.7.5 of
 # http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
 
 # Test with stdin closed.
-./test-xstdopen <&- || exit 1
+${CHECKER} ./test-xstdopen${EXEEXT} <&- || exit 1
 
 # Test with stdout closed.
-./test-xstdopen >&- || exit 1
+${CHECKER} ./test-xstdopen${EXEEXT} >&- || exit 1
 
 # Test with stderr closed.
-./test-xstdopen 2>&- || exit 1
+${CHECKER} ./test-xstdopen${EXEEXT} 2>&- || exit 1
 
 # Test with all of stdin, stdout, stderr closed.
-./test-xstdopen <&- >&- 2>&- || exit 1
+${CHECKER} ./test-xstdopen${EXEEXT} <&- >&- 2>&- || exit 1
--- a/tests/test-xstrtoimax.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-xstrtoimax.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -6,15 +6,15 @@
 result=0
 
 # test xstrtoimax
-test-xstrtoimax 1 >> out 2>&1 || result=1
-test-xstrtoimax -1 >> out 2>&1 || result=1
-test-xstrtoimax 1k >> out 2>&1 || result=1
-test-xstrtoimax ${too_big}h >> out 2>&1 && result=1
-test-xstrtoimax $too_big >> out 2>&1 && result=1
-test-xstrtoimax x >> out 2>&1 && result=1
-test-xstrtoimax 9x >> out 2>&1 && result=1
-test-xstrtoimax 010 >> out 2>&1 || result=1
-test-xstrtoimax MiB >> out 2>&1 || result=1
+${CHECKER} test-xstrtoimax 1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoimax -1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoimax 1k >> out 2>&1 || result=1
+${CHECKER} test-xstrtoimax ${too_big}h >> out 2>&1 && result=1
+${CHECKER} test-xstrtoimax $too_big >> out 2>&1 && result=1
+${CHECKER} test-xstrtoimax x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoimax 9x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoimax 010 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoimax MiB >> out 2>&1 || result=1
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-xstrtol.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-xstrtol.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -6,29 +6,29 @@
 result=0
 
 # test xstrtol
-test-xstrtol 1 >> out 2>&1 || result=1
-test-xstrtol -1 >> out 2>&1 || result=1
-test-xstrtol 1k >> out 2>&1 || result=1
-test-xstrtol ${too_big}h >> out 2>&1 && result=1
-test-xstrtol $too_big >> out 2>&1 && result=1
-test-xstrtol x >> out 2>&1 && result=1
-test-xstrtol 9x >> out 2>&1 && result=1
-test-xstrtol 010 >> out 2>&1 || result=1
+${CHECKER} test-xstrtol 1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtol -1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtol 1k >> out 2>&1 || result=1
+${CHECKER} test-xstrtol ${too_big}h >> out 2>&1 && result=1
+${CHECKER} test-xstrtol $too_big >> out 2>&1 && result=1
+${CHECKER} test-xstrtol x >> out 2>&1 && result=1
+${CHECKER} test-xstrtol 9x >> out 2>&1 && result=1
+${CHECKER} test-xstrtol 010 >> out 2>&1 || result=1
 # suffix without integer is valid
-test-xstrtol MiB >> out 2>&1 || result=1
-test-xstrtol 1bB >> out 2>&1 && result=1
+${CHECKER} test-xstrtol MiB >> out 2>&1 || result=1
+${CHECKER} test-xstrtol 1bB >> out 2>&1 && result=1
 
 # test xstrtoul
-test-xstrtoul 1 >> out 2>&1 || result=1
-test-xstrtoul -1 >> out 2>&1 && result=1
-test-xstrtoul 1k >> out 2>&1 || result=1
-test-xstrtoul ${too_big}h >> out 2>&1 && result=1
-test-xstrtoul $too_big >> out 2>&1 && result=1
-test-xstrtoul x >> out 2>&1 && result=1
-test-xstrtoul 9x >> out 2>&1 && result=1
-test-xstrtoul 010 >> out 2>&1 || result=1
-test-xstrtoul MiB >> out 2>&1 || result=1
-test-xstrtoul 1bB >> out 2>&1 && result=1
+${CHECKER} test-xstrtoul 1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoul -1 >> out 2>&1 && result=1
+${CHECKER} test-xstrtoul 1k >> out 2>&1 || result=1
+${CHECKER} test-xstrtoul ${too_big}h >> out 2>&1 && result=1
+${CHECKER} test-xstrtoul $too_big >> out 2>&1 && result=1
+${CHECKER} test-xstrtoul x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoul 9x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoul 010 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoul MiB >> out 2>&1 || result=1
+${CHECKER} test-xstrtoul 1bB >> out 2>&1 && result=1
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-xstrtoll.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-xstrtoll.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -6,27 +6,27 @@
 result=0
 
 # test xstrtoll
-test-xstrtoll 1 >> out 2>&1 || result=1
-test-xstrtoll -1 >> out 2>&1 || result=1
-test-xstrtoll 1k >> out 2>&1 || result=1
-test-xstrtoll ${too_big}h >> out 2>&1 && result=1
-test-xstrtoll $too_big >> out 2>&1 && result=1
-test-xstrtoll x >> out 2>&1 && result=1
-test-xstrtoll 9x >> out 2>&1 && result=1
-test-xstrtoll 010 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoll 1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoll -1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoll 1k >> out 2>&1 || result=1
+${CHECKER} test-xstrtoll ${too_big}h >> out 2>&1 && result=1
+${CHECKER} test-xstrtoll $too_big >> out 2>&1 && result=1
+${CHECKER} test-xstrtoll x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoll 9x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoll 010 >> out 2>&1 || result=1
 # suffix without integer is valid
-test-xstrtoll MiB >> out 2>&1 || result=1
+${CHECKER} test-xstrtoll MiB >> out 2>&1 || result=1
 
 # test xstrtoull
-test-xstrtoull 1 >> out 2>&1 || result=1
-test-xstrtoull -1 >> out 2>&1 && result=1
-test-xstrtoull 1k >> out 2>&1 || result=1
-test-xstrtoull ${too_big}h >> out 2>&1 && result=1
-test-xstrtoull $too_big >> out 2>&1 && result=1
-test-xstrtoull x >> out 2>&1 && result=1
-test-xstrtoull 9x >> out 2>&1 && result=1
-test-xstrtoull 010 >> out 2>&1 || result=1
-test-xstrtoull MiB >> out 2>&1 || result=1
+${CHECKER} test-xstrtoull 1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoull -1 >> out 2>&1 && result=1
+${CHECKER} test-xstrtoull 1k >> out 2>&1 || result=1
+${CHECKER} test-xstrtoull ${too_big}h >> out 2>&1 && result=1
+${CHECKER} test-xstrtoull $too_big >> out 2>&1 && result=1
+${CHECKER} test-xstrtoull x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoull 9x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoull 010 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoull MiB >> out 2>&1 || result=1
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-xstrtoumax.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-xstrtoumax.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -6,15 +6,15 @@
 result=0
 
 # test xstrtoumax
-test-xstrtoumax 1 >> out 2>&1 || result=1
-test-xstrtoumax -1 >> out 2>&1 && result=1
-test-xstrtoumax 1k >> out 2>&1 || result=1
-test-xstrtoumax ${too_big}h >> out 2>&1 && result=1
-test-xstrtoumax $too_big >> out 2>&1 && result=1
-test-xstrtoumax x >> out 2>&1 && result=1
-test-xstrtoumax 9x >> out 2>&1 && result=1
-test-xstrtoumax 010 >> out 2>&1 || result=1
-test-xstrtoumax MiB >> out 2>&1 || result=1
+${CHECKER} test-xstrtoumax 1 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoumax -1 >> out 2>&1 && result=1
+${CHECKER} test-xstrtoumax 1k >> out 2>&1 || result=1
+${CHECKER} test-xstrtoumax ${too_big}h >> out 2>&1 && result=1
+${CHECKER} test-xstrtoumax $too_big >> out 2>&1 && result=1
+${CHECKER} test-xstrtoumax x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoumax 9x >> out 2>&1 && result=1
+${CHECKER} test-xstrtoumax 010 >> out 2>&1 || result=1
+${CHECKER} test-xstrtoumax MiB >> out 2>&1 || result=1
 
 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
 # does not understand '\r'.
--- a/tests/test-yesno.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/test-yesno.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -32,11 +32,11 @@
 EOF
 
 fail=0
-(test-yesno; test-yesno 3; cat) < in.tmp > out1.tmp || fail=1
+(${CHECKER} test-yesno; ${CHECKER} test-yesno 3; cat) < in.tmp > out1.tmp || fail=1
 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1
 cmp xout.tmp out.tmp || fail=1
 
-(test-yesno 3; test-yesno; cat) < in.tmp > out1.tmp || fail=1
+(${CHECKER} test-yesno 3; ${CHECKER} test-yesno; cat) < in.tmp > out1.tmp || fail=1
 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1
 cmp xout.tmp out.tmp || fail=1
 
@@ -45,7 +45,7 @@
 Y
 N
 EOF
-echo yes | test-yesno 2 > out1.tmp || fail=1
+echo yes | ${CHECKER} test-yesno 2 > out1.tmp || fail=1
 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1
 cmp xout.tmp out.tmp || fail=1
 
@@ -53,7 +53,7 @@
 cat <<EOF > xout.tmp
 Y
 EOF
-printf y | test-yesno 1 > out1.tmp || fail=1
+printf y | ${CHECKER} test-yesno 1 > out1.tmp || fail=1
 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1
 cmp xout.tmp out.tmp || fail=1
 
@@ -61,12 +61,12 @@
 cat <<EOF > xout.tmp
 N
 EOF
-test-yesno </dev/null > out1.tmp || fail=1
+${CHECKER} test-yesno </dev/null > out1.tmp || fail=1
 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1
 cmp xout.tmp out.tmp || fail=1
 
 # Test for behavior when stdin is closed
-test-yesno 0 <&- > out1.tmp 2> err.tmp && fail=1
+${CHECKER} test-yesno 0 <&- > out1.tmp 2> err.tmp && fail=1
 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1
 cmp xout.tmp out.tmp || fail=1
 test -s err.tmp || fail=1
--- a/tests/unicase/test-locale-language.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unicase/test-locale-language.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,30 +1,30 @@
 #!/bin/sh
 
-LC_ALL=C                       ./test-locale-language${EXEEXT} '' || exit 1
+LC_ALL=C                       ${CHECKER} ./test-locale-language${EXEEXT} '' || exit 1
 
 : ${LOCALE_FR=fr_FR}
 if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR            ./test-locale-language${EXEEXT} fr || exit 1
+  LC_ALL=$LOCALE_FR            ${CHECKER} ./test-locale-language${EXEEXT} fr || exit 1
 fi
 
 : ${LOCALE_FR_UTF8=fr_FR.UTF-8}
 if test $LOCALE_FR_UTF8 != none; then
-  LC_ALL=$LOCALE_FR_UTF8       ./test-locale-language${EXEEXT} fr || exit 1
+  LC_ALL=$LOCALE_FR_UTF8       ${CHECKER} ./test-locale-language${EXEEXT} fr || exit 1
 fi
 
 : ${LOCALE_JA=ja_JP}
 if test $LOCALE_JA != none; then
-  LC_ALL=$LOCALE_JA            ./test-locale-language${EXEEXT} ja || exit 1
+  LC_ALL=$LOCALE_JA            ${CHECKER} ./test-locale-language${EXEEXT} ja || exit 1
 fi
 
 : ${LOCALE_TR_UTF8=tr_TR.UTF-8}
 if test $LOCALE_TR_UTF8 != none; then
-  LC_ALL=$LOCALE_TR_UTF8       ./test-locale-language${EXEEXT} tr || exit 1
+  LC_ALL=$LOCALE_TR_UTF8       ${CHECKER} ./test-locale-language${EXEEXT} tr || exit 1
 fi
 
 : ${LOCALE_ZH_CN=zh_CN.GB18030}
 if test $LOCALE_ZH_CN != none; then
-  LC_ALL=$LOCALE_ZH_CN         ./test-locale-language${EXEEXT} zh || exit 1
+  LC_ALL=$LOCALE_ZH_CN         ${CHECKER} ./test-locale-language${EXEEXT} zh || exit 1
 fi
 
 exit 0
--- a/tests/unicase/test-ulc-casecmp1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unicase/test-ulc-casecmp1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-ulc-casecmp${EXEEXT} 1
+${CHECKER} ./test-ulc-casecmp${EXEEXT} 1
--- a/tests/unicase/test-ulc-casecmp2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unicase/test-ulc-casecmp2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-ulc-casecmp${EXEEXT} 2
+${CHECKER} ./test-ulc-casecmp${EXEEXT} 2
--- a/tests/unicase/test-ulc-casecoll1.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unicase/test-ulc-casecoll1.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-ulc-casecoll${EXEEXT}
+${CHECKER} ./test-ulc-casecoll${EXEEXT}
--- a/tests/unicase/test-ulc-casecoll2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unicase/test-ulc-casecoll2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR_UTF8 \
-./test-ulc-casecoll${EXEEXT}
+${CHECKER} ./test-ulc-casecoll${EXEEXT}
--- a/tests/unigbrk/test-uc-grapheme-breaks.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unigbrk/test-uc-grapheme-breaks.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-./test-uc-grapheme-breaks${EXEEXT} "${srcdir}/unigbrk/GraphemeBreakTest.txt"
+${CHECKER} ./test-uc-grapheme-breaks${EXEEXT} "${srcdir}/unigbrk/GraphemeBreakTest.txt"
--- a/tests/unigbrk/test-uc-is-grapheme-break.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unigbrk/test-uc-is-grapheme-break.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-./test-uc-is-grapheme-break${EXEEXT} "${srcdir}/unigbrk/GraphemeBreakTest.txt"
+${CHECKER} ./test-uc-is-grapheme-break${EXEEXT} "${srcdir}/unigbrk/GraphemeBreakTest.txt"
--- a/tests/unigbrk/test-ulc-grapheme-breaks.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unigbrk/test-ulc-grapheme-breaks.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_AR \
-./test-ulc-grapheme-breaks${EXEEXT}
+${CHECKER} ./test-ulc-grapheme-breaks${EXEEXT}
--- a/tests/uniname/test-uninames.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uniname/test-uninames.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec ./test-uninames${EXEEXT} "$srcdir/uniname/UnicodeData.txt" "$srcdir/uniname/HangulSyllableNames.txt" -- "$srcdir/uniname/NameAliases.txt"
+exec ${CHECKER} ./test-uninames${EXEEXT} "$srcdir/uniname/UnicodeData.txt" "$srcdir/uniname/HangulSyllableNames.txt" -- "$srcdir/uniname/NameAliases.txt"
--- a/tests/uninorm/test-u32-nfc-big.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uninorm/test-u32-nfc-big.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec ./test-u32-nfc-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
+exec ${CHECKER} ./test-u32-nfc-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
--- a/tests/uninorm/test-u32-nfd-big.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uninorm/test-u32-nfd-big.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec ./test-u32-nfd-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
+exec ${CHECKER} ./test-u32-nfd-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
--- a/tests/uninorm/test-u32-nfkc-big.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uninorm/test-u32-nfkc-big.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec ./test-u32-nfkc-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
+exec ${CHECKER} ./test-u32-nfkc-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
--- a/tests/uninorm/test-u32-nfkd-big.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uninorm/test-u32-nfkd-big.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec ./test-u32-nfkd-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
+exec ${CHECKER} ./test-u32-nfkd-big${EXEEXT} "$srcdir/uninorm/NormalizationTest.txt"
--- a/tests/unistdio/test-u16-vasnprintf2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-u16-vasnprintf2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-u16-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-u16-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-u16-vasnprintf2${EXEEXT}
+${CHECKER} ./test-u16-vasnprintf2${EXEEXT}
--- a/tests/unistdio/test-u16-vasnprintf3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-u16-vasnprintf3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-u16-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-u16-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-u16-vasnprintf3${EXEEXT}
+${CHECKER} ./test-u16-vasnprintf3${EXEEXT}
--- a/tests/unistdio/test-u32-vasnprintf2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-u32-vasnprintf2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-u32-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-u32-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-u32-vasnprintf2${EXEEXT}
+${CHECKER} ./test-u32-vasnprintf2${EXEEXT}
--- a/tests/unistdio/test-u32-vasnprintf3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-u32-vasnprintf3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-u32-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-u32-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-u32-vasnprintf3${EXEEXT}
+${CHECKER} ./test-u32-vasnprintf3${EXEEXT}
--- a/tests/unistdio/test-u8-vasnprintf2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-u8-vasnprintf2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-u8-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-u8-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-u8-vasnprintf2${EXEEXT}
+${CHECKER} ./test-u8-vasnprintf2${EXEEXT}
--- a/tests/unistdio/test-u8-vasnprintf3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-u8-vasnprintf3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-u8-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-u8-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-u8-vasnprintf3${EXEEXT}
+${CHECKER} ./test-u8-vasnprintf3${EXEEXT}
--- a/tests/unistdio/test-ulc-vasnprintf2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-ulc-vasnprintf2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-ulc-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-ulc-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-ulc-vasnprintf2${EXEEXT}
+${CHECKER} ./test-ulc-vasnprintf2${EXEEXT}
--- a/tests/unistdio/test-ulc-vasnprintf3.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/unistdio/test-ulc-vasnprintf3.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -14,8 +14,8 @@
 fi
 
 LC_ALL=$testlocale \
-./test-ulc-vasnprintf1${EXEEXT} \
+${CHECKER} ./test-ulc-vasnprintf1${EXEEXT} \
   || exit 1
 
 LC_ALL=$testlocale \
-./test-ulc-vasnprintf3${EXEEXT}
+${CHECKER} ./test-ulc-vasnprintf3${EXEEXT}
--- a/tests/uniwbrk/test-uc-wordbreaks.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uniwbrk/test-uc-wordbreaks.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-./test-uc-wordbreaks${EXEEXT} "${srcdir}/uniwbrk/WordBreakTest.txt"
+${CHECKER} ./test-uc-wordbreaks${EXEEXT} "${srcdir}/uniwbrk/WordBreakTest.txt"
--- a/tests/uniwbrk/test-ulc-wordbreaks.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uniwbrk/test-ulc-wordbreaks.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -12,4 +12,4 @@
 fi
 
 LC_ALL=$LOCALE_FR \
-./test-ulc-wordbreaks${EXEEXT}
+${CHECKER} ./test-ulc-wordbreaks${EXEEXT}
--- a/tests/uniwidth/test-uc_width2.sh	Sun Mar 10 01:28:42 2019 +0100
+++ b/tests/uniwidth/test-uc_width2.sh	Sun Mar 10 11:32:11 2019 +0100
@@ -4,7 +4,7 @@
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
 tmpfiles="$tmpfiles uc_width.out"
-./test-uc_width2${EXEEXT} | LC_ALL=C tr -d '\r' > uc_width.out
+${CHECKER} ./test-uc_width2${EXEEXT} | LC_ALL=C tr -d '\r' > uc_width.out
 
 tmpfiles="$tmpfiles uc_width.ok"
 cat > uc_width.ok <<\EOF