[issue9317] Incorrect coverage file from trace test_pickle.py
Alexander Belopolsky
report at bugs.python.org
Wed Jul 21 16:06:37 CEST 2010
Alexander Belopolsky <alexander.belopolsky at gmail.com> added the comment:
On Wed, Jul 21, 2010 at 9:45 AM, Eli Bendersky <report at bugs.python.org> wrote:
..
> As far as I understand, when you run:
>
> py3d -m trace -C pickle-trace.d -c -m test_pickle.py
>
> The first -m flag applies to the trace module. Python uses
> runpy.run_module to load it, and then passes it its arguments (-C and
> onwards).
>
When I said "run from command line", I meant something like
$ python Lib/test/test_pickle.py
I am not sure if this uses runpy machinery, but I suspect it does.
The trace output should not include runpy calls that load the trace
module itself, but
$ python -m trace <flags> Lib/test/test_pickle.py
might show the runpy calls that occur when you run
$ python Lib/test/test_pickle.py
without tracing. BTW, too bad that '-m' is taken, but I think
trace.py should grow a --run-module option so that you can trace
equivalents of python -m executions:
$ python -m trace <flags> --run-module test.test_pickle
> Moreover, since runpy is only the machinery to execute trace.py, does
> it even make sense to include it in coverage?
>
> What do you think?
I think you should ask python-dev. :-) Note that most C/C++ coverage
tools do include pre-main calls in coverage. In case of C++, a lot
of things may happen before main().
Whatever the solution is, it should be unified between trace, profile,
and pdb modules.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9317>
_______________________________________
More information about the Python-bugs-list
mailing list