usleep tests: Avoid failure due to known Cygwin 3.5.3 bug.
[gnulib.git] / tests / test-dfa-match.sh
blob6a366a91876ede1274e774385b59a3bebe477585
1 #!/bin/sh
2 # This would fail with grep-2.21's dfa.c.
4 # Copyright 2014-2024 Free Software Foundation, Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19 . "${srcdir=.}/init.sh"; path_prepend_ ../src
21 # Add "." to PATH for the use of test-dfa-match-aux.
22 path_prepend_ .
24 if (type timeout) >/dev/null 2>&1; then
25 # Busybox's timeout required -t until its 1.30.0 release on 2018-12-31,
26 # after which it became compatible with coreutils' timeout.
27 if timeout --help 2>&1 | grep BusyBox && timeout -t 0 true; then
28 timeout_10='timeout -t 10'
29 else
30 timeout_10='timeout 10'
32 else
33 timeout_10=
36 fail=0
38 ${CHECKER} test-dfa-match-aux a ba 0 > out || fail=1
39 compare /dev/null out || fail=1
41 in=$(printf "bb\nbb")
42 $timeout_10 ${CHECKER} test-dfa-match-aux a "$in" 1 > out || fail=1
43 compare /dev/null out || fail=1
45 # If the platform supports U+00E9 LATIN SMALL LETTER E WITH ACUTE,
46 # test U+D45C HANGUL SYLLABLE PYO.
47 U_00E9=$(printf '\303\251\n')
48 U_D45C=$(printf '\355\221\234\n')
49 if testout=$(LC_ALL=en_US.UTF-8 $CHECKER test-dfa-match-aux '^.$' "$U_00E9") &&
50 test "$testout" = 2
51 then
52 testout=$(LC_ALL=en_US.UTF-8 $CHECKER test-dfa-match-aux '^.$' "$U_D45C") &&
53 test "$testout" = 3 || fail=1
56 Exit $fail