[Distutils] RFC: Barely minimal CI + tests + packaging in Python WAS: Guidelines for where to put tests & how to package them
olemis at gmail.com
Thu Mar 11 14:46:32 CET 2010
On Thu, Mar 11, 2010 at 8:34 AM, Chris Withers <chris at simplistix.co.uk> wrote:
> 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...
I don't use buildout so I think my ideas are not of much help in this
case, but I use just virtualenv for CI and in this case AFAICR
everything remained inside the temp buildenv created for this purpose
(anyway I'll try it once again ASAIC to confirm ;o)
Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/
More information about the Distutils-SIG