These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Tests for distutils.ccompiler."""
 | |
| import os
 | |
| import unittest
 | |
| from test.test_support import captured_stdout
 | |
| 
 | |
| from distutils.ccompiler import (gen_lib_options, CCompiler,
 | |
|                                  get_default_compiler, customize_compiler)
 | |
| from distutils import debug
 | |
| from distutils.tests import support
 | |
| 
 | |
| class FakeCompiler(object):
 | |
|     def library_dir_option(self, dir):
 | |
|         return "-L" + dir
 | |
| 
 | |
|     def runtime_library_dir_option(self, dir):
 | |
|         return ["-cool", "-R" + dir]
 | |
| 
 | |
|     def find_library_file(self, dirs, lib, debug=0):
 | |
|         return 'found'
 | |
| 
 | |
|     def library_option(self, lib):
 | |
|         return "-l" + lib
 | |
| 
 | |
| class CCompilerTestCase(support.EnvironGuard, unittest.TestCase):
 | |
| 
 | |
|     def test_gen_lib_options(self):
 | |
|         compiler = FakeCompiler()
 | |
|         libdirs = ['lib1', 'lib2']
 | |
|         runlibdirs = ['runlib1']
 | |
|         libs = [os.path.join('dir', 'name'), 'name2']
 | |
| 
 | |
|         opts = gen_lib_options(compiler, libdirs, runlibdirs, libs)
 | |
|         wanted = ['-Llib1', '-Llib2', '-cool', '-Rrunlib1', 'found',
 | |
|                   '-lname2']
 | |
|         self.assertEqual(opts, wanted)
 | |
| 
 | |
|     def test_debug_print(self):
 | |
| 
 | |
|         class MyCCompiler(CCompiler):
 | |
|             executables = {}
 | |
| 
 | |
|         compiler = MyCCompiler()
 | |
|         with captured_stdout() as stdout:
 | |
|             compiler.debug_print('xxx')
 | |
|         stdout.seek(0)
 | |
|         self.assertEqual(stdout.read(), '')
 | |
| 
 | |
|         debug.DEBUG = True
 | |
|         try:
 | |
|             with captured_stdout() as stdout:
 | |
|                 compiler.debug_print('xxx')
 | |
|             stdout.seek(0)
 | |
|             self.assertEqual(stdout.read(), 'xxx\n')
 | |
|         finally:
 | |
|             debug.DEBUG = False
 | |
| 
 | |
|     def test_customize_compiler(self):
 | |
| 
 | |
|         # not testing if default compiler is not unix
 | |
|         if get_default_compiler() != 'unix':
 | |
|             return
 | |
| 
 | |
|         os.environ['AR'] = 'my_ar'
 | |
|         os.environ['ARFLAGS'] = '-arflags'
 | |
| 
 | |
|         # make sure AR gets caught
 | |
|         class compiler:
 | |
|             compiler_type = 'unix'
 | |
| 
 | |
|             def set_executables(self, **kw):
 | |
|                 self.exes = kw
 | |
| 
 | |
|         comp = compiler()
 | |
|         customize_compiler(comp)
 | |
|         self.assertEqual(comp.exes['archiver'], 'my_ar -arflags')
 | |
| 
 | |
| def test_suite():
 | |
|     return unittest.makeSuite(CCompilerTestCase)
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     unittest.main(defaultTest="test_suite")
 |