run-tests: run tests with as many processes as cores by default
authorGregory Szorc <gregory.szorc@gmail.com>
Sat, 13 Oct 2018 12:20:24 +0200
changeset 40245 e7e70c033783
parent 40244 1039404c5e1d
child 40246 be0a5d2d5c78
run-tests: run tests with as many processes as cores by default This seems like a useful default behavior so tests run faster by default* * Except in special circumstances where the OS/filesystem doesn't scale well to many CPU cores (like APFS *cough* *cough*). Differential Revision: https://phab.mercurial-scm.org/D5071
tests/run-tests.py
tests/test-run-tests.t
--- a/tests/run-tests.py	Sat Oct 13 12:11:45 2018 +0200
+++ b/tests/run-tests.py	Sat Oct 13 12:20:24 2018 +0200
@@ -51,6 +51,7 @@
 import distutils.version as version
 import errno
 import json
+import multiprocessing
 import os
 import random
 import re
@@ -287,7 +288,7 @@
     IMPL_PATH = b'JYTHONPATH'
 
 defaults = {
-    'jobs': ('HGTEST_JOBS', 1),
+    'jobs': ('HGTEST_JOBS', multiprocessing.cpu_count()),
     'timeout': ('HGTEST_TIMEOUT', 180),
     'slowtimeout': ('HGTEST_SLOWTIMEOUT', 500),
     'port': ('HGTEST_PORT', 20059),
--- a/tests/test-run-tests.t	Sat Oct 13 12:11:45 2018 +0200
+++ b/tests/test-run-tests.t	Sat Oct 13 12:20:24 2018 +0200
@@ -15,7 +15,7 @@
 =============
   $ rt()
   > {
-  >     "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` "$@"
+  >     "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` -j1 "$@"
   > }
 
 error paths
@@ -1329,7 +1329,7 @@
 Add support for external test formatter
 =======================================
 
-  $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` "$@" test-success.t test-failure.t
+  $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` -j1 "$@" test-success.t test-failure.t
   running 2 tests using 1 parallel processes 
   
   # Ran 2 tests, 0 skipped, 0 failed.