mirror of
https://https.git.savannah.gnu.org/git/grep.git
synced 2026-01-26 15:39:06 +00:00
55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#! /bin/sh
|
|
# Test for back-references and other things.
|
|
#
|
|
# Copyright (C) 2001, 2006, 2009-2023 Free Software Foundation, Inc.
|
|
#
|
|
# Copying and distribution of this file, with or without modification,
|
|
# are permitted in any medium without royalty provided the copyright
|
|
# notice and this notice are preserved.
|
|
|
|
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
|
|
|
failures=0
|
|
|
|
# checking for a palindrome
|
|
echo "radar" | grep -e '\(.\)\(.\).\2\1' > /dev/null 2>&1
|
|
if test $? -ne 0 ; then
|
|
echo "Backref: palindrome, test #1 failed"
|
|
failures=1
|
|
fi
|
|
|
|
# hit hard with the 'Bond' tests
|
|
# For now, remove the '?' in the last parentheses, so that new glibc can do it.
|
|
# --Stepan
|
|
echo "civic" \
|
|
| grep -E -e '^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\9\8\7\6\5\4\3\2\1$' \
|
|
> /dev/null 2>&1
|
|
if test $? -ne 0 ; then
|
|
echo "Options: Bond, test #2 failed"
|
|
failures=1
|
|
fi
|
|
|
|
# backref are local should be error
|
|
echo "123" | grep -e 'a\(.\)' -e 'b\1' > /dev/null 2>&1
|
|
if test $? -ne 2 ; then
|
|
echo "Backref: Backref not local, test #3 failed"
|
|
failures=1
|
|
fi
|
|
|
|
# Pattern should fail
|
|
echo "123" | grep -e '[' -e ']' > /dev/null 2>&1
|
|
if test $? -ne 2 ; then
|
|
echo "Backref: Compiled not local, test #4 failed"
|
|
failures=1
|
|
fi
|
|
|
|
# https://bugs.gnu.org/36148#13
|
|
echo 'Total failed: 2 (1 ignored)' |
|
|
grep -e '^Total failed: 0$' -e '^Total failed: \([0-9]*\) (\1 ignored)$'
|
|
if test $? -ne 1 ; then
|
|
echo "Backref: Multiple -e test, test #5 failed"
|
|
failures=1
|
|
fi
|
|
|
|
Exit $failures
|