mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 9f90a731eb
			
		
	
	
		9f90a731eb
		
	
	
	
	
		
			
			The contents of this attribute are an implementation detail, as documented for #9442, so we should not parse it, to support non-CPython VMs with distutils2 in the future. Unfortunately, one use comes directly from PEP 345, so an edit will have to be agreed before fixing the code (see comment in p7g.markers). Other remaining uses are found in p7g.compiler and could be replaced by the platform module (which also parses sys.version, but then it wouldn’t be my fault :)
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Tests for distutils.command.build."""
 | |
| import os
 | |
| import sys
 | |
| 
 | |
| from packaging.command.build import build
 | |
| from sysconfig import get_platform
 | |
| from packaging.tests import unittest, support
 | |
| 
 | |
| 
 | |
| class BuildTestCase(support.TempdirManager,
 | |
|                     support.LoggingCatcher,
 | |
|                     unittest.TestCase):
 | |
| 
 | |
|     def test_finalize_options(self):
 | |
|         pkg_dir, dist = self.create_dist()
 | |
|         cmd = build(dist)
 | |
|         cmd.finalize_options()
 | |
| 
 | |
|         # if not specified, plat_name gets the current platform
 | |
|         self.assertEqual(cmd.plat_name, get_platform())
 | |
| 
 | |
|         # build_purelib is build + lib
 | |
|         wanted = os.path.join(cmd.build_base, 'lib')
 | |
|         self.assertEqual(cmd.build_purelib, wanted)
 | |
| 
 | |
|         # build_platlib is 'build/lib.platform-x.x[-pydebug]'
 | |
|         # examples:
 | |
|         #   build/lib.macosx-10.3-i386-2.7
 | |
|         pyversion = '%s.%s' % sys.version_info[:2]
 | |
|         plat_spec = '.%s-%s' % (cmd.plat_name, pyversion)
 | |
|         if hasattr(sys, 'gettotalrefcount'):
 | |
|             self.assertTrue(cmd.build_platlib.endswith('-pydebug'))
 | |
|             plat_spec += '-pydebug'
 | |
|         wanted = os.path.join(cmd.build_base, 'lib' + plat_spec)
 | |
|         self.assertEqual(cmd.build_platlib, wanted)
 | |
| 
 | |
|         # by default, build_lib = build_purelib
 | |
|         self.assertEqual(cmd.build_lib, cmd.build_purelib)
 | |
| 
 | |
|         # build_temp is build/temp.<plat>
 | |
|         wanted = os.path.join(cmd.build_base, 'temp' + plat_spec)
 | |
|         self.assertEqual(cmd.build_temp, wanted)
 | |
| 
 | |
|         # build_scripts is build/scripts-x.x
 | |
|         wanted = os.path.join(cmd.build_base, 'scripts-' + pyversion)
 | |
|         self.assertEqual(cmd.build_scripts, wanted)
 | |
| 
 | |
|         # executable is os.path.normpath(sys.executable)
 | |
|         self.assertEqual(cmd.executable, os.path.normpath(sys.executable))
 | |
| 
 | |
| 
 | |
| def test_suite():
 | |
|     return unittest.makeSuite(BuildTestCase)
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     unittest.main(defaultTest="test_suite")
 |