This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author belopolsky
Recipients belopolsky, eli.bendersky, ezio.melotti, flox, georg.brandl
Date 2010-09-21.18:17:42
SpamBayes Score 5.551115e-17
Marked as misclassified No
Message-id <1285093065.41.0.819526070425.issue9914@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2010-09-21 18:17:45belopolskysetrecipients: + belopolsky, georg.brandl, ezio.melotti, eli.bendersky, flox
2010-09-21 18:17:45belopolskysetmessageid: <1285093065.41.0.819526070425.issue9914@psf.upfronthosting.co.za>
2010-09-21 18:17:43belopolskylinkissue9914 messages
2010-09-21 18:17:42belopolskycreate