THRIFT-3439 Run make cross using Python3 when available
Client: Test
Patch: Nobuaki Sukegawa

This closes #710
diff --git a/test/crossrunner/report.py b/test/crossrunner/report.py
index 6ffc8e2..bcfe181 100644
--- a/test/crossrunner/report.py
+++ b/test/crossrunner/report.py
@@ -28,7 +28,8 @@
 import time
 import traceback
 
-from crossrunner.test import TestEntry
+from .compat import path_join, str_join
+from .test import TestEntry
 
 LOG_DIR = 'log'
 RESULT_HTML = 'result.html'
@@ -84,7 +85,7 @@
   @classmethod
   def test_logfile(cls, test_name, prog_kind, dir=None):
     relpath = os.path.join('log', '%s_%s.log' % (test_name, prog_kind))
-    return relpath if not dir else os.path.realpath(os.path.join(dir.decode(sys.getfilesystemencoding()), relpath.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding()))	
+    return relpath if not dir else os.path.realpath(path_join(dir, relpath))
 
   def _start(self):
     self._start_time = time.time()
@@ -194,13 +195,8 @@
     self.out.close()
 
   def _print_header(self):
-    tmp = list()
-    joined = ''
-    for item in self._prog.command:
-      tmp.append( item.decode(sys.getfilesystemencoding()))
-    joined = ' '.join(tmp).encode(sys.getfilesystemencoding())    
     self._print_date()
-    self.out.write('Executing: %s\n' % joined)
+    self.out.write('Executing: %s\n' % str_join(' ', self._prog.command))
     self.out.write('Directory: %s\n' % self._prog.workdir)
     self.out.write('config:delay: %s\n' % self._test.delay)
     self.out.write('config:timeout: %s\n' % self._test.timeout)