[PATCH 04/12] grep: add a test for backreferences in PCRE patterns
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Apr 8, 2017, 13:24 UTC
- Message-ID
- <20170408132506.5415-5-avarab@gmail.com>
- In-Reply-To
- <20170408132506.5415-1-avarab@gmail.com>
Add a test for backreferences such as (.)\1 in PCRE patterns. This test ensures that the PCRE_NO_AUTO_CAPTURE option isn't turned on. Before this change turning it on would break these sort of patterns, but wouldn't break any tests.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- t/t7810-grep.sh | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index 53c2ca05c4..83b0ee53be 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -1102,6 +1102,13 @@ test_expect_success LIBPCRE 'grep -P -w pattern' ' test_cmp expected actual ' +test_expect_success PCRE 'grep -P backreferences work (the PCRE NO_AUTO_CAPTURE flag is not set)' ' + git grep -P -h "(?P<one>.)(?P=one)" hello_world >actual && + test_cmp hello_world actual && + git grep -P -h "(.)\1" hello_world >actual && + test_cmp hello_world actual +' + test_expect_success 'grep -G invalidpattern properly dies ' ' test_must_fail git grep -G "a[" '
-- 2.11.0