From: Emily Shaffer <emilyshaffer@google.com>
To: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Jonathan Nieder <jrnieder@gmail.com>
Subject: Re: [PATCH v4] bugreport: collect list of populated hooks
Date: Mon, 11 May 2020 14:22:05 -0700 [thread overview]
Message-ID: <20200511212205.GI77802@google.com> (raw)
In-Reply-To: <20200508013405.GA2111@danh.dev>
On Fri, May 08, 2020 at 08:34:05AM +0700, Đoàn Trần Công Danh wrote:
>
> On 2020-05-07 17:53:57-0700, Emily Shaffer <emilyshaffer@google.com> wrote:
> > +test_expect_success 'indicates populated hooks' '
> > + test_when_finished rm git-bugreport-hooks.txt &&
> > + test_when_finished rm -fr .git/hooks &&
> > + rm -fr .git/hooks &&
> > + mkdir .git/hooks &&
> > + for hook in applypatch-msg prepare-commit-msg.sample
> > + do
> > + write_script ".git/hooks/$hook" <<-\EOF || return 1
> > + echo "hook $hook exists"
> > + EOF
> > + done &&
> > + git bugreport -s hooks &&
> > + grep applypatch-msg git-bugreport-hooks.txt &&
> > + ! grep prepare-commit-msg git-bugreport-hooks.txt
>
> Hi Emily,
>
> I think this is a bit more correct test.
> ---------8<----------
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> Use an exact match to check for populated hooks
>
> Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
> ---
> t/t0091-bugreport.sh | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/t/t0091-bugreport.sh b/t/t0091-bugreport.sh
> index 9450cc02e3..789e8f1ac7 100755
> --- a/t/t0091-bugreport.sh
> +++ b/t/t0091-bugreport.sh
> @@ -67,8 +67,13 @@ test_expect_success 'indicates populated hooks' '
> EOF
> done &&
> git bugreport -s hooks &&
> - grep applypatch-msg git-bugreport-hooks.txt &&
> - ! grep prepare-commit-msg git-bugreport-hooks.txt
> + cat <<-\EOF >expected &&
> + applypatch-msg
> +
> + EOF
> + awk -F "]\\n" -v RS="[" "/applypatch-msg/{print \$2}" \
> + git-bugreport-hooks.txt >actual &&
If I understand correctly, you are saying "look for a line like [...]
which is followed by a line that says 'applypatch-msg'" - that is,
making sure that you don't see some false positive should
"applypatch-msg" exist in the rest of the bugreport.
Could we compromise and grep for "^applypatch-msg$", e.g. "there is a
line calling out applypatch-msg in some way that isn't in the context of
the report template"?
- Even though regex magic is used, ^$ are beginner regex that many
people can understand easily.
- Using grep for a single line means we are not allergic to header
format changes later on
It doesn't search for false positives, true, but I found your awk
suggestion hard to understand - my impression is that awk is less
commonly understood, even among Git contributors.
In sed, it's a little bit more readable:
cat <<-\EOF >expected &&
[Enabled Hooks]
applypatch-msg
EOF
sed -n '/\[Enabled Hooks\]/, /^$/ p' git-bugreport-hooks.txt >actual
test_cmp expected actual
But, I don't like this because it relies on the name of the header, and
the newline spacing between sections - and would be nontrivial to change
if we decided to underline headers instead, or add a newline between a
header and its contents. So I think it may be overkill.
Thanks for your suggestion, though.
- Emily
next prev parent reply other threads:[~2020-05-11 21:22 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-24 23:38 [PATCH] bugreport: collect list of populated hooks Emily Shaffer
2020-04-25 0:30 ` Jonathan Nieder
2020-04-27 20:48 ` [PATCH] bugreport: drop time.h include Emily Shaffer
2020-04-27 21:03 ` Jonathan Nieder
2020-04-27 21:25 ` Junio C Hamano
2020-04-27 21:41 ` Junio C Hamano
2020-04-27 21:56 ` Emily Shaffer
2020-04-27 23:27 ` Junio C Hamano
2020-04-27 23:42 ` [PATCH v2] bugreport: drop extraneous includes Emily Shaffer
2020-04-27 23:46 ` Jonathan Nieder
2020-04-25 4:52 ` [PATCH] bugreport: collect list of populated hooks Junio C Hamano
2020-04-27 19:02 ` Emily Shaffer
2020-04-27 20:46 ` Junio C Hamano
2020-04-27 20:49 ` Emily Shaffer
2020-04-27 23:38 ` [PATCH v2] " Emily Shaffer
2020-04-27 23:45 ` Jonathan Nieder
2020-04-28 0:04 ` Junio C Hamano
2020-04-30 0:01 ` Emily Shaffer
2020-04-30 1:24 ` [PATCH v3] " Emily Shaffer
2020-04-30 1:50 ` Jonathan Nieder
2020-04-30 1:53 ` Jonathan Nieder
2020-04-30 17:44 ` Junio C Hamano
2020-04-30 22:09 ` Junio C Hamano
2020-05-07 21:08 ` Emily Shaffer
2020-05-07 23:06 ` Junio C Hamano
2020-05-11 21:26 ` Emily Shaffer
2020-05-08 0:53 ` [PATCH v4] " Emily Shaffer
2020-05-08 1:20 ` Junio C Hamano
2020-05-08 1:34 ` Đoàn Trần Công Danh
2020-05-11 21:22 ` Emily Shaffer [this message]
2020-05-11 22:14 ` [PATCH v5] " Emily Shaffer
2020-05-11 23:26 ` Jonathan Nieder
2020-05-11 23:45 ` 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=20200511212205.GI77802@google.com \
--to=emilyshaffer@google.com \
--cc=congdanhqx@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).