summaryrefslogtreecommitdiff
path: root/tests/backref
diff options
context:
space:
mode:
Diffstat (limited to 'tests/backref')
-rwxr-xr-xtests/backref46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/backref b/tests/backref
new file mode 100755
index 0000000..1d15434
--- /dev/null
+++ b/tests/backref
@@ -0,0 +1,46 @@
+#! /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