[wingide-users] WingIDE and Zope unit tests: Solution!

Lennart Regebro regebro at nuxeo.com
Fri Feb 4 12:48:26 EST 2005


Wing IDE Support wrote:
> I'm fairly sure this is Wing's debugger falsely identifying a 
> normal exception as one that will lead to program termination.
> This can still happen in the current version of Wing, although
> it's much rarer than it used to be.
> 
> You can check "Ignore this exception" in the Exceptions tool
> then continue debugging.

Quite, correct, and after that it did run properly through zopectl.py, 
but the debugger didn't break at any breakpoints. I realized I was 
thinking about the whole thing completely backwards, of course. I'm 
trying to run Zopes test scripts. They do a couple of things:

1. Set up the correct environment like Python path and so.
2. Special Product magick fiddling.
3. Find loads of different test files and run then.

Of course, I have no particular need to run all the unit tests from 
within WingIDE. It's first when I have a test that fails that I need to 
do that, and then I should not need to run test.py, I should be able to 
just run the unit test separately. But that's a bit tricky with Zope, 
because Zope has two Product directories, so if you add them both to the 
Python path it will only find the products in one of then.

*sigh*

Well: Anyway, turns out that importing ZopeTestCase, that gets fixed. It 
does magick to solve these things for unit tests.


One minor annoyance: WingIDE will break when the unit tests call 
sys.exit(), even if the tests were successful.

The code is in unittest.py, line 759:

	sys.exit(not result.wasSuccessful())

So, on a successful run, it will call sys.exit(False). Ignoring that 
exception position makes no difference. But that's a minor annoyance, 
and nothing serious.

Zope3 has much less magick, so supporting Zope3 will probably be much 
easier. I look forward to be able to dump Zope2. :)

-- 
Lennart Regebro, Nuxeo     http://www.nuxeo.com/
CPS Content Management     http://www.cps-project.org/


More information about the wingide-users mailing list