Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Python: Checkins

cpython: Make the test more resilient to test-run order (closes #15075)

 

 

Python checkins RSS feed   Index | Next | Previous | View Threaded


python-checkins at python

Jun 15, 2012, 8:49 PM

Post #1 of 1 (43 views)
Permalink
cpython: Make the test more resilient to test-run order (closes #15075)

http://hg.python.org/cpython/rev/5782efaa8d68
changeset: 77468:5782efaa8d68
user: Eli Bendersky <eliben [at] gmail>
date: Sat Jun 16 06:47:44 2012 +0300
summary:
Make the test more resilient to test-run order (closes #15075)

files:
Lib/test/test_xml_etree.py | 28 ++++++++++++++++++-------
1 files changed, 20 insertions(+), 8 deletions(-)


diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -1279,8 +1279,7 @@
except KeyError:
raise OSError("resource not found")
if parse == "xml":
- from xml.etree.ElementTree import XML
- return XML(data)
+ data = ET.XML(data)
return data

def xinclude():
@@ -2011,12 +2010,20 @@
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'))


- [at] unittest('Unstable due to module monkeypatching')
class XincludeTest(unittest.TestCase):
+ def _my_loader(self, href, parse):
+ # Used to avoid a test-dependency problem where the default loader
+ # of ElementInclude uses the pyET parser for cET tests.
+ if parse == 'xml':
+ with open(href, 'rb') as f:
+ return ET.parse(f).getroot()
+ else:
+ return None
+
def test_xinclude_default(self):
from xml.etree import ElementInclude
doc = xinclude_loader('default.xml')
- ElementInclude.include(doc)
+ ElementInclude.include(doc, self._my_loader)
s = serialize(doc)
self.assertEqual(s.strip(), '''<document>
<p>Example.</p>
@@ -2308,11 +2315,16 @@
NoAcceleratorTest,
])

- support.run_unittest(*test_classes)
+ try:
+ support.run_unittest(*test_classes)

- # XXX the C module should give the same warnings as the Python module
- with CleanContext(quiet=(module is not pyET)):
- support.run_doctest(sys.modules[__name__], verbosity=True)
+ # XXX the C module should give the same warnings as the Python module
+ with CleanContext(quiet=(module is not pyET)):
+ support.run_doctest(sys.modules[__name__], verbosity=True)
+ finally:
+ # don't interfere with subsequent tests
+ ET = pyET = None
+

if __name__ == '__main__':
test_main()

--
Repository URL: http://hg.python.org/cpython

Python checkins RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.