summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/tests
diff options
context:
space:
mode:
authorTarek Ziadé <ziade.tarek@gmail.com>2009-06-03 11:17:15 (GMT)
committerTarek Ziadé <ziade.tarek@gmail.com>2009-06-03 11:17:15 (GMT)
commit68407219b75e618fcdfab2ba32f62e985cf1c28d (patch)
treec3a6913bc814946f54553739fb55a614d347a776 /Lib/distutils/tests
parente6ed2f9ea03af5caedf656945ad68141ffe34d5a (diff)
downloadcpython-68407219b75e618fcdfab2ba32f62e985cf1c28d.zip
cpython-68407219b75e618fcdfab2ba32f62e985cf1c28d.tar.gz
cpython-68407219b75e618fcdfab2ba32f62e985cf1c28d.tar.bz2
Merged revisions 73170 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r73170 | tarek.ziade | 2009-06-03 13:12:08 +0200 (Wed, 03 Jun 2009) | 1 line more cleanup and test coverage for distutils.extension ........
Diffstat (limited to 'Lib/distutils/tests')
-rwxr-xr-xLib/distutils/tests/test_extension.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/Lib/distutils/tests/test_extension.py b/Lib/distutils/tests/test_extension.py
index 1fcf0f5..1ee3058 100755
--- a/Lib/distutils/tests/test_extension.py
+++ b/Lib/distutils/tests/test_extension.py
@@ -1,8 +1,10 @@
"""Tests for distutils.extension."""
import unittest
import os
+import warnings
-from distutils.extension import read_setup_file
+from test.support import check_warnings
+from distutils.extension import read_setup_file, Extension
class ExtensionTestCase(unittest.TestCase):
@@ -28,6 +30,37 @@ class ExtensionTestCase(unittest.TestCase):
self.assertEquals(names, wanted)
+ def test_extension_init(self):
+ # the first argument, which is the name, must be a string
+ self.assertRaises(AssertionError, Extension, 1, [])
+ ext = Extension('name', [])
+ self.assertEquals(ext.name, 'name')
+
+ # the second argument, which is the list of files, must
+ # be a list of strings
+ self.assertRaises(AssertionError, Extension, 'name', 'file')
+ self.assertRaises(AssertionError, Extension, 'name', ['file', 1])
+ ext = Extension('name', ['file1', 'file2'])
+ self.assertEquals(ext.sources, ['file1', 'file2'])
+
+ # others arguments have defaults
+ for attr in ('include_dirs', 'define_macros', 'undef_macros',
+ 'library_dirs', 'libraries', 'runtime_library_dirs',
+ 'extra_objects', 'extra_compile_args', 'extra_link_args',
+ 'export_symbols', 'swig_opts', 'depends'):
+ self.assertEquals(getattr(ext, attr), [])
+
+ self.assertEquals(ext.language, None)
+ self.assertEquals(ext.optional, None)
+
+ # if there are unknown keyword options, warn about them
+ with check_warnings() as w:
+ warnings.simplefilter('always')
+ ext = Extension('name', ['file1', 'file2'], chic=True)
+
+ self.assertEquals(len(w.warnings), 1)
+ self.assertEquals(str(w.warnings[0].message),
+ "Unknown Extension options: 'chic'")
def test_suite():
return unittest.makeSuite(ExtensionTestCase)