Re: Pitfall: mxODBCZopeDA and test runner in 2.9+

"M.-A. Lemburg" <[email protected]>
Newsgroups gmane.comp.web.zope.database
Organization eGenix.com Software GmbH
Message-ID <[email protected]>
M.-A. Lemburg wrote:
> Chris Withers wrote:
>> M.-A. Lemburg wrote:
>>>> If you fail to use -k, the zope test runner will delete bytecode for all
>>>> your products - including mxODBCZopeDA, which has no .py files to fall
>>>> back on.  Ouch. I'll investigate further - there might be a bug to file
>>>> against zope.testing.
>>> Why does the test runner delete .pyc files in directories it
>>> doesn't own ?
>> The common case used to be:
>>
>> 1. run tests in a checkout (generates .pyc's for each .py file imported)
>>
>> 2. svn up, which deletes a load of .py files
>>
>> 3. re-run tests, curse and swear that there are still .pyc files lying
>>    around that got imported, and you only noticed when your production
>>    environment broke, because you rebuild that out from scratch on
>>    upgrade
>>
>> ...so the "autho-pyc-destructor" was built ;-)
> 
> Sounds like a developer setup :-)
> 
> For those I do have a solution:
> 
> chown root.zope .../Products/mxODBCZopeDA
> chmod 750 .../Products/mxODBCZopeDA
> 
> (provided zope is the group of the Zope daemon)
> 
> That way you prevent deletions in the product directory
> by any user other than root.

Here's another way:

Using

    http://www.egenix.com/files/python/pyc2py.py

you can convert any .pyc file into a .py file which
will import just like the .pyc file. The script also
supports glob patterns, so you can do:

    pyc2py.py *.pyc

Imports will run a tad slower, but that shouldn't matter
for an application server like Zope.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Oct 13 2006)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.