Also clean up the handling of command-line options for iptest, so that all
options given at the top-level are correctly passed to nose.
Fixes: https://bugs.launchpad.net/ipython/+bug/507079
installed.
Also activated testing.tools to be picked up by the test suite (was
excluded), this gives us a few more tests.
Status:
- On Linux, the full suite passes like before.
- On Win32, now that we have Twisted, we're seeing a few failures, because I
don't have the WinHPC server stuff. These should be easy for Brian to fix.
There are also two tests where the Skip nose exception isn't recognized by
Twisted, should also be easy. I'll file tickets for those.
After Brian's comments, I realized that our test machinery was NOT in
reality running all the ipython-syntax doctests we have. This is now fixed.
The test suite isn't completely passing, but this commit is for the
underlying machinery. I will now work on fixing as many broken tests as I
can.
Fixes https://bugs.launchpad.net/ipython/+bug/505071
A couple of issues came up:
* Some tests in testing and frontend rely on twisted, but are being
tested with nose. This is bad! We currently have hackish logic in
iptest to skip these if twisted is not installed, but if it is we
are testing them with nose!
* Some modules (engineservice, kernel/error, newserialized) have nose
skip logic even though they should never be tested with nose.
* When trial is run on testStrictDict we get an uncaught error.
testStrictDict ... ERROR: An unexpected error occurred while tokenizing
input The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (37, 0))
The main conflicts I had to fix were in ultratb. I have removed
the ultraTB.py in IPython/kernel/core. Now IPython/core/ultratb.py
is being used everywhere. Also I have protected the calls to ipapi.get
to see if None is returned. This happens when trial IPython.kernel
is run.
Check that wx.aui can be imported and otherwise exclude modules that use it to
avoid errors when loading the test suite.
Also, do load clearcmd so that the tests for %clear do work.
The regular expressions we were using on win32 were not matching. The
trick is to construct the regular expression with double \\ like this::
re.compile('foo\\\\bar')
Arggg!!
This is in an attempt at better isolating it from the rest of nose, because
we are seeing intermittent Twisted errors when it is enabled. However, I
still see them sometimes.
- Also, make the reference counting tests a little less verbose.
This plugin was causing problems with Twisted. We need to go through
the plugin to find the source of the problem. For now, our test suite
passes though.