2 # This would fail with grep-2.21's dfa.c.
4 # Copyright 2014-2025 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.
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'
30 timeout_10
='timeout 10'
38 ${CHECKER} test-dfa-match-aux a ba
0 > out || fail
=1
39 compare
/dev
/null out || fail
=1
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") &&
52 testout
=$
(LC_ALL
=en_US.UTF-8
$CHECKER test-dfa-match-aux
'^.$' "$U_D45C") &&
53 test "$testout" = 3 || fail
=1