From: Jim Meyering Date: Sun, 1 Nov 2020 15:39:49 +0000 (-0800) Subject: dfa-tests: test for today's invalid-merge fix X-Git-Tag: v1.0~3541 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=0d6a10a9c61e24a8b7b5a948bf07df35b69dfedf;p=gnulib.git dfa-tests: test for today's invalid-merge fix * tests/test-dfa-invalid-merge.sh: New file. * modules/dfa-tests (Files): Add it. (TESTS): Add it. --- diff --git a/ChangeLog b/ChangeLog index 25c386e6c3..4c69371817 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2020-11-01 Jim Meyering + + dfa-tests: test for today's invalid-merge fix + * tests/test-dfa-invalid-merge.sh: New file. + * modules/dfa-tests (Files): Add it. + (TESTS): Add it. + 2020-11-01 Norihiro Tanaka dfa: retain sequences of similar nodes in optimization diff --git a/modules/dfa-tests b/modules/dfa-tests index 2775ccbbf9..878e18d6d8 100644 --- a/modules/dfa-tests +++ b/modules/dfa-tests @@ -2,6 +2,7 @@ Files: tests/test-dfa-match.sh tests/test-dfa-match-aux.c tests/test-dfa-invalid-char-class.sh +tests/test-dfa-invalid-merge.sh Depends-on: stdio @@ -14,6 +15,7 @@ configure.ac: Makefile.am: TESTS += \ test-dfa-invalid-char-class.sh \ + test-dfa-invalid-merge.sh \ test-dfa-match.sh check_PROGRAMS += test-dfa-match-aux diff --git a/tests/test-dfa-invalid-merge.sh b/tests/test-dfa-invalid-merge.sh new file mode 100755 index 0000000000..4b5783b451 --- /dev/null +++ b/tests/test-dfa-invalid-merge.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# The DFA matcher would wrongly convert a regular expression like +# a+a+a to a+a, thus possibly reporting a false match. +# Introduced in v0.1-2111-g4299106ce + +# Copyright 2020 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +# Add "." to PATH for the use of test-dfa-match-aux. +path_prepend_ . + +fail=0 + +LC_ALL=C returns_ 0 ${CHECKER} test-dfa-match-aux 'x+x+x+' xx > out 2>&1 +compare /dev/null out || fail=1 + +Exit $fail