Index: tests/pybin/settings.py
===================================================================
--- tests/pybin/settings.py	(revision bf71cfdb7285490eee552b461158846f626cc52f)
+++ tests/pybin/settings.py	(revision 28582b2f67a95666cd46d6aa6b773838c5711333)
@@ -3,4 +3,5 @@
 import os
 import sys
+import tools
 
 try :
@@ -85,2 +86,14 @@
 
 	make = "make" if not force else ("make -j%i" % jobs)
+
+def validate():
+	make_ret, _ = tools.make( ".validate", error_file = ".validate.err", redirects  = "2> /dev/null 1> /dev/null", )
+	if make_ret != 0:
+		with open (".validate.err", "r") as myfile:
+			error=myfile.read()
+		print('ERROR: Invalid configuration', file=sys.stderr)
+		print("       verify returned : \n%s" % error, file=sys.stderr)
+		tools.rm("%s/.validate.err" % BUILDDIR)
+		sys.exit(1)
+
+	tools.rm("%s/.validate.err" % BUILDDIR)
Index: tests/pybin/tools.py
===================================================================
--- tests/pybin/tools.py	(revision bf71cfdb7285490eee552b461158846f626cc52f)
+++ tests/pybin/tools.py	(revision 28582b2f67a95666cd46d6aa6b773838c5711333)
@@ -52,17 +52,18 @@
 # Remove 1 or more files silently
 def rm( files ):
-	try:
+	if isinstance( files, basestring ):
+		sh("rm -f %s > /dev/null 2>&1" % files )
+	else:
 		for file in files:
 			sh("rm -f %s > /dev/null 2>&1" % file )
-	except TypeError:
-		sh("rm -f %s > /dev/null 2>&1" % files )
 
 # Create 1 or more directory
 def mkdir( files ):
-	try:
+	if isinstance( files, basestring ):
+		sh("mkdir -p %s" % os.path.dirname(files) )
+	else:
 		for file in files:
 			sh("mkdir -p %s" % os.path.dirname(file) )
-	except TypeError:
-		sh("mkdir -p %s" % os.path.dirname(files) )
+
 
 def chdir( dest = __main__.__file__ ):
