tests: make run-tests exit non-zero if there are "errors"
Previously, if there was an error such as a broken .t file that caused
run-tests.py to encounter an exception during parsing, the test would be
considered in an "errored" state, which is separate from "failed".
The check for whether to exit non-zero or not was based entirely on whether
there were any tests in a "failed" state, so if there was only an error,
run-tests would exit with 0. Our test infrastructure would then consider the
test as passing, causing us to have some tests with false negatives that have
gone undetected for a few weeks now.
Differential Revision: https://phab.mercurial-scm.org/D6452
--- a/tests/run-tests.py Thu May 23 18:15:08 2019 +0200
+++ b/tests/run-tests.py Tue May 28 23:22:46 2019 -0700
@@ -2912,7 +2912,7 @@
result = runner.run(suite)
- if result.failures:
+ if result.failures or result.errors:
failed = True
result.onEnd()