[TIP] Guidelines for where to put tests & how to package them

Olemis Lang olemis at gmail.com
Fri Feb 26 11:52:49 PST 2010


On Fri, Feb 26, 2010 at 2:36 PM, Michael Foord
<fuzzyman at voidspace.org.uk> wrote:
> On 26/02/2010 19:27, Olemis Lang wrote:
>>
>> [snip...]
>>>
>>> Why not just:
>>>
>>>     tests='somepackage.tests'
>>>
>>>
>>
>> Better explicit than implicit : what are `tests` ? test_suite is a test
>> suite !
>>
>> so IMHO -1
>>
>
> Tests are a test package. What if you want to specify something other than a
> test suite?
>

test_module

;o)

>>> Or even default to test discovery?
>>
>> test command performs test discovery (as a last recourse AFAICR, /me
>> cc-ing to P.J. Eby because probably he has further updates ;o) using a
>> loader: setuptools.comand.test.xxx
>>
>
> I'd rather follow up with Tarek (cc'd) as the lead maintainer of both
> distribute (the maintained fork of setuptools) and of distutils(2).
>

but I was talking about setuptools and the precision was mainly for
the loader that performs discovery and features in setuptools 0.7.x
trunk, I really don't follow `distribute`, so ... (besides PJE has
always had the virtue -at least according to my experience ;o)- of
providing the right comment at the right time, thus saving me from
chaos ;o)

probably it's better to crosspost to distutils SIG (but I don't see
myself doing so ;o)

>> BTW, I am strongly -1 for using the discovery protocol introduced in
>> 2.7 (AFAICR), specially because it collides with test_suite
>
> You'd rather not use a unittest supported protocol because it clashes with
> an unsupported protocol?
>

pls read below

>>  and many
>> other arguments ...
>
> Can you be specific?
>

Nevermind, everything I've said about the subject was just like «dust
in the wind» so, with all respect, I won't follow ...

>
>> so it would be very nice when defining packaging
>> conventions, layout ... not to enforce the use of that protocol, so
>> that if another discovery is used then it could still be compatible
>> with the more abstract good practices. (all this said from my selfish
>> position, I confess)
>>
>
> Yes, but get_suite/test_suite is not supported, so distutils2 still *should*
> use a unittest supported protocol.
>
> Probably Tarek and I need to discuss how
> the setup.py test command should work for distutils2. It should support
> non-unittest tests as well (I guess?) so specifying a unittest suite is not
> necessarily ideal.
>

Well, unittest invokes `suite` callable by default whereas test
command invokes `test_suite`. So basically it's a duplicate convention
AFAICS (CMIIW). If some type of reconciliation is going to happen
that'd be good, but :

  - I don't what's the most popular style
  - the fact is that more similar redundant conventions
    are emerging these days, so ...

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:



More information about the testing-in-python mailing list