summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2009-02-12 15:55:38 (GMT)
committerRonald Oussoren <ronaldoussoren@mac.com>2009-02-12 15:55:38 (GMT)
commit3e264e13ede4c3c067dd30052aa0f1e7298342d2 (patch)
tree4b47a8cb5e4227ab41fc91d2a1f89d373ca1bc88 /Lib/test
parent50987bce063bd8ae183a327b0de4c402e4a1a774 (diff)
downloadcpython-3e264e13ede4c3c067dd30052aa0f1e7298342d2.zip
cpython-3e264e13ede4c3c067dd30052aa0f1e7298342d2.tar.gz
cpython-3e264e13ede4c3c067dd30052aa0f1e7298342d2.tar.bz2
This fixes issue5143 and includes a test.
Issue5143 notes that getpath.c and main.c pass a 'char*' where a 'wchar_t*' is expected on OSX.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_osx_env.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/Lib/test/test_osx_env.py b/Lib/test/test_osx_env.py
new file mode 100644
index 0000000..5b3f3e1
--- /dev/null
+++ b/Lib/test/test_osx_env.py
@@ -0,0 +1,34 @@
+"""
+Test suite for OS X interpreter environment variables.
+"""
+
+from test.support import EnvironmentVarGuard, run_unittest
+import subprocess
+import sys
+import unittest
+
+class OSXEnvironmentVariableTestCase(unittest.TestCase):
+ def _check_sys(self, ev, cond, sv, val = '/some/path/to/python'):
+ with EnvironmentVarGuard() as evg:
+ subpc = [str(sys.executable), '-c',
+ 'import sys; sys.exit(2 if "%s" %s %s else 3)' % (val, cond, sv)]
+ # ensure environment variable does not exist
+ evg.unset(ev)
+ # test that test on sys.xxx normally fails
+ rc = subprocess.call(subpc)
+ self.assertEqual(rc, 3, "expected %s not %s %s" % (ev, cond, sv))
+ # set environ variable
+ evg.set(ev, val)
+ # test that sys.xxx has been influenced by the environ value
+ rc = subprocess.call(subpc)
+ self.assertEqual(rc, 2, "expected %s %s %s" % (ev, cond, sv))
+
+ def test_pythonexecutable_sets_sys_executable(self):
+ self._check_sys('PYTHONEXECUTABLE', '==', 'sys.executable')
+
+def test_main():
+ if sys.platform == 'darwin':
+ run_unittest(OSXEnvironmentVariableTestCase)
+
+if __name__ == "__main__":
+ test_main()