[pypy-svn] r75267 - in pypy/trunk/pypy/translator/platform: . test

afa at codespeak.net afa at codespeak.net
Fri Jun 11 15:08:22 CEST 2010


Author: afa
Date: Fri Jun 11 15:08:21 2010
New Revision: 75267

Modified:
   pypy/trunk/pypy/translator/platform/__init__.py
   pypy/trunk/pypy/translator/platform/test/test_platform.py
Log:
on Windows, fix some tests in the platform package


Modified: pypy/trunk/pypy/translator/platform/__init__.py
==============================================================================
--- pypy/trunk/pypy/translator/platform/__init__.py	(original)
+++ pypy/trunk/pypy/translator/platform/__init__.py	Fri Jun 11 15:08:21 2010
@@ -62,9 +62,20 @@
     def execute(self, executable, args=None, env=None, compilation_info=None):
         if env is None:
             env = os.environ.copy()
-        if compilation_info is not None:
+        else:
+            env = env.copy()
+
+        # On Windows, %SystemRoot% must be present for most programs to start
+        if (os.name == 'nt' and
+            "SystemRoot" not in env and
+            "SystemRoot" in os.environ):
+            env["SystemRoot"] = os.environ["SystemRoot"]
+
+        # Set LD_LIBRARY_PATH on posix platforms
+        if os.name == 'posix' and compilation_info is not None:
             env['LD_LIBRARY_PATH'] = ':'.join(
                 [str(i) for i in compilation_info.library_dirs])
+
         returncode, stdout, stderr = _run_subprocess(str(executable), args,
                                                      env)
         return ExecutionResult(returncode, stdout, stderr)

Modified: pypy/trunk/pypy/translator/platform/test/test_platform.py
==============================================================================
--- pypy/trunk/pypy/translator/platform/test/test_platform.py	(original)
+++ pypy/trunk/pypy/translator/platform/test/test_platform.py	Fri Jun 11 15:08:21 2010
@@ -113,7 +113,7 @@
     def test_environment_inheritance(self):
         # make sure that environment is inherited
         cmd = 'import os; print os.environ["_SOME_VARIABLE_%d"]'
-        res = self.platform.execute('python', ['-c', cmd % 1],
+        res = self.platform.execute(sys.executable, ['-c', cmd % 1],
                                     env={'_SOME_VARIABLE_1':'xyz'})
         assert 'xyz' in res.out
         os.environ['_SOME_VARIABLE_2'] = 'zyz'



More information about the Pypy-commit mailing list