[pony-build] Making virtualenv Fail

Max Laite mlaite at gmail.com
Thu Feb 11 06:22:39 PST 2010


A good idea.

In regards to having to handle failed installs of the "required" deps. Stuff
under required should install no problem(since we would like to assume the
person compiling that list would know if that dep exists and that it runs
correctly),  but there still has to be some form of protection, ie, against
misspellings and that slacker who wrote the build recipe without checking to
see if that dep exists or that it runs correctly on their build machine.

I all so assume that since the installs are under virtualenv we have no need
to worry about rights issues.

"required" fail: cause it to stop execution of client completely? and pass
what the error may be.....

"wouldn't it be nice?" fail:  just make note to user and carry on

I guess we loop back to original question now, so I will read over the
previous threads and get cracking on this.

Max

On Wed, Feb 10, 2010 at 11:33 PM, C. Titus Brown <ctb at msu.edu> wrote:

> On Wed, Feb 10, 2010 at 11:25:07AM -0500, Rosangela Canino-Koning wrote:
> > Backing up, how much of a failure do you want? Do you want this thing to
> > messily grind to a halt, or do you want it to try to deal with the error
> > somewhat gracefully?
> >
> > If pip failing to install a dependency is a massive deal-breaker for the
> > whole system, which, further, you never really expect to happen, but you
> > don't want it to fail silently, use an assert.
> >
> > If pip failing to install a dependency is a rare error, but you need to
> > clean up after yourself at a higher level before shutting down, then
> throw
> > an exception, and catch it upstream.
> >
> > Finally, if pip failing is an expected part of the program flow, and
> there
> > are ways to gracefully handle the error, and continue processing, then
> check
> > pip's return status (or catch it if it's an exception), do whatever, and
> > continue processing.
> >
> > Any of these strategies can be implemented with either pip returning a
> > status code, or with pip throwing an exception. It's what you do with it
> > that really matters.
>
> pip installs dependencies, so it depends on what dependencies are necessary
> vs "good".  Most dependencies are hard dependencies, but not all.
>
> For example, if some program uses psyco to do runtime optimization, but
> psyco is not present, then it could still run most of the tests (just
> not the ones testing psyco functionality).
>
> How about giving VirtualenvContext a list of required dependencies and
> a separate list of "wouldn't it be nice?" dependencies?
>
> --titus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/pony-build/attachments/20100211/8a1d873b/attachment.html>


More information about the pony-build mailing list