mirror of
				https://github.com/python/cpython.git
				synced 2025-11-01 06:01:29 +00:00 
			
		
		
		
	initial import of the packaging package in the standard library
This commit is contained in:
		
							parent
							
								
									566f8a646e
								
							
						
					
					
						commit
						1231a4e097
					
				
					 193 changed files with 30376 additions and 149 deletions
				
			
		
							
								
								
									
										132
									
								
								Lib/packaging/tests/test_unixccompiler.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								Lib/packaging/tests/test_unixccompiler.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,132 @@ | |||
| """Tests for packaging.unixccompiler.""" | ||||
| import sys | ||||
| 
 | ||||
| import sysconfig | ||||
| from packaging.compiler.unixccompiler import UnixCCompiler | ||||
| from packaging.tests import unittest | ||||
| 
 | ||||
| 
 | ||||
| class UnixCCompilerTestCase(unittest.TestCase): | ||||
| 
 | ||||
|     def setUp(self): | ||||
|         self._backup_platform = sys.platform | ||||
|         self._backup_get_config_var = sysconfig.get_config_var | ||||
| 
 | ||||
|         class CompilerWrapper(UnixCCompiler): | ||||
|             def rpath_foo(self): | ||||
|                 return self.runtime_library_dir_option('/foo') | ||||
|         self.cc = CompilerWrapper() | ||||
| 
 | ||||
|     def tearDown(self): | ||||
|         sys.platform = self._backup_platform | ||||
|         sysconfig.get_config_var = self._backup_get_config_var | ||||
| 
 | ||||
|     @unittest.skipIf(sys.platform == 'win32', 'irrelevant on win32') | ||||
|     def test_runtime_libdir_option(self): | ||||
| 
 | ||||
|         # Issue #5900: Ensure RUNPATH is added to extension | ||||
|         # modules with RPATH if GNU ld is used | ||||
| 
 | ||||
|         # darwin | ||||
|         sys.platform = 'darwin' | ||||
|         self.assertEqual(self.cc.rpath_foo(), '-L/foo') | ||||
| 
 | ||||
|         # hp-ux | ||||
|         sys.platform = 'hp-ux' | ||||
|         old_gcv = sysconfig.get_config_var | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             return 'xxx' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), ['+s', '-L/foo']) | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             return 'gcc' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), ['-Wl,+s', '-L/foo']) | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             return 'g++' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), ['-Wl,+s', '-L/foo']) | ||||
| 
 | ||||
|         sysconfig.get_config_var = old_gcv | ||||
| 
 | ||||
|         # irix646 | ||||
|         sys.platform = 'irix646' | ||||
|         self.assertEqual(self.cc.rpath_foo(), ['-rpath', '/foo']) | ||||
| 
 | ||||
|         # osf1V5 | ||||
|         sys.platform = 'osf1V5' | ||||
|         self.assertEqual(self.cc.rpath_foo(), ['-rpath', '/foo']) | ||||
| 
 | ||||
|         # GCC GNULD | ||||
|         sys.platform = 'bar' | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             if v == 'CC': | ||||
|                 return 'gcc' | ||||
|             elif v == 'GNULD': | ||||
|                 return 'yes' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), '-Wl,--enable-new-dtags,-R/foo') | ||||
| 
 | ||||
|         # GCC non-GNULD | ||||
|         sys.platform = 'bar' | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             if v == 'CC': | ||||
|                 return 'gcc' | ||||
|             elif v == 'GNULD': | ||||
|                 return 'no' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), '-Wl,-R/foo') | ||||
| 
 | ||||
|         # GCC GNULD with fully qualified configuration prefix | ||||
|         # see #7617 | ||||
|         sys.platform = 'bar' | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             if v == 'CC': | ||||
|                 return 'x86_64-pc-linux-gnu-gcc-4.4.2' | ||||
|             elif v == 'GNULD': | ||||
|                 return 'yes' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), '-Wl,--enable-new-dtags,-R/foo') | ||||
| 
 | ||||
|         # non-GCC GNULD | ||||
|         sys.platform = 'bar' | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             if v == 'CC': | ||||
|                 return 'cc' | ||||
|             elif v == 'GNULD': | ||||
|                 return 'yes' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), '-R/foo') | ||||
| 
 | ||||
|         # non-GCC non-GNULD | ||||
|         sys.platform = 'bar' | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             if v == 'CC': | ||||
|                 return 'cc' | ||||
|             elif v == 'GNULD': | ||||
|                 return 'no' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), '-R/foo') | ||||
| 
 | ||||
|         # AIX C/C++ linker | ||||
|         sys.platform = 'aix' | ||||
| 
 | ||||
|         def gcv(v): | ||||
|             return 'xxx' | ||||
|         sysconfig.get_config_var = gcv | ||||
|         self.assertEqual(self.cc.rpath_foo(), '-blibpath:/foo') | ||||
| 
 | ||||
| 
 | ||||
| def test_suite(): | ||||
|     return unittest.makeSuite(UnixCCompilerTestCase) | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     unittest.main(defaultTest="test_suite") | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Tarek Ziade
						Tarek Ziade