mirror of
https://https.git.savannah.gnu.org/git/grep.git
synced 2026-01-27 01:44:22 +00:00
44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#! /bin/sh
|
|
# Test for backreferences and other things.
|
|
#
|
|
# Copyright (C) 2001, 2006, 2009-2012 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
|
|
|
|
Exit $failures
|