Index: src/tests/test.py
===================================================================
--- src/tests/test.py	(revision 177a5cefed68e51aa2e3240e4541facc5f85496d)
+++ src/tests/test.py	(revision ca35c51743c5aa90ec6fd8bc56f12cfc866101ff)
@@ -49,4 +49,15 @@
 		file_replace(file, "make\[%i\]" % int(environ.get('MAKELEVEL')), 'make' )
 
+def fileContainsOnly(file, text) :
+	with open(file) as f:
+		ff = f.read().strip()
+		result = ff == text.strip()
+		#
+		# print("Comparing :\n\t'%s'\nWith:\n\t'%s'" % (ff, text))
+		# print("Result is : \n\t", end="")
+		# print(result)
+
+		return result;
+
 
 ################################################################################
@@ -75,5 +86,11 @@
 	fix_MakeLevel(out_file)
 
-	if not generate :
+	if generate :
+		if not dry_run and fileContainsOnly(out_file, "make: *** No rule to make target `%s'.  Stop." % test) :
+			retcode = 1;
+			error = "\t\tNo make target for test %s!" % test
+			sh("rm %s" % out_file, False)
+
+	else :
 		# diff the output of the files
 		diff_cmd = ("diff --old-group-format='\t\tmissing lines :\n"
@@ -112,10 +129,14 @@
 		failed = test_failed or failed
 
-		if not generate :
-			print("FAILED" if test_failed else "PASSED")
-			if error :
-				print(error)
+		if generate :
+			failed_txt = "ERROR"
+			success_txt = "Done"
 		else :
-			print( "Done" )
+			failed_txt = "FAILED"
+			success_txt = "PASSED"
+
+		print(failed_txt if test_failed else success_txt)
+		if error :
+			print(error, file=sys.stderr)
 
 	sh("%s clean > /dev/null 2>&1" % make_cmd, dry_run)
