summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/tests/test_build_ext.py
diff options
context:
space:
mode:
authorTarek Ziadé <ziade.tarek@gmail.com>2009-03-31 22:27:23 (GMT)
committerTarek Ziadé <ziade.tarek@gmail.com>2009-03-31 22:27:23 (GMT)
commit9e47ce49a06075adbc391e04b4457707fa3892a7 (patch)
tree3f45fb5a324e9dae28b8429510fca186c0716247 /Lib/distutils/tests/test_build_ext.py
parent42f9b4e5b4fff45ef4a071112787de6b29a5099a (diff)
downloadcpython-9e47ce49a06075adbc391e04b4457707fa3892a7.zip
cpython-9e47ce49a06075adbc391e04b4457707fa3892a7.tar.gz
cpython-9e47ce49a06075adbc391e04b4457707fa3892a7.tar.bz2
#5583 Added optional Extensions in Distutils
Diffstat (limited to 'Lib/distutils/tests/test_build_ext.py')
-rw-r--r--Lib/distutils/tests/test_build_ext.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py
index ff60c12..a27696d 100644
--- a/Lib/distutils/tests/test_build_ext.py
+++ b/Lib/distutils/tests/test_build_ext.py
@@ -8,6 +8,8 @@ from distutils.core import Extension, Distribution
from distutils.command.build_ext import build_ext
from distutils import sysconfig
from distutils.tests import support
+from distutils.extension import Extension
+from distutils.errors import UnknownFileError
import unittest
from test import test_support
@@ -20,7 +22,9 @@ def _get_source_filename():
srcdir = sysconfig.get_config_var('srcdir')
return os.path.join(srcdir, 'Modules', 'xxmodule.c')
-class BuildExtTestCase(support.TempdirManager, unittest.TestCase):
+class BuildExtTestCase(support.TempdirManager,
+ support.LoggingSilencer,
+ unittest.TestCase):
def setUp(self):
# Create a simple test environment
# Note that we're making changes to sys.path
@@ -142,6 +146,22 @@ class BuildExtTestCase(support.TempdirManager, unittest.TestCase):
self.assert_(lib in cmd.library_dirs)
self.assert_(incl in cmd.include_dirs)
+ def test_optional_extension(self):
+
+ # this extension will fail, but let's ignore this failure
+ # with the optional argument.
+ modules = [Extension('foo', ['xxx'], optional=False)]
+ dist = Distribution({'name': 'xx', 'ext_modules': modules})
+ cmd = build_ext(dist)
+ cmd.ensure_finalized()
+ self.assertRaises(UnknownFileError, cmd.run) # should raise an error
+
+ modules = [Extension('foo', ['xxx'], optional=True)]
+ dist = Distribution({'name': 'xx', 'ext_modules': modules})
+ cmd = build_ext(dist)
+ cmd.ensure_finalized()
+ cmd.run() # should pass
+
def test_suite():
src = _get_source_filename()
if not os.path.exists(src):