On Feb 23, 2006, at 8:13 AM, Lennart Regebro wrote:

On 2/23/06, Stephan Richter <[EMAIL PROTECTED]> wrote:
How do you want to use the debugger?

I'd like to be able to step through the tests.

You effectively can't step through all the tests (with a single pdb). You can step through a single line in the test well. While it sounds limiting, that has proved quite sufficient for me in practice. YMMV, of course.

I run the tests, if the set_trace()
occurs it throws me to the prompt and all is fine. I can use the debugger as
usual.

When I do this, I get a prompt. Pressing next returns to the running
of the tests, not the next line of the test. Here is an example:

import pdb;pdb.set_trace()
gsm = zope.component.getGlobalSiteManager()
gsm.provideUtility(I1, ob)
gsm.provideUtility(I11, ob11)

Yup, that won't work. You need to put the pdb on the same line as the thing you want to trace, i.e.

import pdb;pdb.set_trace(); gsm = zope.component.getGlobalSiteManager()
gsm.provideUtility(I1, ob)
gsm.provideUtility(I11, ob11)

That would let you trace the getGlobalSiteManager call. If you wanted to trace the provideUtility calls then you would want to put a pdb in there too. I don't think I've ever had more than one in at a time, though.

Gary
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to