All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Jeffrey Walton" <noloader@gmail.com>,
	"Michał Kiedrowicz" <michal.kiedrowicz@gmail.com>,
	"J Smith" <dark.panda@gmail.com>,
	"Victor Leschuk" <vleschuk@gmail.com>,
	"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
	"Fredrik Kuivinen" <frekui@gmail.com>,
	"Zoltán Herczeg" <hzmester@freemail.hu>,
	"Brandon Williams" <bmwill@google.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v4 02/19] grep: add tests for grep pattern types being passed to submodules
Date: Tue, 25 Apr 2017 21:05:31 +0000	[thread overview]
Message-ID: <20170425210548.24612-3-avarab@gmail.com> (raw)
In-Reply-To: <20170425210548.24612-1-avarab@gmail.com>

Add testing for grep pattern types being correctly passed to
submodules. The pattern "(.|.)[\d]" matches differently under
fixed (not at all), and then matches different lines under
basic/extended & perl regular expressions, so this change asserts that
the pattern type is passed along correctly.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/t7814-grep-recurse-submodules.sh | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/t/t7814-grep-recurse-submodules.sh b/t/t7814-grep-recurse-submodules.sh
index 3c580b38ba..e1822feaf1 100755
--- a/t/t7814-grep-recurse-submodules.sh
+++ b/t/t7814-grep-recurse-submodules.sh
@@ -313,4 +313,53 @@ test_incompatible_with_recurse_submodules ()
 test_incompatible_with_recurse_submodules --untracked
 test_incompatible_with_recurse_submodules --no-index
 
+test_expect_success 'grep --recurse-submodules should pass the pattern type along' '
+	# Fixed
+	test_must_fail git grep -F --recurse-submodules -e "(.|.)[\d]" &&
+	test_must_fail git -c grep.patternType=fixed grep --recurse-submodules -e "(.|.)[\d]" &&
+
+	# Basic
+	git grep -G --recurse-submodules -e "(.|.)[\d]" >actual &&
+	cat >expect <<-\EOF &&
+	a:(1|2)d(3|4)
+	submodule/a:(1|2)d(3|4)
+	submodule/sub/a:(1|2)d(3|4)
+	EOF
+	test_cmp expect actual &&
+	git -c grep.patternType=basic grep --recurse-submodules -e "(.|.)[\d]" >actual &&
+	test_cmp expect actual &&
+
+	# Extended
+	git grep -E --recurse-submodules -e "(.|.)[\d]" >actual &&
+	cat >expect <<-\EOF &&
+	.gitmodules:[submodule "submodule"]
+	.gitmodules:	path = submodule
+	.gitmodules:	url = ./submodule
+	a:(1|2)d(3|4)
+	submodule/.gitmodules:[submodule "sub"]
+	submodule/a:(1|2)d(3|4)
+	submodule/sub/a:(1|2)d(3|4)
+	EOF
+	test_cmp expect actual &&
+	git -c grep.patternType=extended grep --recurse-submodules -e "(.|.)[\d]" >actual &&
+	test_cmp expect actual &&
+	git -c grep.extendedRegexp=true grep --recurse-submodules -e "(.|.)[\d]" >actual &&
+	test_cmp expect actual &&
+
+	# Perl
+	if test_have_prereq LIBPCRE
+	then
+		git grep -P --recurse-submodules -e "(.|.)[\d]" >actual &&
+		cat >expect <<-\EOF &&
+		a:(1|2)d(3|4)
+		b/b:(3|4)
+		submodule/a:(1|2)d(3|4)
+		submodule/sub/a:(1|2)d(3|4)
+		EOF
+		test_cmp expect actual &&
+		git -c grep.patternType=perl grep --recurse-submodules -e "(.|.)[\d]" >actual &&
+		test_cmp expect actual
+	fi
+'
+
 test_done
-- 
2.11.0


  parent reply	other threads:[~2017-04-25 21:06 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-25 21:05 [PATCH v4 00/19] PCRE v1 improvements & PCRE v2 support Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 01/19] grep: amend submodule recursion test in preparation for rx engine testing Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` Ævar Arnfjörð Bjarmason [this message]
2017-04-25 21:05 ` [PATCH v4 03/19] grep: submodule-related case statements should die if new fields are added Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 04/19] grep: remove redundant regflags assignment under PCRE Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 05/19] grep: remove redundant `regflags &= ~REG_EXTENDED` assignments Ævar Arnfjörð Bjarmason
2017-04-26  4:50   ` Junio C Hamano
2017-04-26  5:29   ` Junio C Hamano
2017-04-26  7:48     ` [PATCH v5 " Ævar Arnfjörð Bjarmason
2017-04-27  0:51       ` Junio C Hamano
2017-04-25 21:05 ` [PATCH v4 06/19] Makefile & configure: reword outdated comment about PCRE Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 07/19] grep: add a test for backreferences in PCRE patterns Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 08/19] log: add exhaustive tests for pattern style options & config Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 09/19] log: add -P as a synonym for --perl-regexp Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 10/19] grep & rev-list doc: stop promising libpcre " Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 11/19] grep: make grep.patternType=[pcre|pcre1] a synonym for "perl" Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 12/19] test-lib: rename the LIBPCRE prerequisite to PCRE Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 13/19] grep: change the internal PCRE macro names to be PCRE1 Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 14/19] grep: change the internal PCRE code & header " Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 15/19] perf: add a performance comparison test of grep -E and -P Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 16/19] grep: add support for the PCRE v1 JIT API Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 17/19] grep: add support for PCRE v2 Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 18/19] grep: remove support for concurrent use of both PCRE v1 & v2 Ævar Arnfjörð Bjarmason
2017-04-25 21:05 ` [PATCH v4 19/19] Makefile & configure: make PCRE v2 the default PCRE implementation Ævar Arnfjörð Bjarmason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170425210548.24612-3-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=bmwill@google.com \
    --cc=dark.panda@gmail.com \
    --cc=frekui@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=hzmester@freemail.hu \
    --cc=michal.kiedrowicz@gmail.com \
    --cc=noloader@gmail.com \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=vleschuk@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.