mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	Issue5143 notes that getpath.c and main.c pass a 'char*' where a 'wchar_t*' is expected on OSX.
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""
 | 
						|
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()
 |