[Lxml-checkins] r44717 - lxml/trunk/src/lxml/tests
scoder at codespeak.net
scoder at codespeak.net
Wed Jul 4 10:18:59 CEST 2007
Author: scoder
Date: Wed Jul 4 10:18:58 2007
New Revision: 44717
Modified:
lxml/trunk/src/lxml/tests/test_errors.py
Log:
test case for cyclic GC and None references
Modified: lxml/trunk/src/lxml/tests/test_errors.py
==============================================================================
--- lxml/trunk/src/lxml/tests/test_errors.py (original)
+++ lxml/trunk/src/lxml/tests/test_errors.py Wed Jul 4 10:18:58 2007
@@ -6,6 +6,7 @@
# It is likely that if there are errors, instead of failing the code
# will simply crash.
+import sys, gc
from lxml import etree
class ErrorTestCase(unittest.TestCase):
@@ -19,6 +20,21 @@
def test_empty_parse(self):
self.assertRaises(etree.XMLSyntaxError, etree.fromstring, '')
+ def test_element_cyclic_gc_none(self):
+ # test if cyclic reference can crash etree
+ Element = self.etree.Element
+ gc.collect()
+
+ count = sys.getrefcount(None)
+
+ l = [Element('name'), Element('name')]
+ l.append(l)
+
+ del l
+ gc.collect()
+
+ self.assertEquals(sys.getrefcount(None), count)
+
def test_suite():
suite = unittest.TestSuite()
suite.addTests([unittest.makeSuite(ErrorTestCase)])
More information about the lxml-checkins
mailing list