[ZODB-Dev] breaking out the transaction module from ZODB
Chris McDonough
chrism at plope.com
Fri Nov 9 11:37:14 EST 2007
On Nov 9, 2007, at 9:43 AM, Jim Fulton wrote:
>
>>> Yawn. IMO, the test command in setuptools is a waste of time,
>>> because it doesn't work with anything else.
>>
>> It runs all the tests, even the doctests, if thats what you mean.
>> See the "additional_tests" hair in the test modules.
>
> My point is that the meta data you added to the setup.py only works
> with setup.py. It isn't accessible to any other test runners. I
> shouldn't have yawned. It is significant that the tests work. :) I
> just don't find this way of running the tests to be useful. The
> first time I work on this package, I'll add a buildout.cfg so I can
> use the Zope test runner. At that point, I'll have to deal with
> these extra requirements in another way (which is no big deal).
What if we caused setup.py to read a buildout.cfg for the
tests_require package names and we passed these in as tests_require=
names? Would that make it all better?
>>> zope.interface is a real requirement. It is already in
>>> test_requires.
>>>
>>> Over time, we need to clean up the transaction tests so they don't
>>> use ZODB.
>>
>> Yeah, given that we're name this thing "transaction", it's an
>> actually an immediate requirement.
>
> If you are going to spend the time, then, uh, sure. ;) Seriously,
> while I would love to see this cleaned up, I don't think I would
> consider this super urgent. I guess that depends on competing
> priorities.
I just deleted the sections of the test_transaction doctests that
depended on ZODB. They were actually not really testing transactions,
they were testing persistent object behavior. I'll try to put them
back in a form within ZODB proper, as the test really are testing ZODB
functionality, not transaction functionality.
>> There's only one test that uses anything that can't be mocked up
>> in the transaction package (it uses an actual MappingStorage and a
>> DB) itself. It also happens to be the one that fails right now; I
>> haven't tried to understand it yet.
>
> Gah. BTW, if you haven't already, you should check for transaction
> tests lurking in the other ZODB packages.
Good idea.
In the meantime, I've gotten rid of 'zope.transaction' and I've
created a new top-level 'transaction' package at http://svn.zope.org/transaction/
. All its tests pass. It depends only on 'zope.interface', and
requires 'zope.testing' for running the tests.
- C
More information about the ZODB-Dev
mailing list