Commit da57819e authored by Eli Bendersky's avatar Eli Bendersky

in the tests of ElementTree, verify that the C accelerator is imported or not imported as expected

parent 4aec7761
......@@ -1904,12 +1904,22 @@ class CleanContext(object):
self.checkwarnings.__exit__(*args)
class TestAcceleratorNotImported(unittest.TestCase):
# Test that the C accelerator was not imported for pyET
def test_correct_import_pyET(self):
# In the C accelerator, Element is just a factory function, not an
# actual class. In the Python version it's a class.
self.assertIsInstance(pyET.Element, type)
def test_main(module=pyET):
from test import test_xml_etree
# The same doctests are used for both the Python and the C implementations
test_xml_etree.ET = module
support.run_unittest(TestAcceleratorNotImported)
# XXX the C module should give the same warnings as the Python module
with CleanContext(quiet=(module is not pyET)):
support.run_doctest(test_xml_etree, verbosity=True)
......
......@@ -46,6 +46,16 @@ class MiscTests(unittest.TestCase):
finally:
data = None
class TestAcceleratorImported(unittest.TestCase):
# Test that the C accelerator was imported, as expected
def test_correct_import_cET(self):
# In the C accelerator, Element is just a factory function, not an
# actual class. In the Python version it's a class.
self.assertNotIsInstance(cET.Element, type)
def test_correct_import_cET_alias(self):
self.assertNotIsInstance(cET_alias.Element, type)
def test_main():
from test import test_xml_etree, test_xml_etree_c
......@@ -53,7 +63,7 @@ def test_main():
# Run the tests specific to the C implementation
support.run_doctest(test_xml_etree_c, verbosity=True)
support.run_unittest(MiscTests)
support.run_unittest(MiscTests, TestAcceleratorImported)
# Run the same test suite as the Python module
test_xml_etree.test_main(module=cET)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment