Message117090
The main() method of trace and profile modules attempt to emulate the environment in which traced code runs when invoked directly, but it fails in several respects. The specific problem which is the subject of this issue is that while __name__ is set to '__main__' in code globals, sys.modules['__main__'] still point to the trace/profile module.
Among other problems, this conflicts, with a popular idiom used in regression test scripts:
support.run_unittest(__name__)
For example,
$ python -m trace -c -C trace.d Lib/test/test_optparse.py
----------------------------------------------------------------------
Ran 0 tests in 0.001s
OK
No tests are ran because run_unittests() looks for test case classes in the trace module and finds none.
This is related to #9323, so I am merging in the nosy list. See also r83393. |
|
Date |
User |
Action |
Args |
2010-09-21 18:17:45 | belopolsky | set | recipients:
+ belopolsky, georg.brandl, ezio.melotti, eli.bendersky, flox |
2010-09-21 18:17:45 | belopolsky | set | messageid: <1285093065.41.0.819526070425.issue9914@psf.upfronthosting.co.za> |
2010-09-21 18:17:43 | belopolsky | link | issue9914 messages |
2010-09-21 18:17:42 | belopolsky | create | |
|