]>
Commit | Line | Data |
---|---|---|
4710c53d | 1 | """Tests for distutils.command.build."""\r |
2 | import unittest\r | |
3 | import os\r | |
4 | import sys\r | |
5 | from test.test_support import run_unittest\r | |
6 | \r | |
7 | from distutils.command.build import build\r | |
8 | from distutils.tests import support\r | |
9 | from sysconfig import get_platform\r | |
10 | \r | |
11 | class BuildTestCase(support.TempdirManager,\r | |
12 | support.LoggingSilencer,\r | |
13 | unittest.TestCase):\r | |
14 | \r | |
15 | def test_finalize_options(self):\r | |
16 | pkg_dir, dist = self.create_dist()\r | |
17 | cmd = build(dist)\r | |
18 | cmd.finalize_options()\r | |
19 | \r | |
20 | # if not specified, plat_name gets the current platform\r | |
21 | self.assertEqual(cmd.plat_name, get_platform())\r | |
22 | \r | |
23 | # build_purelib is build + lib\r | |
24 | wanted = os.path.join(cmd.build_base, 'lib')\r | |
25 | self.assertEqual(cmd.build_purelib, wanted)\r | |
26 | \r | |
27 | # build_platlib is 'build/lib.platform-x.x[-pydebug]'\r | |
28 | # examples:\r | |
29 | # build/lib.macosx-10.3-i386-2.7\r | |
30 | plat_spec = '.%s-%s' % (cmd.plat_name, sys.version[0:3])\r | |
31 | if hasattr(sys, 'gettotalrefcount'):\r | |
32 | self.assertTrue(cmd.build_platlib.endswith('-pydebug'))\r | |
33 | plat_spec += '-pydebug'\r | |
34 | wanted = os.path.join(cmd.build_base, 'lib' + plat_spec)\r | |
35 | self.assertEqual(cmd.build_platlib, wanted)\r | |
36 | \r | |
37 | # by default, build_lib = build_purelib\r | |
38 | self.assertEqual(cmd.build_lib, cmd.build_purelib)\r | |
39 | \r | |
40 | # build_temp is build/temp.<plat>\r | |
41 | wanted = os.path.join(cmd.build_base, 'temp' + plat_spec)\r | |
42 | self.assertEqual(cmd.build_temp, wanted)\r | |
43 | \r | |
44 | # build_scripts is build/scripts-x.x\r | |
45 | wanted = os.path.join(cmd.build_base, 'scripts-' + sys.version[0:3])\r | |
46 | self.assertEqual(cmd.build_scripts, wanted)\r | |
47 | \r | |
48 | # executable is os.path.normpath(sys.executable)\r | |
49 | self.assertEqual(cmd.executable, os.path.normpath(sys.executable))\r | |
50 | \r | |
51 | def test_suite():\r | |
52 | return unittest.makeSuite(BuildTestCase)\r | |
53 | \r | |
54 | if __name__ == "__main__":\r | |
55 | run_unittest(test_suite())\r |