Hi Jens!
Jens Vagelpohl wrote:
- - There are failing tests in CMFCore.exportimport.tests.test_actions,
basically everything that derives from
CMFCore.exportimport.tests.test_actions._ActionSetup. The insidious
thing is this:
- running all tests or all CMFCore tests shows the failures
- running *just* the CMFCore.exportimport tests _passes_
Right now I don't know if the main problem is about the test harness
setup in _ActionSetup, or if there is some strange test interaction/test
cleanup issue.
Actually both. The test setup depends on some 'magic' that only works if
the test is part of the *first* layer run by the testrunner. That's the
case if you run only the CMFCore.exportimport tests, but not if you run
all CMFCore tests.
The tests require the site hooks set up correctly, which should be done
explicitly in the test setup.
This is what happens if you don't do it explicitly:
1.) the layer's setUp() loads Products.Five's meta.zcml
-> this loads the Products.Five.site's meta.zcml
-> this triggers an import of Products.Five.site.fiveconfigure
-> this makes an (unused) import from Products.Five.site.localsite
-> this imports Products.Five.component (for the BBB code)
-> Products.Five.component sets the site hooks
2.) the layer's tearDown() resets the hooks
3.) the next layer can't set up the hooks the same way
This is really nasty, Five should have a more explicit way to set the
site hooks. Tracking this down did cost me several hours :(
I just checked in a fix for the ExportImportZCMLLayer. If local
utilities are used in other layers as well, they need the same fix.
Cheers,
Yuppie
_______________________________________________
Zope-CMF maillist - Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf
See http://collector.zope.org/CMF for bug reports and feature requests