Re: [PATCH] t/Makefile: add a rule to re-run previously-failed tests
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 1, 2016, 13:57 UTC
- Message-ID
- <alpine.DEB.2.20.1607011551550.12947@virtualbox>
- In-Reply-To
- <xmqqy45n52xp.fsf@gitster.mtv.corp.google.com>
Hi Junio,
On Wed, 29 Jun 2016, Junio C Hamano wrote:
Show 10 quoted lines
> Johannes Schindelin <johannes.schindelin@gmx.de> writes: > > > While developing patch series, it is a good practice to run the test > > suite from time to time, just to make sure that obvious bugs are caught > > early. With complex patch series, it is common to run `make -j15 -k > > test`, i.e. run the tests in parallel and not stop at the first failing > > test but continue. > > Hmmm, my tests run in parallel and do not stop at the first one > without '-k'. What are we doing differently?
Probably none of your tests are failing... When I run tests with -j15 and without -k, as soon as *any* test fails, the other 14 jobs stop after running their respective current tests.
This is particularly annoying when some early test fails and a subsequent test run reveals that *also* one of those pesky SVN tests failed.
Show 6 quoted lines
> > It is the most convenient way to determine which tests failed after > > running the entire test suite, in parallel, to look for left-over "trash > > directory.t*" subdirectories in the t/ subdirectory. > > Good idea, but I'd drop "in the t/ subdirectory" from the > description.
Okay.
Show 5 quoted lines
> > +failed: $(patsubst trash,,$(patsubst directory.%,%.sh,$(wildcard trash\ directory.t[0-9]*))) > > + > > This would not work if you use --root=<there> in GIT_TEST_OPTS, I am > afraid.
Bah. You're correct. Would it be okay with you if I simply punted, like this:
ifeq (,$(findstring --root,$(GIT_TEST_OPTS))) failed: ... else failed: echo "Sorry, the 'failed' rule is incompatible with --root=..." >&2 endif
? I really do not have time to spend more time on this right now...
Ciao, Dscho