blob: 9f0e0ad23c8f63552d684b6df65da3c46416a03d [file] [log] [blame]
Tarek Ziadé15ccb3d2009-07-10 10:03:20 +00001"""Tests for distutils.command.build."""
2import unittest
3import os
4import sys
Éric Araujo70ec44a2010-11-06 02:44:43 +00005from test.support import run_unittest
Tarek Ziadé15ccb3d2009-07-10 10:03:20 +00006
7from distutils.command.build import build
8from distutils.tests import support
Tarek Ziadéedacea32010-01-29 11:41:03 +00009from sysconfig import get_platform
Tarek Ziadé15ccb3d2009-07-10 10:03:20 +000010
11class BuildTestCase(support.TempdirManager,
12 support.LoggingSilencer,
13 unittest.TestCase):
14
15 def test_finalize_options(self):
16 pkg_dir, dist = self.create_dist()
17 cmd = build(dist)
18 cmd.finalize_options()
19
20 # if not specified, plat_name gets the current platform
21 self.assertEquals(cmd.plat_name, get_platform())
22
23 # build_purelib is build + lib
24 wanted = os.path.join(cmd.build_base, 'lib')
25 self.assertEquals(cmd.build_purelib, wanted)
26
27 # build_platlib is 'build/lib.platform-x.x[-pydebug]'
28 # examples:
29 # build/lib.macosx-10.3-i386-2.7
30 plat_spec = '.%s-%s' % (cmd.plat_name, sys.version[0:3])
31 if hasattr(sys, 'gettotalrefcount'):
32 self.assertTrue(cmd.build_platlib.endswith('-pydebug'))
33 plat_spec += '-pydebug'
34 wanted = os.path.join(cmd.build_base, 'lib' + plat_spec)
35 self.assertEquals(cmd.build_platlib, wanted)
36
37 # by default, build_lib = build_purelib
38 self.assertEquals(cmd.build_lib, cmd.build_purelib)
39
40 # build_temp is build/temp.<plat>
41 wanted = os.path.join(cmd.build_base, 'temp' + plat_spec)
42 self.assertEquals(cmd.build_temp, wanted)
43
44 # build_scripts is build/scripts-x.x
45 wanted = os.path.join(cmd.build_base, 'scripts-' + sys.version[0:3])
46 self.assertEquals(cmd.build_scripts, wanted)
47
48 # executable is os.path.normpath(sys.executable)
49 self.assertEquals(cmd.executable, os.path.normpath(sys.executable))
50
51def test_suite():
52 return unittest.makeSuite(BuildTestCase)
53
54if __name__ == "__main__":
Éric Araujo70ec44a2010-11-06 02:44:43 +000055 run_unittest(test_suite())