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 gz
Recipients gz
Date 2010-01-30.18:00:47
SpamBayes Score 2.9177391e-08
Marked as misclassified No
Message-id <1264874450.07.0.188014948494.issue7815@psf.upfronthosting.co.za>
In-reply-to
Content
Prior to being split up into a package, unittest had an extensible method of trimming uninteresting, testing-framework related parts from tracebacks. As an unintended side effect, this is no longer the case, only modules actually named "unittest" are excluded. Code depending on the old method exists in a number of different projects, and there is no benefit to breaking them.

More details and discussion of this issue on python-dev can be read at:
<http://mail.python.org/pipermail/python-dev/2009-December/094734.html>

Reverting this change is trivial, something along the lines of:

--- old/Lib/unittest/case.py
+++ new/Lib/unittest/case.py
@@ -9,7 +9,9 @@
 
 from . import result, util
 
+__unittest = True
 
+
 class SkipTest(Exception):
     """
     Raise this exception in a test to skip it.
--- old/Lib/unittest/result.py
+++ new/Lib/unittest/result.py
@@ -94,11 +94,7 @@
         return ''.join(traceback.format_exception(exctype, value, tb))
 
     def _is_relevant_tb_level(self, tb):
-        globs = tb.tb_frame.f_globals
-        is_relevant =  '__name__' in globs and \
-            globs["__name__"].startswith("unittest")
-        del globs
-        return is_relevant
+        return tb.tb_frame.f_globals.has_key('__unittest')
 
     def _count_relevant_tb_levels(self, tb):
         length = 0
History
Date User Action Args
2010-01-30 18:00:50gzsetrecipients: + gz
2010-01-30 18:00:50gzsetmessageid: <1264874450.07.0.188014948494.issue7815@psf.upfronthosting.co.za>
2010-01-30 18:00:48gzlinkissue7815 messages
2010-01-30 18:00:47gzcreate