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 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.