Re: [PATCH v2 1/3] t/gitweb-lib.sh: print to stderr when gitweb_run has errors
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:50:37
Jakub Narebski [off-list ref] writes:
Because '--immediate' stops test suite after first error, therefore in this mode test_debug 'cat gitweb.log' was never ran, thus in effect negating effect of '--debug' option. This made finidng the cause of errors in gitweb test sute difficult.
I think the patch itself makes sense, but I actually don't agree with the
above reasoning.
The point of --immediate is not just it stops where we find a failure, but
also it leaves the trash directory intact, so that _you_ who started the
test with --immediate can run the "cat gitweb.log" yourself.
In other words, I think test_debug is overused. In the current setting, I
think a sane way to debug the test script itself would probably be
sh -x tXXXX-xxxx.sh -i -v -d
so that:
(1) with -x I can see what commands are being run;
(2) with -i I can stop the test immediately upon the first failure;
(3) with -v I can see the output from the commands that we usually do not
show; and
(4) with -d I can be sure that trash directory does not go away.
Notice that I do not count "I can see test_debug executed" as a benefit
from (4) above?
My preference, although I do not care too deeply, would be to gradually
remove test_debug calls that were casually sprinkled and left in the test
scripts while they were initially developed, and have the regular test
sequence run them just like your patch does. Another change I would
welcome would be to make the "-d" option automatically trigger shell
tracing, to make it unnecessary to say "sh -x".