opnsense-src/gnu/usr.bin/grep/tests/backref.sh
Franco Fichtner 402e7dde73 src: initial commit based on FreeBSD-10.0
Taken from:	https://github.com/freebsd/freebsd.git
Commit id:	d44ce30d3054a38723f89a161c5e003e64d1aaae
2014-11-09 09:30:14 +01:00

38 lines
874 B
Bash
Executable file

#!/bin/sh
# Test that backrefs are local to regex.
#
#
: ${srcdir=.}
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
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 "Options: Backref not local, test \#3 failed"
failures=1
fi
# Pattern should faile
echo "123" | ${GREP} -e '[' -e ']' > /dev/null 2>&1
if test $? -ne 2 ; then
echo "Options: Compiled not local, test \#3 failed"
failures=1
fi
exit $failures