diff options
author | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-05-06 08:08:26 (GMT) |
---|---|---|
committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-05-06 08:08:26 (GMT) |
commit | 0e53397ab92815d5fd0fd8582fb2dec7670edef8 (patch) | |
tree | ae0ae0790ef45075270bb0489023d4b283c4af02 | |
parent | 5a607a3ee5e81bdcef3f886f9d20c1376a533df4 (diff) | |
download | cpython-0e53397ab92815d5fd0fd8582fb2dec7670edef8.zip cpython-0e53397ab92815d5fd0fd8582fb2dec7670edef8.tar.gz cpython-0e53397ab92815d5fd0fd8582fb2dec7670edef8.tar.bz2 |
Merged revisions 72388 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72388 | tarek.ziade | 2009-05-06 10:05:47 +0200 (Wed, 06 May 2009) | 1 line
more build_clib cleanup + test coverage
........
-rw-r--r-- | Lib/distutils/tests/test_build_clib.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Lib/distutils/tests/test_build_clib.py b/Lib/distutils/tests/test_build_clib.py index 36c07b7..7374c49 100644 --- a/Lib/distutils/tests/test_build_clib.py +++ b/Lib/distutils/tests/test_build_clib.py @@ -39,6 +39,63 @@ class BuildCLibTestCase(support.TempdirManager, libs = [('name', {}), ('name', {'ok': 'good'})] cmd.check_library_list(libs) + def test_get_source_files(self): + pkg_dir, dist = self.create_dist() + cmd = build_clib(dist) + + # "in 'libraries' option 'sources' must be present and must be + # a list of source filenames + cmd.libraries = [('name', {})] + self.assertRaises(DistutilsSetupError, cmd.get_source_files) + + cmd.libraries = [('name', {'sources': 1})] + self.assertRaises(DistutilsSetupError, cmd.get_source_files) + + cmd.libraries = [('name', {'sources': ['a', 'b']})] + self.assertEquals(cmd.get_source_files(), ['a', 'b']) + + cmd.libraries = [('name', {'sources': ('a', 'b')})] + self.assertEquals(cmd.get_source_files(), ['a', 'b']) + + cmd.libraries = [('name', {'sources': ('a', 'b')}), + ('name2', {'sources': ['c', 'd']})] + self.assertEquals(cmd.get_source_files(), ['a', 'b', 'c', 'd']) + + def test_build_libraries(self): + + pkg_dir, dist = self.create_dist() + cmd = build_clib(dist) + class FakeCompiler: + def compile(*args, **kw): + pass + create_static_lib = compile + + cmd.compiler = FakeCompiler() + + # build_libraries is also doing a bit of typoe checking + lib = [('name', {'sources': 'notvalid'})] + self.assertRaises(DistutilsSetupError, cmd.build_libraries, lib) + + lib = [('name', {'sources': list()})] + cmd.build_libraries(lib) + + lib = [('name', {'sources': tuple()})] + cmd.build_libraries(lib) + + def test_finalize_options(self): + pkg_dir, dist = self.create_dist() + cmd = build_clib(dist) + + cmd.include_dirs = 'one-dir' + cmd.finalize_options() + self.assertEquals(cmd.include_dirs, ['one-dir']) + + cmd.include_dirs = None + cmd.finalize_options() + self.assertEquals(cmd.include_dirs, []) + + cmd.distribution.libraries = 'WONTWORK' + self.assertRaises(DistutilsSetupError, cmd.finalize_options) def test_suite(): return unittest.makeSuite(BuildCLibTestCase) |