Jeff King <peff@xxxxxxxx> writes: > Of course those extra lint checks are doing something useful, so paying > a few extra seconds (at least on Linux) isn't so bad (though note the > CPU time; we're bounded in our parallel run here by the slowest test, so > it really is ~120s of CPU improvement). Nice. > diff --git a/t/test-lib.sh b/t/test-lib.sh > index adaa2db601..adaf03543e 100644 > --- a/t/test-lib.sh > +++ b/t/test-lib.sh > @@ -947,8 +947,11 @@ test_run_ () { > trace= > # 117 is magic because it is unlikely to match the exit > # code of other programs > - if $(printf '%s\n' "$1" | sed -f "$GIT_BUILD_DIR/t/chainlint.sed" | grep -q '?![A-Z][A-Z]*?!') || > - test "OK-117" != "$(test_eval_ "(exit 117) && $1${LF}${LF}echo OK-\$?" 3>&1)" > + if test "OK-117" != "$(test_eval_ "(exit 117) && $1${LF}${LF}echo OK-\$?" 3>&1)" || > + { > + test "${GIT_TEST_CHAIN_LINT_HARDER:-${GIT_TEST_CHAIN_LINT_HARDER_DEFAULT:-1}}" != 0 && > + $(printf '%s\n' "$1" | sed -f "$GIT_BUILD_DIR/t/chainlint.sed" | grep -q '?![A-Z][A-Z]*?!') > + } We have been doing the more expensive one first, but we now optionally skip it while retaining the one that uses the shell. OK. Nicely done. > then > BUG "broken &&-chain or run-away HERE-DOC: $1" > fi