From: Junio C Hamano <gitster@pobox•com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail•com>
Cc: git@vger•kernel.org, "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>,
"Brandon Williams" <bmwill@google•com>,
"Stefan Beller" <sbeller@google•com>,
"Johannes Schindelin" <johannes.schindelin@gmx•de>
Subject: Re: [PATCH v2 04/29] log: add exhaustive tests for pattern style options & config
Date: Mon, 15 May 2017 13:57:57 +0900 [thread overview]
Message-ID: <xmqq1srqwwbu.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20170513231509.7834-5-avarab@gmail.com> ("Ævar Arnfjörð Bjarmason"'s message of "Sat, 13 May 2017 23:14:44 +0000")
Ævar Arnfjörð Bjarmason <avarab@gmail•com> writes:
> + echo 2e >expect &&
> + # In PCRE \d in [\d] is like saying "0-9", and matches the 2
> + # in 2e...
> + git -C num_commits log -1 --pretty="tformat:%s" -F -E --perl-regexp --grep="[\d]" >actual &&
> + test_cmp expect actual &&
> + echo 1d >expect &&
> + # ...in POSIX basic & extended it is the same as [d],
> + # i.e. "d", which matches 1d, but not and does not match 2e.
s/not and//; I think.
> + git -C num_commits log -1 --pretty="tformat:%s" -F -E --grep="[\d]" >actual &&
> test_cmp expect actual
> '
>
> @@ -280,6 +301,77 @@ test_expect_success 'log with grep.patternType configuration and command line' '
> test_cmp expect actual
> '
>
> +test_expect_success 'log with various grep.patternType configurations & command-lines' '
> + git init pattern-type &&
> + (
> + cd pattern-type &&
> + test_commit 1 file A &&
> +
> + # The tagname is overridden here because creating a
> + # tag called "(1|2)" as test_commit would otherwise
> + # implicitly do would fail on e.g. MINGW.
Thanks.
> + # POSIX extended needs to have | escaped to match it
> + # literally, whereas under basic this is the same as
> + # (|2), i.e. it would also match "1". This test checks
> + # for extended by asserting that it is not matching
> + # what basic would match.
> + git -c grep.patternType=extended log --pretty=tformat:%s \
> + --grep="\|2" >actual.extended &&
Makes sense.
> + if test_have_prereq PCRE
> + then
> + # Only PCRE would match [\d]\| with only
> + # "(1|2)" due to [\d]. POSIX basic would match
> + # both it and "1", and POSIX extended would
> + # match neither.
OK. BRE would match because the other side of "\|" is empty to
match anything?
> + git -c grep.patternType=perl log --pretty=tformat:%s \
> + --grep="[\d]\|" >actual.perl &&
> + test_cmp expect.perl actual.perl
> + fi &&
next prev parent reply other threads:[~2017-05-15 4:58 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-13 23:14 [PATCH v2 00/29] Easy to review grep & pre-PCRE changes Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 01/29] Makefile & configure: reword inaccurate comment about PCRE Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 02/29] grep & rev-list doc: stop promising libpcre for --perl-regexp Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 03/29] test-lib: rename the LIBPCRE prerequisite to PCRE Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 04/29] log: add exhaustive tests for pattern style options & config Ævar Arnfjörð Bjarmason
2017-05-15 4:57 ` Junio C Hamano [this message]
2017-05-15 17:38 ` Ævar Arnfjörð Bjarmason
2017-05-16 0:50 ` Junio C Hamano
2017-05-13 23:14 ` [PATCH v2 05/29] grep: add a test asserting that --perl-regexp dies when !PCRE Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 06/29] grep: add a test for backreferences in PCRE patterns Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 07/29] grep: change non-ASCII -i test to stop using --debug Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 08/29] grep: add tests for --threads=N and grep.threads Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 09/29] grep: amend submodule recursion test for regex engine testing Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 10/29] grep: add tests for grep pattern types being passed to submodules Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 11/29] grep: add a test helper function for less verbose -f \0 tests Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 12/29] grep: prepare for testing binary regexes containing rx metacharacters Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 13/29] grep: add tests to fix blind spots with \0 patterns Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 14/29] perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 15/29] perf: emit progress output when unpacking & building Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 16/29] perf: add a performance comparison test of grep -G, -E and -P Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 17/29] perf: add a performance comparison of fixed-string grep Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 18/29] grep: catch a missing enum in switch statement Ævar Arnfjörð Bjarmason
2017-05-15 5:50 ` Junio C Hamano
2017-05-15 17:39 ` Ævar Arnfjörð Bjarmason
2017-05-13 23:14 ` [PATCH v2 19/29] grep: remove redundant regflags assignment under PCRE Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 20/29] grep: remove redundant `regflags &= ~REG_EXTENDED` assignments Ævar Arnfjörð Bjarmason
2017-05-15 6:14 ` Junio C Hamano
2017-05-15 17:41 ` Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 21/29] grep: factor test for \0 in grep patterns into a function Ævar Arnfjörð Bjarmason
2017-05-15 6:24 ` Junio C Hamano
2017-05-15 18:07 ` Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 22/29] grep: change the internal PCRE macro names to be PCRE1 Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 23/29] grep: change internal *pcre* variable & function names to be *pcre1* Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 24/29] grep: move is_fixed() earlier to avoid forward declaration Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 25/29] test-lib: add a PTHREADS prerequisite Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 26/29] pack-objects & index-pack: add test for --threads warning Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 27/29] pack-objects: fix buggy warning about threads Ævar Arnfjörð Bjarmason
2017-05-15 8:59 ` Junio C Hamano
2017-05-15 17:16 ` Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 28/29] grep: given --threads with NO_PTHREADS=YesPlease, warn Ævar Arnfjörð Bjarmason
2017-05-13 23:15 ` [PATCH v2 29/29] grep: assert that threading is enabled when calling grep_{lock,unlock} Ævar Arnfjörð Bjarmason
2017-05-15 9:09 ` [PATCH v2 00/29] Easy to review grep & pre-PCRE changes Junio C Hamano
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=xmqq1srqwwbu.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=avarab@gmail$(echo .)com \
--cc=bmwill@google$(echo .)com \
--cc=dark.panda@gmail$(echo .)com \
--cc=frekui@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=johannes.schindelin@gmx$(echo .)de \
--cc=michal.kiedrowicz@gmail$(echo .)com \
--cc=noloader@gmail$(echo .)com \
--cc=pclouds@gmail$(echo .)com \
--cc=peff@peff$(echo .)net \
--cc=sbeller@google$(echo .)com \
--cc=vleschuk@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox