[TIP] figleaf tests
Ondrej Certik
ondrej at certik.cz
Mon Jun 23 23:32:19 PDT 2008
On Tue, Jun 24, 2008 at 4:26 AM, C. Titus Brown <ctb at msu.edu> wrote:
> On Mon, Jun 23, 2008 at 09:37:41PM -0400, Ned Batchelder wrote:
> -> I've been down these paths too, and I completely understand Titus' wariness.
> ->
> -> I think the stdlib module trace.py has the right idea: rather than
> -> analyze the code at all, simply compile it, and look at the table of
> -> line numbers in the code object. This is by definition the set of lines
> -> that sys.settrace can return, and is very simple to read. It has the
> -> advantage that as the compiler changes from version to version, changing
> -> the lines that can be returned, trace.py is immune to the changes.
>
> Hmm, I didn't realize that the table of line numbers in the code object
> is the set of lines that can be returned by sys.settrace! That makes my
> life *much* easier, thanks!
>
> -> For more exotic ideas along these lines, you can lie about line numbers:
> -> http://nedbatchelder.com/blog/200804/wicked_hack_python_bytecode_tracing.html
>
> Ummm... :)
Wow, I didn't know that, thanks Ned!
I was just playing with:
http://docs.python.org/lib/module-dis.html
and it really works and produce the correct line numbers. :)
So now we just need to adapt your line hack example from:
http://nedbatchelder.com/blog/200804/wicked_hack_python_bytecode_tracing.html
and that should be it.
I am also actually flying soon, but I'll try to hack on it in the plane.
Ondrej
More information about the testing-in-python
mailing list