run-tests: add more scheduling weight hints
authorMatt Mackall <mpm@selenic.com>
Fri, 04 Dec 2015 17:05:20 -0600
changeset 27394 b4d7743e174a
parent 27393 a40b623e6380
child 27395 0622d6e134fb
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.
tests/run-tests.py
--- 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):