On Aug 7, 2011, at 07:00 , CMF tests summarizer wrote:
[1]UNKNOWN FAILED (failures=3, errors=4) : CMF-trunk Zope-trunk
Python-2.6.6 : Linux
https://mail.zope.org/pipermail/cmf-tests/2011-August/015089.html
I have tried to pinpoint the reason for some of these test failures. Two of
these tests are for the CMF Discussions functionality:
Failure in test test_deleteReplies
(Products.CMFDefault.tests.test_Discussions.DiscussionTests)
Traceback (most recent call last):
File /usr/local/lib/python2.6/unittest.py, line 279, in run
testMethod()
File
/usr/local/py26/cmf_trunk/src/Products.CMFDefault/Products/CMFDefault/tests/test_Discussions.py,
line 301, in test_deleteReplies
self.assertEqual(len(ctool), 4)
File /usr/local/lib/python2.6/unittest.py, line 350, in failUnlessEqual
(msg or '%r != %r' % (first, second))
AssertionError: 6 != 4
Failure in test test_itemCataloguing
(Products.CMFDefault.tests.test_Discussions.DiscussionTests)
Traceback (most recent call last):
File /usr/local/lib/python2.6/unittest.py, line 279, in run
testMethod()
File
/usr/local/py26/cmf_trunk/src/Products.CMFDefault/Products/CMFDefault/tests/test_Discussions.py,
line 212, in test_itemCataloguing
% reply.getId()))
File /usr/local/lib/python2.6/unittest.py, line 325, in failUnless
if not expr: raise self.failureException, msg
AssertionError
Those tests started failing after the following Zope-checkin:
http://svn.zope.org/?rev=122213view=rev
What ends up happening in both cases is discussion replies ending up with a
wrong idea about their physical path. Normally, they all should have a physical
path that points to the talkback discussion container object attached to the
original content item that houses the discussion, like so:
/path/to/content/talkback/12345
/path/to/content/talkback/12346
/path/to/content/talkback/12347
…
All of a sudden a reply to a reply thinks it is stored not in the content
object's talkback, but in a new talkback attached to the reply the user has
replied to:
/path/to/content/talkback/12345
/path/to/content/talkback/12345/talkback/12346
/path/to/content/talkback/12345/talkback/12346/talkback/12347
The problem appears in CMFDefault.DiscussionItem.createReply on line 251, where
the newly created discussion reply is aqcuisition-wrapped in the talkback
object:
item = DiscussionItem( id, title=title, description=title )
self._container[id] = item
item = item.__of__(self)
After the wrapping, the discussion item has the wrong path. Even though self,
the talkback object, has the correct path when calling getPhysicalPath on it.
I can't see anything overly stupid in the DiscussionItem code, so there has to
be an issue with that Zope getPhysicalPath change. Reverting that one change in
the current Zope trunk fixes the tests.
jens
___
Zope-CMF maillist - Zope-CMF@zope.org
https://mail.zope.org/mailman/listinfo/zope-cmf
See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests