I've had a morning of annoyed frustration on trying to get TextIndexNG3 to install properly in ZopeTestCase.
The problem I described in
http://www.nabble.com/ZopeTestCase.installProduct%28%27TextIndexNG3%27%29-trouble-to12403238.html#a12403356
mysteriously went away some time ago without any reasonable explaination.
Now I've created a new product which relies on the old troublemaker and it starts like this:

ZopeTestCase.installProduct('ZPsycopgDA')
ZopeTestCase.installProduct('PlacelessTranslationService')
ZopeTestCase.installProduct('ZCatalog')
ZopeTestCase.installProduct('ZCTextIndex')
ZopeTestCase.installProduct('Five')
ZopeTestCase.installProduct('TextIndexNG3')
ZopeTestCase.installProduct('Mest2')
ZopeTestCase.installProduct('Design2Mest')
ZopeTestCase.installProduct('MailHost')
ZopeTestCase.installProduct('Photo')

This works when running the tests of Mest2/tests!
Mest2 depends on Photo but the ZopeTestCase is clever enough to solve that dependency challange and TextIndexNG3 depends on Five but it works that out too.


Now in Design2Mest/test I copied the above lines and wrote a few basic tests and now it no longer works!!! TextIndexNG3 complains (again) about some parsers not being available. What happened was kind of that none of the zcml files of TextIndexNG3 were read or parsed at all.
The solution to the problem was to rearrange the order of...:
ZopeTestCase.installProduct('Five')
ZopeTestCase.installProduct('TextIndexNG3')
...to this...:
ZopeTestCase.installProduct('TextIndexNG3')
ZopeTestCase.installProduct('Five')
...and then it worked.


Lessons learnt:

 * Five and TextIndexNG3's importing order is very sensitive  in
   ZopeTestCase

 * Sometimes the order matters sometimes it doesn't

 * TextIndexNG3 is a brilliant product with excellent features but a
   large heap of external connections that are hard to debug

 * Five & ZCML is very hard to debug since there's bucket loads full of
   "magic" or whatever you want to call it that makes it damn hard
   to put in conventional print and raise statements to look through
   tracebacks.

 * Don't give up


PS. I've never touched or written an ZCML files in this environment.


--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to