X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Frun_tests.py;h=e6a182c016b6380980ea5f3c4f1faac988374fbe;hb=46b91ebb5c350ceeccec97d8e09524f708512342;hp=aee05c65157a29c355e6c5ddea7795f34d8a2bec;hpb=0cbc71d783b9ad385e3d9efba181b75e37265318;p=vpp.git diff --git a/test/run_tests.py b/test/run_tests.py index aee05c65157..e6a182c016b 100644 --- a/test/run_tests.py +++ b/test/run_tests.py @@ -11,6 +11,7 @@ import threading import signal import psutil import re +import multiprocessing from multiprocessing import Process, Pipe, cpu_count from multiprocessing.queues import Queue from multiprocessing.managers import BaseManager @@ -737,13 +738,21 @@ if __name__ == '__main__': run_interactive = debug or step or force_foreground + try: + num_cpus = len(os.sched_getaffinity(0)) + except AttributeError: + num_cpus = multiprocessing.cpu_count() + shm_free = psutil.disk_usage('/dev/shm').free + + print('OS reports %s available cpu(s). Free shm: %s' % ( + num_cpus, "{:,}MB".format(shm_free / (1024 * 1024)))) + test_jobs = os.getenv("TEST_JOBS", "1").lower() # default = 1 process if test_jobs == 'auto': if run_interactive: concurrent_tests = 1 print('Interactive mode required, running on one core') else: - shm_free = psutil.disk_usage('/dev/shm').free shm_max_processes = 1 if shm_free < min_req_shm: raise Exception('Not enough free space in /dev/shm. Required ' @@ -757,8 +766,11 @@ if __name__ == '__main__': % concurrent_tests) elif test_jobs.isdigit(): concurrent_tests = int(test_jobs) + print("Running on %s core(s) as set by 'TEST_JOBS'." % + concurrent_tests) else: concurrent_tests = 1 + print('Running on one core.') if run_interactive and concurrent_tests > 1: raise NotImplementedError(