1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- """Tests for distutils.command.build."""
- import unittest
- import os
- import sys
- from test.support import run_unittest
- from distutils.command.build import build
- from distutils.tests import support
- from sysconfig import get_platform
- class BuildTestCase(support.TempdirManager,
- support.LoggingSilencer,
- 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
- plat_spec = '.%s-%d.%d' % (cmd.plat_name, *sys.version_info[:2])
- 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-%d.%d' % sys.version_info[:2])
- 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__":
- run_unittest(test_suite())
|