On Fri, Jan 26, 2018 at 09:26:38PM +0100, SZEDER Gábor wrote: > Yeah, I knew about TEST_SHELL_PATH, but still: > > $ make -j4 TEST_SHELL_PATH=/bin/bash > <...> > $ cd t/ > $ for t in t[0-9][0-9][0-9][0-9]-*.sh ; do "./$t" -x ; done >/dev/null 2>&1 > $ grep '^failed [^0]$' test-results/*.counts |wc -l > 44 > > The worst offender is t0008-ignores with 208 tests failing with '-x'... > I suspect a setup test fails for some reason, and (most of) the other > failed tests are just fallout; haven't dared to look yet :) You cannot run "./$t" and expect TEST_SHELL_PATH to kick in; that starts the test with the #! header, which is always /bin/sh (we don't "build" the test scripts like we do regular scripts). You need to run either: - make TEST_SHELL_PATH=/bin/bash test or - bash $t -x There _is_ one exception where it sometimes works, which is if you use --tee or --verbose-log, in which case the shell script has to re-exec itself, in which case it always pulls the value from GIT-BUILD-OPTIONS to re-exec. -Peff