#! /bin/sh # Test for backreferences and other things. # # Copyright (C) 2001, 2006, 2009-2016 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