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@xxxxxxxxx> > --- > 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 >