On Fri, Oct 21, 2016 at 08:29:49AM -0700, Jacob Keller wrote: > > The Travis tests do exactly this (along with --tee to actually save the > > output). It seems like a minor miracle that this is the first test > > output that has actually triggered as TAP input. I'd suggest that the > > problem is not in the test, though, but that our "--verbose" option is > > unsuitable for using with a TAP harness. > > > > The obvious fix would be to send "--verbose" output to stderr, but I > > suspect that would end up annoying for people who do: > > > > ./t5547-push-quarantine.sh -v | less > > > > to read long output. Probably we need some option like "--log" which > > logs in the same way that "--tee" does, but _without_ sending the data > > to stdout. Naively, that just means replacing the "tee" invocation with > > "cat", but I suspect it will be a lot more complicated than that, > > because we still need to let the TAP output go to stdout. > > Can we determine that we're running with something monitoring the TAP > output? Because then we could make verbose go to stderr instead > dynamically? I think $HARNESS_ACTIVE could tell us that. But the hard part isn't activating it; it's directing the verbose output to the log without sending it to stdout. See the patch I posted later in the thread, and my musings on auto-activating it. I guess we could do so safely when we see $HARNESS_ACTIVE along with "--tee" and "--verbose", though I don't know if it's worth the trouble. For $HARNESS_ACTIVE with _just_ "--verbose", I don't think it would be a good idea to activate it. We should either silently ignore --verbose then, or complain and die. -Peff