[Python-checkins] r72390 - in python/branches/py3k: Lib/distutils/tests/test_build_clib.py

tarek.ziade python-checkins at python.org
Wed May 6 10:08:26 CEST 2009


Author: tarek.ziade
Date: Wed May  6 10:08:26 2009
New Revision: 72390

Log:
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
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/distutils/tests/test_build_clib.py

Modified: python/branches/py3k/Lib/distutils/tests/test_build_clib.py
==============================================================================
--- python/branches/py3k/Lib/distutils/tests/test_build_clib.py	(original)
+++ python/branches/py3k/Lib/distutils/tests/test_build_clib.py	Wed May  6 10:08:26 2009
@@ -39,6 +39,63 @@
         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)


More information about the Python-checkins mailing list