You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.9 KiB
Python
57 lines
1.9 KiB
Python
3 weeks ago
|
"""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())
|