run-tests: more accurate/helpful message than "diff generation failed"

Diff generation didn't really fail, it recognized that an hg serve server has
failed to start, and thus skipped the diff generation intentionally.

The most common reason for a server to fail to start is that the port was
already in use, so output HGPORT as well, to help finding it (since pgrep -f
'hg serve' is not sufficient, if the command line is something like 'hg -R main
serve')
This commit is contained in:
Kyle Lippincott 2014-10-09 17:00:29 -07:00
parent dcb03fe445
commit 95982a95be

View File

@ -1206,10 +1206,12 @@ class TestResult(unittest._TextTestResult):
os.system("%s %s %s" %
(self._options.view, test.refpath, test.errpath))
else:
failed, lines = getdiff(expected, got,
test.refpath, test.errpath)
if failed:
self.addFailure(test, 'diff generation failed')
servefail, lines = getdiff(expected, got,
test.refpath, test.errpath)
if servefail:
self.addFailure(
test,
'server failed to start (HGPORT=%s)' % test._startport)
else:
self.stream.write('\n')
for line in lines: