Index: tests/test.py
===================================================================
--- tests/test.py	(revision 312029a731fd1bf1cdd24d3e1d75abf51eb09d71)
+++ tests/test.py	(revision 737c98acc56f97fa28241bc0ce3e5692f6904e70)
@@ -10,4 +10,8 @@
 import tempfile
 import time
+
+import os
+import psutil
+import signal
 
 ################################################################################
@@ -221,8 +225,20 @@
 	make('clean', output_file=subprocess.DEVNULL, error=subprocess.DEVNULL)
 
+	# since python prints stacks by default on a interrupt, redo the interrupt handling to be silent
+	def worker_init():
+		def sig_int(signal_num, frame):
+			pass
+
+		signal.signal(signal.SIGINT, sig_int)
+
 	# create the executor for our jobs and handle the signal properly
-	pool = multiprocessing.Pool(jobs)
+	pool = multiprocessing.Pool(jobs, worker_init)
 
 	failed = False
+
+	def stop(x, y):
+		print("Tests interrupted by user", file=sys.stderr)
+		sys.exit(1)
+	signal.signal(signal.SIGINT, stop)
 
 	# for each test to run
