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)
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
# 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)