Comment 7 for bug 362142

Revision history for this message
Brian Granger (ellisonbg) wrote : Re: [Bug 362142] Re: Our method of running the test suite (iptest) is broken

Yes, this is a huge problem - pexpect doesn't work on Windows...

We should check with the Sage folks, I know at one point, they were working on
a windows port of pexpect called wexpect.

Twisted does have many of the same capabilities that pexpect has for
working with
external processes. That might be our best bet.

Cheers,

Brian

On Sun, Jan 17, 2010 at 3:10 PM, Jörgen Stenarson
<email address hidden> wrote:
> Brian Granger skrev 2010-01-17 20:48:
>> remember how this can be done?).  As I remember we talked
>> about using this idea along with pexpect to isolate the running
>> IPython to another process.
>>
> I think using pexpect requires some research if you want to keep the the
> tests running on windows.
>
> /Jörgen
>
> --
> Our method of running the test suite (iptest) is broken
> https://bugs.launchpad.net/bugs/362142
> You received this bug notification because you are a member of IPython
> Developers, which is subscribed to IPython.
>
> Status in IPython - Enhanced Interactive Python: In Progress
>
> Bug description:
> Currently we run the IPython test suite using a custom command line program "iptest" that calls nosetests with the right options.  The problem with this is that the entire approach is very fragile.  A couple of problems exist:
>
> * The integration with twisted.trial seems to be buggy at best.  But, we need to use twisted.trial to test things in kernel and frontend.
> * We are getting lots of odd errors/failures that are impossible to track down.
> * Different tests have very different and at times conflicting dependencies.  For instance, we have code that uses wx, qt, twisted, etc.  All of these things should not be tested in the same process.
>
> We need a new way of running tests that:
>
> * Run's certain tests in subprocesses.
> * Isolates tests based on dependencies.
> * Runs twisted using tests using trial.
> * Allow packages/modules to declared their deps without being imported so it can be decided how they will be run.
>
> The difficulty with this is that our test dependencies are not well isolated into package or even modules.  A perfect example of this is that frontend.asyncfrontendbase uses twisted.  Other tests on frontend could easily use wx and twisted.  Another problem is that the twisted using parts of our code can't use nose things like decorators or the additional testing syntax that nose supports.  Argh!
>
>
>

--
Brian E. Granger, Ph.D.
Assistant Professor of Physics
Cal Poly State University, San Luis Obispo
<email address hidden>
<email address hidden>