run-tests: add more scheduling weight hints
The scheduler would like to order test execution by expected run-time,
but doesn't know much about how long a test will run. It thus uses
test size as a proxy for run-time. By tweaking these weights we can
keep CPUs more evenly busy and thus finish sooner.
In particular, this change pushes the three currently longest-running
tests closer to the beginning:
test-largefiles-update.t
test-run-tests.t
test-gendoc.t
As the largefiles test is currently the long pole of the test suite
with higher -j factors, the sooner it's started, the sooner the tests
can end.
We also up the weight on some shorter but long-running tests that
could have previously delayed completion with low -j factors by
running very close to the end.
--- a/tests/run-tests.py Fri Dec 04 14:55:10 2015 -0600
+++ b/tests/run-tests.py Fri Dec 04 17:05:20 2015 -0600
@@ -1744,8 +1744,15 @@
else:
# keywords for slow tests
slow = {b'svn': 10,
- b'gendoc': 10,
- b'check-code-hg': 100,
+ b'cvs': 10,
+ b'hghave': 10,
+ b'largefiles-update': 10,
+ b'run-tests': 10,
+ b'corruption': 10,
+ b'race': 10,
+ b'i18n': 10,
+ b'check': 100,
+ b'gendoc': 100,
b'contrib-perf': 200,
}
def sortkey(f):