summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2012-08-05 23:22:28 +0200
committerJim Meyering <meyering@redhat.com>2012-08-07 17:06:27 +0200
commit6dda5eec9f5ec36d6b58bd9f1fd2bc9c130022af (patch)
tree93898966a88fd7b20cbb80ae5b2d2e8264af09bc
parentc96b0f2c8220f171f8fabd62aa1457ebff4d9277 (diff)
downloadgrep-6dda5eec9f5ec36d6b58bd9f1fd2bc9c130022af.tar.gz
tests: test for bug with -i and ^$ in a multi-byte locale
* tests/empty-line-mb: New file. * tests/Makefile.am (TESTS): Add it.
-rw-r--r--tests/Makefile.am1
-rwxr-xr-xtests/empty-line-mb29
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7d958625..58deaa22 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -69,6 +69,7 @@ TESTS = \
inconsistent-range \
khadafy \
max-count-vs-context \
+ empty-line-mb \
unibyte-bracket-expr \
high-bit-range \
options \
diff --git a/tests/empty-line-mb b/tests/empty-line-mb
new file mode 100755
index 00000000..9391000d
--- /dev/null
+++ b/tests/empty-line-mb
@@ -0,0 +1,29 @@
+#! /bin/sh
+# Exercise bugs in grep-2.13 with -i, -n and an RE of ^$ in a multi-byte locale.
+#
+# Copyright (C) 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
+
+require_en_utf8_locale_
+
+LC_ALL=en_US.UTF-8
+export LC_ALL
+
+printf 'a\n\nb\n' > in || framework_failure_
+printf '2:\n' > exp || framework_failure_
+
+printf 'a\nb\n' > in2 || framework_failure_
+
+grep -n -i '^$' in > out || fail=1
+compare exp out || fail=1
+
+# Expect no match: with grep-2.13 this would mistakenly exit 0
+grep -i '^$' in2 > out && fail=1
+compare /dev/null out || fail=1
+
+Exit $fail