]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_xml_etree_c.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / test_xml_etree_c.py
CommitLineData
4710c53d 1# xml.etree test for cElementTree\r
2\r
3from test import test_support\r
4from test.test_support import precisionbigmemtest, _2G\r
5import unittest\r
6\r
7cET = test_support.import_module('xml.etree.cElementTree')\r
8\r
9\r
10# cElementTree specific tests\r
11\r
12def sanity():\r
13 """\r
14 Import sanity.\r
15\r
16 >>> from xml.etree import cElementTree\r
17 """\r
18\r
19\r
20class MiscTests(unittest.TestCase):\r
21 # Issue #8651.\r
22 @precisionbigmemtest(size=_2G + 100, memuse=1)\r
23 def test_length_overflow(self, size):\r
24 if size < _2G + 100:\r
25 self.skipTest("not enough free memory, need at least 2 GB")\r
26 data = b'x' * size\r
27 parser = cET.XMLParser()\r
28 try:\r
29 self.assertRaises(OverflowError, parser.feed, data)\r
30 finally:\r
31 data = None\r
32\r
33\r
34def test_main():\r
35 from test import test_xml_etree, test_xml_etree_c\r
36\r
37 # Run the tests specific to the C implementation\r
38 test_support.run_doctest(test_xml_etree_c, verbosity=True)\r
39\r
40 # Assign the C implementation before running the doctests\r
41 # Patch the __name__, to prevent confusion with the pure Python test\r
42 pyET = test_xml_etree.ET\r
43 py__name__ = test_xml_etree.__name__\r
44 test_xml_etree.ET = cET\r
45 if __name__ != '__main__':\r
46 test_xml_etree.__name__ = __name__\r
47 try:\r
48 # Run the same test suite as xml.etree.ElementTree\r
49 test_xml_etree.test_main(module_name='xml.etree.cElementTree')\r
50 finally:\r
51 test_xml_etree.ET = pyET\r
52 test_xml_etree.__name__ = py__name__\r
53\r
54if __name__ == '__main__':\r
55 test_main()\r