From: "Rubén Justo" <rjusto@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Git List <git@vger.kernel.org>, Patrick Steinhardt <ps@pks.im>
Subject: Re: [PATCH v4 1/2] t4014: cleanups in a few tests
Date: Fri, 7 Jun 2024 19:38:25 +0200 [thread overview]
Message-ID: <de9d8f38-6e4c-43d4-acc4-a38e860787a7@gmail.com> (raw)
In-Reply-To: <xmqqed98ekv1.fsf@gitster.g>
On Fri, Jun 07, 2024 at 10:14:10AM -0700, Junio C Hamano wrote:
> Rubén Justo <rjusto@gmail.com> writes:
>
> > Arrange things we are going to create to be removed at end, and then
> > start creating them. That way, we will clean them up even if we fail
> > after creating some but before the end of the command.
> >
> > Signed-off-by: Rubén Justo <rjusto@gmail.com>
> > ---
> > t/t4014-format-patch.sh | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
> > index e37a1411ee..5fb5250df4 100755
> > --- a/t/t4014-format-patch.sh
> > +++ b/t/t4014-format-patch.sh
> > @@ -820,8 +820,8 @@ test_expect_success 'format-patch --notes --signoff' '
> > '
> >
> > test_expect_success 'format-patch notes output control' '
> > + test_when_finished "git notes remove HEAD" &&
> > git notes add -m "notes config message" HEAD &&
> > - test_when_finished git notes remove HEAD &&
>
> If "notes add" fails to create a note for HEAD, test_when_finished
> would notice that it cannot remove a note from HEAD, wouldn't it?
Yep. Something like this, no?
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index de9e8455b3..1088c435e0 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -820,7 +820,7 @@ test_expect_success 'format-patch --notes --signoff' '
'
test_expect_success 'format-patch notes output control' '
- test_when_finished "git notes remove HEAD" &&
+ test_when_finished "git notes remove HEAD || :" &&
git notes add -m "notes config message" HEAD &&
git format-patch -1 --stdout >out &&
@@ -849,7 +849,7 @@ test_expect_success 'format-patch notes output control' '
test_expect_success 'format-patch with multiple notes refs' '
test_when_finished "git notes --ref note1 remove HEAD;
- git notes --ref note2 remove HEAD" &&
+ git notes --ref note2 remove HEAD || :" &&
git notes --ref note1 add -m "this is note 1" HEAD &&
git notes --ref note2 add -m "this is note 2" HEAD &&
@@ -893,7 +893,7 @@ test_expect_success 'format-patch with multiple notes refs in config' '
test_when_finished "test_unconfig format.notes" &&
test_when_finished "git notes --ref note1 remove HEAD;
- git notes --ref note2 remove HEAD" &&
+ git notes --ref note2 remove HEAD || :" &&
git notes --ref note1 add -m "this is note 1" HEAD &&
git notes --ref note2 add -m "this is note 2" HEAD &&
> If you do
>
> ! grep "notes config message" out &&
> git format-patch -1 --stdout --no-notes --notes >out &&
> - grep "notes config message" out
> + grep "notes config message" out &&
> + git notes remove HEAD
> '
>
> at the end of this passing test to remove the note from HEAD (so
> that when-finished handler has nothing to remove), and run "sh
> t4014-format-patch.sh -i -v", this test piece 4014.70 fails with
>
> ...
> notes config message
> Removing note for object HEAD
> Object HEAD has no note
> not ok 70 - format-patch notes output control
>
> A failure in the when-finished handler is noticed (which we might
> argue is a misfeature)
Dropping it doesn't seem like something to be strongly opposed to :-)
> , and that is why it is a good idea to write
>
> test_when_finished 'rm -f cruft-that-may-be-created' &&
> do what might create cruft-that-may-be-created
>
> with "-f".
>
> A standard trick can be found in the output of
>
> $ git grep 'finished.*|| *:' t/
>
> Thanks.
Thank you.
next prev parent reply other threads:[~2024-06-07 17:38 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-03 22:49 [PATCH] format-patch: assume --cover-letter for diff in multi-patch series Rubén Justo
2024-06-04 8:02 ` Patrick Steinhardt
2024-06-04 17:32 ` Junio C Hamano
2024-06-05 18:01 ` Rubén Justo
2024-06-05 18:17 ` Junio C Hamano
2024-06-05 18:58 ` Junio C Hamano
2024-06-05 20:27 ` [PATCH v3] " Rubén Justo
2024-06-05 20:44 ` Junio C Hamano
2024-06-05 21:24 ` Rubén Justo
2024-06-05 21:52 ` Junio C Hamano
2024-06-05 21:39 ` Rubén Justo
2024-06-07 16:29 ` [PATCH v4 0/2] " Rubén Justo
2024-06-07 16:30 ` [PATCH v4 1/2] t4014: cleanups in a few tests Rubén Justo
2024-06-07 17:14 ` Junio C Hamano
2024-06-07 17:38 ` Rubén Justo [this message]
2024-06-07 18:57 ` Junio C Hamano
2024-06-07 16:30 ` [PATCH v4 2/2] format-patch: assume --cover-letter for diff in multi-patch series Rubén Justo
2024-06-07 20:52 ` [PATCH v5 0/2] " Rubén Justo
2024-06-07 20:55 ` [PATCH v5 1/2] t4014: cleanups in a few tests Rubén Justo
2024-06-07 20:55 ` [PATCH v5 2/2] format-patch: assume --cover-letter for diff in multi-patch series Rubén Justo
2024-06-07 21:10 ` [PATCH v5 0/2] " 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=de9d8f38-6e4c-43d4-acc4-a38e860787a7@gmail.com \
--to=rjusto@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=ps@pks.im \
/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).