mirror of https://github.com/python/cpython
in the tests of ElementTree, verify that the C accelerator is imported or not imported as expected
This commit is contained in:
parent
4aec77617f
commit
da57819efa
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue