Index: tests/pybin/settings.py
===================================================================
--- tests/pybin/settings.py	(revision 0c13238b5b884bbd89f602258bdd1d13c4600011)
+++ tests/pybin/settings.py	(revision 5b993e03abbf0909dc4a844c4d739f76b52ad08c)
@@ -1,7 +1,5 @@
-from __future__ import print_function
-
 import os
 import sys
-import tools
+from . import tools
 
 try :
Index: tests/pybin/tools.py
===================================================================
--- tests/pybin/tools.py	(revision 0c13238b5b884bbd89f602258bdd1d13c4600011)
+++ tests/pybin/tools.py	(revision 5b993e03abbf0909dc4a844c4d739f76b52ad08c)
@@ -1,4 +1,2 @@
-from __future__ import print_function
-
 import __main__
 import argparse
@@ -12,4 +10,5 @@
 import sys
 import time
+import types
 
 from pybin import settings
@@ -58,17 +57,15 @@
 # Remove 1 or more files silently
 def rm( files ):
-	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 )
+	if isinstance(files, str ): files = [ files ]
+	for file in files:
+		sh("rm -f %s > /dev/null 2>&1" % file )
 
 # Create 1 or more directory
 def mkdir( files ):
-	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) )
+	if isinstance(files, str ): files = [ files ]
+	for file in files:
+		p = os.path.normpath( file )
+		d = os.path.dirname ( p )
+		sh( "mkdir -p {}".format(d) )
 
 
@@ -200,5 +197,8 @@
 	# Start the walk
 	dname = settings.SRCDIR
-	os.path.walk(dname, step, '')
+	for dirname, _, names in os.walk(dname):
+		for name in names:
+			path = os.path.join(dirname, name)
+			op( path )
 
 ################################################################################
@@ -268,5 +268,5 @@
 		cmd = "%s 2> /dev/null" % column
 		proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True)
-		proc.communicate(input=text + "\n")
+		proc.communicate(input=bytes(text + "\n", "UTF-8"))
 	else:
 		print(text)
