Re: [PATCH 10/10] t: make 'test_i18ngrep' more informative on failure
- From
Jeff King <peff@peff.net>
- Date
- Jan 26, 2018, 20:32 UTC
- Message-ID
- <20180126203254.GA1767@sigill.intra.peff.net>
- In-Reply-To
- <CAM0VKjkXKcwjt1J+KwHYwcaTpb5COXX9ojBWJ4b4b+PRS=AsZQ@mail.gmail.com>
On Fri, Jan 26, 2018 at 09:26:38PM +0100, SZEDER Gábor wrote:
Show 12 quoted lines
> 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