From: "Torsten Bögershausen" <tboegi@web.de>
To: "René Scharfe" <l.s.r@web.de>
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
"Eric Sunshine" <sunshine@sunshineco.com>
Subject: Re: [PATCH v2 2/8] auto-crlf tests: check "git checkout" exit code
Date: Fri, 2 Dec 2022 06:59:05 +0100 [thread overview]
Message-ID: <20221202055905.2rqp26xu4nuknlxw@tb-raspi4> (raw)
In-Reply-To: <02ead668-5b5d-877c-1e40-3656fd85945f@web.de>
On Fri, Dec 02, 2022 at 02:02:55AM +0100, René Scharfe wrote:
> Am 02.12.2022 um 01:06 schrieb Ævar Arnfjörð Bjarmason:
> > Don't hide the exit code from the "git checkout" we run to checkout
> > our attributes file.
> >
> > This fixes cases where we'd have e.g. missed memory leaks under
> > SANITIZE=leak, this code doesn't leak (the relevant "git checkout"
> > leak has been fixed), but in a past version of git we'd continue past
> > this failure under SANITIZE=leak when these invocations had errored
> > out, even under "--immediate".
> >
> > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> > ---
> > t/t0027-auto-crlf.sh | 14 ++++++++++----
> > 1 file changed, 10 insertions(+), 4 deletions(-)
> >
> > diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
> > index a94ac1eae37..574344a99db 100755
> > --- a/t/t0027-auto-crlf.sh
> > +++ b/t/t0027-auto-crlf.sh
> > @@ -294,11 +294,17 @@ checkout_files () {
> > pfx=eol_${ceol}_crlf_${crlf}_attr_${attr}_ &&
> > for f in LF CRLF LF_mix_CR CRLF_mix_LF LF_nul
> > do
> > - rm crlf_false_attr__$f.txt &&
> > - if test -z "$ceol"; then
> > - git checkout -- crlf_false_attr__$f.txt
> > + if test -z "$ceol"
> > + then
> > + test_expect_success "setup $f checkout" '
> > + rm crlf_false_attr__$f.txt &&
> > + git checkout -- crlf_false_attr__$f.txt
> > + '
> > else
> > - git -c core.eol=$ceol checkout -- crlf_false_attr__$f.txt
> > + test_expect_success "setup $f checkout with core.eol=$ceol" '
> > + rm crlf_false_attr__$f.txt &&
> > + git -c core.eol=$ceol checkout -- crlf_false_attr__$f.txt
> > + '
>
> That adds five test_expect_success calls. Wouldn't one suffice, for the
> whole for loop, and a "|| return 1"?
>
> One line above the context there's a "git config" call that should also
> be covered, right?
>
> Side note: The checkout commands only differ in their -c parameter.
> They could be unified like this, which might simplify handling their
> return code:
>
> git ${ceol:+-c core.eol=$ceol} checkout -- crlf_false_attr__$f.txt
>
> > fi
> > done
> >
That is a nice one. (I learned about the ${:+} yesterday).
Is it supported by all the shells/os combinations ?
If not, we can still extract the if:
if test -z "$ceol"; then
CEOL="-c core.eol=$ceol"
else
CEOL=""
fi
git $CEOL checkout -- crlf_false_attr__$f.txt &&
The original reasoning (for not looking at the return code) was that
if the checkout fails, the test suite will fail further down anyway.
But checking for failures early is a good thing.
Thanks for cleaning up my mess.
next prev parent reply other threads:[~2022-12-02 6:04 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-21 6:51 [PATCH 0/6] tests: fix ignored & hidden exit codes Ævar Arnfjörð Bjarmason
2022-07-21 6:51 ` [PATCH 1/6] diff tests: fix ignored exit codes in t4023 Ævar Arnfjörð Bjarmason
2022-07-21 6:51 ` [PATCH 2/6] t/lib-patch-mode.sh: fix ignored "git" exit codes Ævar Arnfjörð Bjarmason
2022-07-21 6:51 ` [PATCH 3/6] auto-crlf tests: check "git checkout" exit code Ævar Arnfjörð Bjarmason
2022-07-21 6:51 ` [PATCH 4/6] test-lib-functions: add and use test_cmp_cmd Ævar Arnfjörð Bjarmason
2022-07-21 6:51 ` [PATCH 5/6] merge tests: don't ignore "rev-parse" exit code in helper Ævar Arnfjörð Bjarmason
2022-07-21 6:51 ` [PATCH 6/6] log tests: don't use "exit 1" outside a sub-shell Ævar Arnfjörð Bjarmason
2022-12-02 0:06 ` [PATCH v2 0/8] tests: fix ignored & hidden exit codes Ævar Arnfjörð Bjarmason
2022-12-02 0:06 ` [PATCH v2 1/8] log tests: don't use "exit 1" outside a sub-shell Ævar Arnfjörð Bjarmason
2022-12-02 1:02 ` Eric Sunshine
2022-12-02 1:48 ` Junio C Hamano
2022-12-02 2:45 ` Ævar Arnfjörð Bjarmason
2022-12-02 9:03 ` Eric Sunshine
2022-12-02 10:02 ` Ævar Arnfjörð Bjarmason
2022-12-07 6:09 ` Eric Sunshine
2022-12-02 3:24 ` Junio C Hamano
2022-12-02 0:06 ` [PATCH v2 2/8] auto-crlf tests: check "git checkout" exit code Ævar Arnfjörð Bjarmason
2022-12-02 1:02 ` René Scharfe
2022-12-02 1:10 ` Eric Sunshine
2022-12-02 5:59 ` Torsten Bögershausen [this message]
2022-12-02 6:03 ` Eric Sunshine
2022-12-02 0:06 ` [PATCH v2 3/8] diff tests: fix ignored exit codes in t4023 Ævar Arnfjörð Bjarmason
2022-12-02 2:02 ` Junio C Hamano
2022-12-02 0:06 ` [PATCH v2 4/8] test-lib-functions: add and use test_cmp_cmd Ævar Arnfjörð Bjarmason
2022-12-02 1:30 ` René Scharfe
2022-12-02 1:33 ` Eric Sunshine
2022-12-02 1:45 ` Eric Sunshine
2022-12-02 1:52 ` Eric Sunshine
2022-12-02 3:41 ` Junio C Hamano
2022-12-02 0:06 ` [PATCH v2 5/8] t/lib-patch-mode.sh: fix ignored "git" exit codes Ævar Arnfjörð Bjarmason
2022-12-02 1:31 ` René Scharfe
2022-12-02 0:06 ` [PATCH v2 6/8] merge tests: don't ignore "rev-parse" exit code in helper Ævar Arnfjörð Bjarmason
2022-12-02 1:41 ` René Scharfe
2022-12-02 0:06 ` [PATCH v2 7/8] tests: use "test_cmp_cmd" instead of "test" in sub-shells Ævar Arnfjörð Bjarmason
2022-12-02 0:06 ` [PATCH v2 8/8] tests: use "test_cmp_cmd" in misc tests Ævar Arnfjörð Bjarmason
2022-12-02 2:19 ` Junio C Hamano
2022-12-02 11:52 ` [PATCH v3 0/8] tests: fix ignored & hidden exit codes Ævar Arnfjörð Bjarmason
2022-12-02 11:52 ` [PATCH v3 1/8] merge tests: don't ignore "rev-parse" exit code in helper Ævar Arnfjörð Bjarmason
2022-12-05 0:24 ` Junio C Hamano
2022-12-02 11:52 ` [PATCH v3 2/8] auto-crlf tests: don't lose exit code in loops and outside tests Ævar Arnfjörð Bjarmason
2022-12-02 15:59 ` René Scharfe
2022-12-02 11:52 ` [PATCH v3 3/8] diff tests: fix ignored exit codes in t4023 Ævar Arnfjörð Bjarmason
2022-12-05 0:26 ` Junio C Hamano
2022-12-02 11:52 ` [PATCH v3 4/8] t/lib-patch-mode.sh: fix ignored exit codes Ævar Arnfjörð Bjarmason
2022-12-02 15:59 ` René Scharfe
2022-12-04 0:45 ` Eric Sunshine
2022-12-02 11:52 ` [PATCH v3 5/8] tests: use "test_cmp" instead of "test" in sub-shells Ævar Arnfjörð Bjarmason
2022-12-05 0:39 ` Junio C Hamano
2022-12-02 11:52 ` [PATCH v3 6/8] tests: don't lose 'test <str> = $(cmd ...)"' exit code Ævar Arnfjörð Bjarmason
2022-12-02 11:52 ` [PATCH v3 7/8] tests: don't lose "git" exit codes in "! ( git ... | grep )" Ævar Arnfjörð Bjarmason
2022-12-02 18:31 ` René Scharfe
2022-12-02 11:52 ` [PATCH v3 8/8] tests: don't lose mist "git" exit codes Ævar Arnfjörð Bjarmason
2022-12-04 0:40 ` Eric Sunshine
2022-12-05 0:45 ` Junio C Hamano
2022-12-19 10:19 ` [PATCH v4 0/6] tests: fix ignored & hidden " Ævar Arnfjörð Bjarmason
2022-12-19 10:19 ` [PATCH v4 1/6] auto-crlf tests: don't lose exit code in loops and outside tests Ævar Arnfjörð Bjarmason
2022-12-19 12:07 ` René Scharfe
2022-12-19 10:19 ` [PATCH v4 2/6] t/lib-patch-mode.sh: fix ignored exit codes Ævar Arnfjörð Bjarmason
2022-12-20 0:09 ` Junio C Hamano
2022-12-27 16:40 ` Phillip Wood
2022-12-27 18:14 ` Ævar Arnfjörð Bjarmason
2022-12-19 10:19 ` [PATCH v4 3/6] tests: don't lose exit status with "(cd ...; test <op> $(git ...))" Ævar Arnfjörð Bjarmason
2022-12-20 0:20 ` Junio C Hamano
2022-12-19 10:19 ` [PATCH v4 4/6] tests: don't lose exit status with "test <op> $(git ...)" Ævar Arnfjörð Bjarmason
2022-12-26 1:14 ` Junio C Hamano
2022-12-19 10:19 ` [PATCH v4 5/6] tests: don't lose "git" exit codes in "! ( git ... | grep )" Ævar Arnfjörð Bjarmason
2022-12-26 1:18 ` Junio C Hamano
2022-12-27 16:44 ` Phillip Wood
2022-12-27 17:13 ` Phillip Wood
2022-12-27 23:16 ` Junio C Hamano
2022-12-19 10:19 ` [PATCH v4 6/6] tests: don't lose misc "git" exit codes Ævar Arnfjörð Bjarmason
2022-12-27 16:46 ` Phillip Wood
2022-12-27 18:18 ` Ævar Arnfjörð Bjarmason
2022-12-27 23:17 ` Junio C Hamano
2022-12-20 0:06 ` [PATCH v4 0/6] tests: fix ignored & hidden " Junio C Hamano
2023-02-06 22:44 ` [PATCH v5 " Ævar Arnfjörð Bjarmason
2023-02-06 22:44 ` [PATCH v5 1/6] auto-crlf tests: don't lose exit code in loops and outside tests Ævar Arnfjörð Bjarmason
2023-02-06 22:44 ` [PATCH v5 2/6] t/lib-patch-mode.sh: fix ignored exit codes Ævar Arnfjörð Bjarmason
2023-02-06 22:44 ` [PATCH v5 3/6] tests: don't lose exit status with "(cd ...; test <op> $(git ...))" Ævar Arnfjörð Bjarmason
2023-02-06 22:44 ` [PATCH v5 4/6] tests: don't lose exit status with "test <op> $(git ...)" Ævar Arnfjörð Bjarmason
2023-02-06 22:44 ` [PATCH v5 5/6] tests: don't lose "git" exit codes in "! ( git ... | grep )" Ævar Arnfjörð Bjarmason
2023-02-06 22:44 ` [PATCH v5 6/6] tests: don't lose misc "git" exit codes Ævar Arnfjörð Bjarmason
2023-02-06 23:33 ` [PATCH v5 0/6] tests: fix ignored & hidden " 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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221202055905.2rqp26xu4nuknlxw@tb-raspi4 \
--to=tboegi@web.de \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=l.s.r@web.de \
--cc=sunshine@sunshineco.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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).