Tarek Ziadé | 15ccb3d | 2009-07-10 10:03:20 +0000 | [diff] [blame] | 1 | """Tests for distutils.command.build.""" |
| 2 | import unittest |
| 3 | import os |
| 4 | import sys |
Éric Araujo | 70ec44a | 2010-11-06 02:44:43 +0000 | [diff] [blame] | 5 | from test.support import run_unittest |
Tarek Ziadé | 15ccb3d | 2009-07-10 10:03:20 +0000 | [diff] [blame] | 6 | |
| 7 | from distutils.command.build import build |
| 8 | from distutils.tests import support |
Tarek Ziadé | edacea3 | 2010-01-29 11:41:03 +0000 | [diff] [blame] | 9 | from sysconfig import get_platform |
Tarek Ziadé | 15ccb3d | 2009-07-10 10:03:20 +0000 | [diff] [blame] | 10 | |
| 11 | class 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 | |
| 51 | def test_suite(): |
| 52 | return unittest.makeSuite(BuildTestCase) |
| 53 | |
| 54 | if __name__ == "__main__": |
Éric Araujo | 70ec44a | 2010-11-06 02:44:43 +0000 | [diff] [blame] | 55 | run_unittest(test_suite()) |