<s> """<STR_LIT>""" <EOL> import os <EOL> import platform <EOL> import shutil <EOL> import stat <EOL> import sys <EOL> import unittest <EOL> import test . test_support <EOL> import _osx_support <EOL> @ unittest . skipUnless ( sys . platform . startswith ( "<STR_LIT>" ) , "<STR_LIT>" ) <EOL> class Test_OSXSupport ( unittest . TestCase ) : <EOL> def setUp ( self ) : <EOL> self . maxDiff = None <EOL> self . prog_name = '<STR_LIT>' <EOL> self . temp_path_dir = os . path . abspath ( os . getcwd ( ) ) <EOL> self . env = test . test_support . EnvironmentVarGuard ( ) <EOL> self . addCleanup ( self . env . __exit__ ) <EOL> for cv in ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' ) : <EOL> if cv in self . env : <EOL> self . env . unset ( cv ) <EOL> def add_expected_saved_initial_values ( self , config_vars , expected_vars ) : <EOL> expected_vars . update ( ( '<STR_LIT>' + k , <EOL> config_vars [ k ] ) for k in config_vars <EOL> if config_vars [ k ] != expected_vars [ k ] ) <EOL> def test__find_executable ( self ) : <EOL> if self . env [ '<STR_LIT>' ] : <EOL> self . env [ '<STR_LIT>' ] = self . env [ '<STR_LIT>' ] + '<STR_LIT::>' <EOL> self . env [ '<STR_LIT>' ] = self . env [ '<STR_LIT>' ] + os . path . abspath ( self . temp_path_dir ) <EOL> test . test_support . unlink ( self . prog_name ) <EOL> self . assertIsNone ( _osx_support . _find_executable ( self . prog_name ) ) <EOL> self . addCleanup ( test . test_support . unlink , self . prog_name ) <EOL> with open ( self . prog_name , '<STR_LIT:w>' ) as f : <EOL> f . write ( "<STR_LIT>" ) <EOL> os . chmod ( self . prog_name , stat . S_IRWXU ) <EOL> self . assertEqual ( self . prog_name , <EOL> _osx_support . _find_executable ( self . prog_name ) ) <EOL> def test__read_output ( self ) : <EOL> if self . env [ '<STR_LIT>' ] : <EOL> self . env [ '<STR_LIT>' ] = self . env [ '<STR_LIT>' ] + '<STR_LIT::>' <EOL> self . env [ '<STR_LIT>' ] = self . env [ '<STR_LIT>' ] + os . path . abspath ( self . temp_path_dir ) <EOL> test . test_support . unlink ( self . prog_name ) <EOL> self . addCleanup ( test . test_support . unlink , self . prog_name ) <EOL> with open ( self . prog_name , '<STR_LIT:w>' ) as f : <EOL> f . write ( "<STR_LIT>" ) <EOL> os . chmod ( self . prog_name , stat . S_IRWXU ) <EOL> self . assertEqual ( '<STR_LIT>' , <EOL> _osx_support . _read_output ( self . prog_name ) ) <EOL> def test__find_build_tool ( self ) : <EOL> out = _osx_support . _find_build_tool ( '<STR_LIT>' ) <EOL> self . assertTrue ( os . path . isfile ( out ) , <EOL> '<STR_LIT>' ) <EOL> def test__get_system_version ( self ) : <EOL> self . assertTrue ( platform . mac_ver ( ) [ <NUM_LIT:0> ] . startswith ( <EOL> _osx_support . _get_system_version ( ) ) ) <EOL> def test__remove_original_values ( self ) : <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> expected_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> cv = '<STR_LIT>' <EOL> newvalue = '<STR_LIT>' <EOL> _osx_support . _save_modified_value ( config_vars , cv , newvalue ) <EOL> self . assertNotEqual ( expected_vars , config_vars ) <EOL> _osx_support . _remove_original_values ( config_vars ) <EOL> self . assertEqual ( expected_vars , config_vars ) <EOL> def test__save_modified_value ( self ) : <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> expected_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> self . add_expected_saved_initial_values ( config_vars , expected_vars ) <EOL> cv = '<STR_LIT>' <EOL> newvalue = '<STR_LIT>' <EOL> _osx_support . _save_modified_value ( config_vars , cv , newvalue ) <EOL> self . assertEqual ( expected_vars , config_vars ) <EOL> def test__save_modified_value_unchanged ( self ) : <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> expected_vars = config_vars . copy ( ) <EOL> cv = '<STR_LIT>' <EOL> newvalue = '<STR_LIT>' <EOL> _osx_support . _save_modified_value ( config_vars , cv , newvalue ) <EOL> self . assertEqual ( expected_vars , config_vars ) <EOL> def test__supports_universal_builds ( self ) : <EOL> import platform <EOL> mac_ver_tuple = tuple ( int ( i ) for i in <EOL> platform . mac_ver ( ) [ <NUM_LIT:0> ] . split ( '<STR_LIT:.>' ) [ <NUM_LIT:0> : <NUM_LIT:2> ] ) <EOL> self . assertEqual ( mac_ver_tuple >= ( <NUM_LIT:10> , <NUM_LIT:4> ) , <EOL> _osx_support . _supports_universal_builds ( ) ) <EOL> def test__find_appropriate_compiler ( self ) : <EOL> compilers = ( <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ) <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> expected_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> self . add_expected_saved_initial_values ( config_vars , expected_vars ) <EOL> suffix = ( '<STR_LIT::>' + self . env [ '<STR_LIT>' ] ) if self . env [ '<STR_LIT>' ] else '<STR_LIT>' <EOL> self . env [ '<STR_LIT>' ] = os . path . abspath ( self . temp_path_dir ) + suffix <EOL> for c_name , c_output in compilers : <EOL> test . test_support . unlink ( c_name ) <EOL> self . addCleanup ( test . test_support . unlink , c_name ) <EOL> with open ( c_name , '<STR_LIT:w>' ) as f : <EOL> f . write ( "<STR_LIT>" + c_output ) <EOL> os . chmod ( c_name , stat . S_IRWXU ) <EOL> self . assertEqual ( expected_vars , <EOL> _osx_support . _find_appropriate_compiler ( <EOL> config_vars ) ) <EOL> def test__remove_universal_flags ( self ) : <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> expected_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> self . add_expected_saved_initial_values ( config_vars , expected_vars ) <EOL> self . assertEqual ( expected_vars , <EOL> _osx_support . _remove_universal_flags ( <EOL> config_vars ) ) <EOL> def test__remove_unsupported_archs ( self ) : <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> expected_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> self . add_expected_saved_initial_values ( config_vars , expected_vars ) <EOL> suffix = ( '<STR_LIT::>' + self . env [ '<STR_LIT>' ] ) if self . env [ '<STR_LIT>' ] else '<STR_LIT>' <EOL> self . env [ '<STR_LIT>' ] = os . path . abspath ( self . temp_path_dir ) + suffix <EOL> c_name = '<STR_LIT>' <EOL> test . test_support . unlink ( c_name ) <EOL> self . addCleanup ( test . test_support . unlink , c_name ) <EOL> with open ( c_name , '<STR_LIT:w>' ) as f : <EOL> f . write ( "<STR_LIT>" ) <EOL> os . chmod ( c_name , stat . S_IRWXU ) <EOL> self . assertEqual ( expected_vars , <EOL> _osx_support . _remove_unsupported_archs ( <EOL> config_vars ) ) <EOL> def test__override_all_archs ( self ) : <EOL> self . env [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> expected_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> self . add_expected_saved_initial_values ( config_vars , expected_vars ) <EOL> self . assertEqual ( expected_vars , <EOL> _osx_support . _override_all_archs ( <EOL> config_vars ) ) <EOL> def test__check_for_unavailable_sdk ( self ) : <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> expected_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT:U+0020>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> } <EOL> self . add_expected_saved_initial_values ( config_vars , expected_vars ) <EOL> self . assertEqual ( expected_vars , <EOL> _osx_support . _check_for_unavailable_sdk ( <EOL> config_vars ) ) <EOL> def test_get_platform_osx ( self ) : <EOL> config_vars = { <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> result = _osx_support . get_platform_osx ( config_vars , '<STR_LIT:U+0020>' , '<STR_LIT:U+0020>' , '<STR_LIT:U+0020>' ) <EOL> self . assertEqual ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , result ) <EOL> def test_main ( ) : <EOL> if sys . platform == '<STR_LIT>' : <EOL> test . test_support . run_unittest ( Test_OSXSupport ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> test_main ( ) </s>
