Index: src/tests/pybin/tools.py
===================================================================
--- src/tests/pybin/tools.py	(revision c7d8100c04dddc3173838f3f474ec3e69b01cb80)
+++ src/tests/pybin/tools.py	(revision d142ec5da42a1be20c906da7cdcd7113b90c8208)
@@ -168,12 +168,16 @@
 def jobCount( options, tests ):
 	# check if the user already passed in a number of jobs for multi-threading
-	make_flags = os.environ.get('MAKEFLAGS')
-	make_jobs_fds = re.search("--jobserver-(auth|fds)=\s*([0-9]+),([0-9]+)", make_flags) if make_flags else None
-	if make_jobs_fds :
-		tokens = os.read(int(make_jobs_fds.group(2)), 1024)
-		options.jobs = len(tokens)
-		os.write(int(make_jobs_fds.group(3)), tokens)
+	if not options.jobs:
+		make_flags = os.environ.get('MAKEFLAGS')
+		force = bool(make_flags)
+		make_jobs_fds = re.search("--jobserver-(auth|fds)=\s*([0-9]+),([0-9]+)", make_flags) if make_flags else None
+		if make_jobs_fds :
+			tokens = os.read(int(make_jobs_fds.group(2)), 1024)
+			options.jobs = len(tokens)
+			os.write(int(make_jobs_fds.group(3)), tokens)
+		else :
+			options.jobs = multiprocessing.cpu_count()
 	else :
-		options.jobs = multiprocessing.cpu_count()
+		force = True
 
 	# make sure we have a valid number of jobs that corresponds to user input
@@ -182,5 +186,5 @@
 		sys.exit(1)
 
-	return min( options.jobs, len(tests) ), True if make_flags else False
+	return min( options.jobs, len(tests) ), force
 
 # setup a proper processor pool with correct signal handling
Index: src/tests/test.py
===================================================================
--- src/tests/test.py	(revision c7d8100c04dddc3173838f3f474ec3e69b01cb80)
+++ src/tests/test.py	(revision d142ec5da42a1be20c906da7cdcd7113b90c8208)
@@ -96,5 +96,5 @@
 	parser.add_argument('--all', help='Run all test available', action='store_true')
 	parser.add_argument('--regenerate-expected', help='Regenerate the .expect by running the specified tets, can be used with --all option', action='store_true')
-	parser.add_argument('-j', '--jobs', help='Number of tests to run simultaneously', type=int, default='8')
+	parser.add_argument('-j', '--jobs', help='Number of tests to run simultaneously', type=int)
 	parser.add_argument('--list-comp', help='List all valide arguments', action='store_true')
 	parser.add_argument('-I','--include', help='Directory of test to include, can be used multiple time, All  if omitted', action='append')
