[IPython-dev] Test failures and errors in trunk

Fernando Perez fperez.net@gmail....
Thu Mar 19 03:17:54 CDT 2009


Howdy,

On Wed, Mar 18, 2009 at 8:41 PM, Brian Granger <ellisonbg.net@gmail.com> wrote:
> OK, I found the commit that introduced the error.  It first appears in
> this revision:
>
> http://bazaar.launchpad.net/~fdo.perez/ipython/trunk-dev/revision/1155
>
> The previous revision passes all tests just fine.  You can get the
> problematic revision by doing:
>
> bzr branch lp:~fdo.perez/ipython/trunk-dev -r 1155
>
> It is worth checking that the previous revision is OK on your system as well.

Awesome, many thanks for bisecting this!

I just now finished setting up all the tools to be able to robustly
create virtualenvs that do not see anything system-wide, yet run on
the normal python.  There's actually quite a few moving parts to all
of it, so I think I'm going to document this thoroughly in our dev
guide.  I ended up basically combining these two approaches:

http://www.doughellmann.com/articles/CompletelyDifferent-2008-05-virtualenvwrapper/index.html
http://neuroimaging.scipy.org/site/doc/manual/html/devel/tools/virtualenv-tutor.html

along with a custom sitecustomize.py, to carefully control sys.path
and friends for the virtualenv in a subshell.

This approach really isolates the virtualenv in a much more reliable
way than what virtualenv's normal tools do by default.  And now I can
easily reproduce Jorgen's problem:

maqroll[~]> workon ipython
*** Starting new shell for virtualenv ***
(ipython)maqroll[~]> iptest

[...]
----------------------------------------------------------------------
Ran 186 tests in 1.051s

FAILED (SKIP=21, errors=48, failures=1)
Deleting object: second_pass
object A deleted
deleting object...

with all those import errors he was seeing.

The bad news is that I'm exhausted and behind on a few work deadlines,
so I won't be able to dive into that nasty twisted bug nor the one
John reported this morning quite now.  Sorry about that.

I think in order of priorities, we should:

1. Clean up the test suite so that in an empty environment, it runs to
completion (though obviously skipping things that may test twisted,
numpy or anything else not part of the stdlib).  I think this is the
first priority, so that everyone can actually run the test suite, even
if the Twisted bug is present.

2. Attack the Twisted Heisenbug.

3. The memory leak/lost references bug (and clarify whether it could
be a core Python bug).

Since I may be awol for a few days, if anyone needs to know how to set
up the 'naked' virtualenv, let me know and I can post a quick draft.

Cheers,

f


More information about the IPython-dev mailing list