diff options
Diffstat (limited to 'QMTest')
-rw-r--r-- | QMTest/TestCmd.py | 56 | ||||
-rw-r--r-- | QMTest/TestCommon.py | 3 | ||||
-rw-r--r-- | QMTest/TestRuntest.py | 5 | ||||
-rw-r--r-- | QMTest/TestSCons.py | 2 | ||||
-rw-r--r-- | QMTest/TestSCons_time.py | 13 |
5 files changed, 29 insertions, 50 deletions
diff --git a/QMTest/TestCmd.py b/QMTest/TestCmd.py index e715acc..0d07be6 100644 --- a/QMTest/TestCmd.py +++ b/QMTest/TestCmd.py @@ -253,7 +253,8 @@ __all__ = [ 'match_exact', 'match_re', 'match_re_dotall', - 'python_executable', + 'python', + '_python_', 'TestCmd' ] @@ -512,13 +513,31 @@ def diff_re(a, b, fromfile='', tofile='', i = i+1 return result -if os.name == 'java': - - python_executable = os.path.join(sys.prefix, 'jython') - +if os.name == 'posix': + def escape(arg): + "escape shell special characters" + slash = '\\' + special = '"$' + arg = arg.replace(slash, slash+slash) + for c in special: + arg = arg.replace(c, slash+c) + if re_space.search(arg): + arg = '"' + arg + '"' + return arg else: + # Windows does not allow special characters in file names + # anyway, so no need for an escape function, we will just quote + # the arg. + def escape(arg): + if re_space.search(arg): + arg = '"' + arg + '"' + return arg - python_executable = sys.executable +if os.name == 'java': + python = os.path.join(sys.prefix, 'jython') +else: + python = os.environ.get("python_executable", sys.executable) +_python_ = escape(python) if sys.platform == 'win32': @@ -913,30 +932,7 @@ class TestCmd(object): width = self.banner_width return s + self.banner_char * (width - len(s)) - if os.name == 'posix': - - def escape(self, arg): - "escape shell special characters" - slash = '\\' - special = '"$' - - arg = arg.replace(slash, slash+slash) - for c in special: - arg = arg.replace(c, slash+c) - - if re_space.search(arg): - arg = '"' + arg + '"' - return arg - - else: - - # Windows does not allow special characters in file names - # anyway, so no need for an escape function, we will just quote - # the arg. - def escape(self, arg): - if re_space.search(arg): - arg = '"' + arg + '"' - return arg + escape = staticmethod(escape) def canonicalize(self, path): if is_List(path): diff --git a/QMTest/TestCommon.py b/QMTest/TestCommon.py index 6b452f7..0bc2429 100644 --- a/QMTest/TestCommon.py +++ b/QMTest/TestCommon.py @@ -60,7 +60,8 @@ provided by the TestCommon class: The TestCommon module also provides the following variables - TestCommon.python_executable + TestCommon.python + TestCommon._python_ TestCommon.exe_suffix TestCommon.obj_suffix TestCommon.shobj_prefix diff --git a/QMTest/TestRuntest.py b/QMTest/TestRuntest.py index 11f8ab2..c8b5893 100644 --- a/QMTest/TestRuntest.py +++ b/QMTest/TestRuntest.py @@ -26,14 +26,9 @@ from TestCommon import * from TestCommon import __all__ __all__.extend([ 'TestRuntest', - 'python', 'pythonstring', - '_python_', ]) -python = python_executable -_python_ = '"' + python_executable + '"' - if re.search('\s', python): pythonstring = _python_ else: diff --git a/QMTest/TestSCons.py b/QMTest/TestSCons.py index fa3163b..a8bfd46 100644 --- a/QMTest/TestSCons.py +++ b/QMTest/TestSCons.py @@ -73,8 +73,6 @@ else: machine = uname()[4] machine = machine_map.get(machine, machine) -python = python_executable -_python_ = '"' + python_executable + '"' _exe = exe_suffix _obj = obj_suffix _shobj = shobj_suffix diff --git a/QMTest/TestSCons_time.py b/QMTest/TestSCons_time.py index e846ab5..ce9e0df 100644 --- a/QMTest/TestSCons_time.py +++ b/QMTest/TestSCons_time.py @@ -22,20 +22,9 @@ import sys from TestCommon import * from TestCommon import __all__ -__all__.extend([ 'TestSCons', - 'python', - '_exe', - '_obj', - '_shobj', - 'lib_', - '_lib', - 'dll_', - '_dll' +__all__.extend([ 'TestSCons_time', ]) -python = python_executable -_python_ = '"' + python_executable + '"' - SConstruct = """\ import os print "SConstruct file directory:", os.getcwd() |