Index: src/tests/test.py
===================================================================
--- src/tests/test.py	(revision 622c35ac93f75548df9d46de63fec807c61886eb)
+++ src/tests/test.py	(revision 74358c3091fd69f657a440e58967a44bd37c32dd)
@@ -61,5 +61,5 @@
 
 	# build, skipping to next test on error
-	make_ret = sh("make -j 8 %s 2> %s 1> /dev/null" % (test, out_file), dry_run)
+	make_ret = sh("%s -j 8 %s 2> %s 1> /dev/null" % (make_cmd, test, out_file), dry_run)
 
 	if make_ret == 0 :
@@ -84,5 +84,5 @@
 
 def run_tests(tests, generate, dry_run) :
-	sh('make clean > /dev/null 2>&1', dry_run)
+	sh("%s clean > /dev/null 2>&1" % make_cmd, dry_run)
 	sh('mkdir -p .out .expect', dry_run)
 
@@ -102,5 +102,5 @@
 			print( "Done" )
 
-	sh('make clean > /dev/null 2>&1', dry_run)
+	sh("%s clean > /dev/null 2>&1" % make_cmd, dry_run)
 
 	return 1 if failed else 0
@@ -141,4 +141,8 @@
 		sys.exit(1)
 
+tests.sort()
+
+make_cmd = "$(MAKE)" if environ.get('MAKELEVEL') else "make"
+
 if options.list :
 	print("\n".join(tests))
