Log message for revision 75578: Added a test to Acquisition that shows the current segmentation fault problem, when Acquisition goes in circles.
Changed: U Zope/branches/philikon-aq-and-__parent__/lib/python/Acquisition/tests.py -=- Modified: Zope/branches/philikon-aq-and-__parent__/lib/python/Acquisition/tests.py =================================================================== --- Zope/branches/philikon-aq-and-__parent__/lib/python/Acquisition/tests.py 2007-05-06 16:49:33 UTC (rev 75577) +++ Zope/branches/philikon-aq-and-__parent__/lib/python/Acquisition/tests.py 2007-05-06 17:41:06 UTC (rev 75578) @@ -1998,6 +1998,37 @@ True """ +def test___parent__aq_parent_cycles(): + """ + Sometimes __parent__ pointers and normal Acquisition can cause aq_chains + to go in circles: + + >>> class Expl(Acquisition.Explicit): + ... hello = 'world' + + >>> class Expl2(Acquisition.Explicit): + ... hello = 'world2' + + >>> x = Expl() + >>> y = Expl2().__of__(x) + >>> x.__parent__ = y + + >>> x.__parent__.aq_base is y.aq_base + True + + >>> x.__parent__.__parent__ is x + True + + >>> Acquisition.aq_get(x, 'hello') + 'world' + + XXX This causes a segmentation fault, as some tests in Products.Five do + as well + >>> Acquisition.aq_get(x, 'hello2') + + + """ + import unittest from zope.testing.doctest import DocTestSuite _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins