[] > FWIW I would strongly prefer to use the warning of `git add` and not even > bother with `git commit`. What we are interested in is the warning > message, generated by convert_to_git(). The commit is needed, because we check the content of the commit later. > Not using the first one and [] > > On that matter, I wonder whether there would be a chance to revamp t0027 > in a major way, with the following goals: > > - to make it very obvious to the casual reader what is being tested > > - to combine Git invocations when possible, e.g. running one big `git add` > on a couple of files and then verify the relevant parts of the output > > - dramatically decreasing the time required to run the test, without > sacrificing correctness (I would wager a bet that not only a few of > those 1388 test cases essentially exercise identical code paths) Good ideas, I will work on a series that fixes bugs first, and then we can see if there is room for optimization. What do you think about this as a starting point, more things will follow. I like to here comments about the commit msg first ;-) commit 3754404d3d1ea4a0cbbed4986cc4ac1b5fe6b66e Author: Torsten Bögershausen <tboegi@xxxxxx> Date: Thu Aug 11 18:47:29 2016 +0200 t0027: Correct raciness in NNO test When a non-reversible CRLF conversion is done in "git add", a warning is printed on stderr. The commit_chk_wrnNNO() function in t0027 was written to test this, but did the wrong thing: Instead of looking at the warning from "git add", it looked at the warning from "git commit". Correct this and replace the commit for each and every file with a commit of all files in one go. The function commit_chk_wrnNNO() will to be renamed in a separate commit. Thanks to Jeff King <peff@xxxxxxxx> for analizing t0027. Reporyed-By: Johannes Schindelin <Johannes.Schindelin@xxxxxx> diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh index 2860d2d..6e44382 100755 --- a/t/t0027-auto-crlf.sh +++ b/t/t0027-auto-crlf.sh @@ -119,8 +119,7 @@ commit_chk_wrnNNO () { fname=${pfx}_$f.txt && cp $f $fname && printf Z >>"$fname" && - git -c core.autocrlf=$crlf add $fname 2>/dev/null && - git -c core.autocrlf=$crlf commit -m "commit_$fname" $fname >"${pfx}_$f.err" 2>&1 + git -c core.autocrlf=$crlf add $fname 2>"${pfx}_$f.err" done test_expect_success "commit NNO files crlf=$crlf attr=$attr LF" ' @@ -394,11 +393,10 @@ test_expect_success 'commit files attr=crlf' ' # attr LF CRLF CRLFmixLF LF_mix_CR CRLFNUL commit_chk_wrnNNO "" "" false "" "" "" "" "" -commit_chk_wrnNNO "" "" true LF_CRLF "" "" "" "" +commit_chk_wrnNNO "" "" true "" "" "" "" "" commit_chk_wrnNNO "" "" input "" "" "" "" "" - -commit_chk_wrnNNO "auto" "" false "$WILC" "" "" "" "" -commit_chk_wrnNNO "auto" "" true LF_CRLF "" "" "" "" +commit_chk_wrnNNO "auto" "" false "" "" "" "" "" +commit_chk_wrnNNO "auto" "" true "" "" "" "" "" commit_chk_wrnNNO "auto" "" input "" "" "" "" "" for crlf in true false input do @@ -408,7 +406,7 @@ do commit_chk_wrnNNO "" lf $crlf "" CRLF_LF CRLF_LF "" CRLF_LF commit_chk_wrnNNO "" crlf $crlf LF_CRLF "" LF_CRLF LF_CRLF "" commit_chk_wrnNNO auto lf $crlf "" "" "" "" "" - commit_chk_wrnNNO auto crlf $crlf LF_CRLF "" "" "" "" + commit_chk_wrnNNO auto crlf $crlf "" "" "" "" "" commit_chk_wrnNNO text lf $crlf "" CRLF_LF CRLF_LF "" CRLF_LF commit_chk_wrnNNO text crlf $crlf LF_CRLF "" LF_CRLF LF_CRLF "" done @@ -417,7 +415,8 @@ commit_chk_wrnNNO "text" "" false "$WILC" "$WICL" "$WAMIX" "$WILC commit_chk_wrnNNO "text" "" true LF_CRLF "" LF_CRLF LF_CRLF "" commit_chk_wrnNNO "text" "" input "" CRLF_LF CRLF_LF "" CRLF_LF -test_expect_success 'create files cleanup' ' +test_expect_success 'commit NNO and cleanup' ' + git commit -m "commit files on top of NNO" && rm -f *.txt && git -c core.autocrlf=false reset --hard ' -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html