[TIP] [Distutils] RFC: Barely minimal CI + tests + packaging in Python WAS: Guidelines for where to put tests & how to package them

Chris Withers chris at simplistix.co.uk
Thu Mar 11 05:34:23 PST 2010


P.J. Eby wrote:
> At 07:22 PM 3/1/2010 +0000, Chris Withers wrote:
>> P.J. Eby wrote:
>>> At 10:41 AM 2/25/2010 -0500, Olemis Lang wrote:
>>>> PS: BTW, how could I trigger easy_install(ation) at a given point
>>>> while implementing a distutils command, and let the command perform
>>>> further actions if deps are installed correctly ?
>>> Setuptools' "Distribution" object has a method for fetching 
>>> dependencies.  See setuptools' "test" command for an example.  (This 
>>> doesn't install the dependencies globally, just drops eggs into the 
>>> build directory.  But they're there and available to be reused for 
>>> installation in a later phase, under normal circumstances.)
>>
>> ...which is all pretty grim. If you use this with other packaging 
>> tools, like, say, buildout, the testing dependencies just get dumped 
>> into your buildout, which is a bit yucky to put it mildly.
>>
>> How about putting them where other eggs get put but only making them 
>> available for the tests?
>>
>> Failing that, how about putting them somewhere temporary?
> 
> They *are* somewhere temporary.  Buildout's not going to install them 
> from the setup.py directory, and neither will anything else.

When I last tried using setuptools test_require stuff (in a buildout 
driven pylons app, iirc) I ended up with the resulting eggs dumped in 
the root of my buildout and no, the ddn't go away at the end of the test 
run...

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
             - http://www.simplistix.co.uk



More information about the testing-in-python mailing list