[Python-Dev] Question over splitting unittest into a package

Olemis Lang olemis at gmail.com
Wed Dec 30 21:33:43 CET 2009

On Wed, Dec 30, 2009 at 3:04 PM, Benjamin Peterson <benjamin at python.org> wrote:
> 2009/12/30 Martin (gzlist) <gzlist at googlemail.com>:
>> Hi Benjamin,
> Hi!
>> In rev 74094 of Python, you split the unittest module up,


>> could you
>> point me at any bug entries or discussion over this revision so I can
>> catch up?
> This was mostly a discussion on IRC between Michael Foord and myself.

... and there was a previous thread about that some time ago here in python-dev

>>    def _is_relevant_tb_level(self, tb):
>>        return '__unittest' in tb.tb_frame.f_globals
>> After:
>> <http://svn.python.org/view/python/trunk/Lib/unittest/__init__.py?revision=74095&view=markup>
>>    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

Had not seen this ... Hmmm ...

>> Only packages actually named "unittest" can be excluded.
>> What is now the prefered method of marking a module as test-internal?
>> Overriding the leading-underscore _is_relevant_tb_level method? How
>> can this be done cooperatively by different packages?
> When I made that change, I didn't know that the __unittest "hack" was
> being used elsewhere outside of unittest, so I felt fine replacing it
> with another. While I still consider it an implementation detail, I
> would be ok with exposing an "official" API for this. Perhaps
> __unittest_ignore_traceback?

Hmmm ... One of the issues I didn't notice ...

IMO +1 for leaving it as it was before (i.e. __unittest) because :

  - the double underscore should mean (CMIIW) that it's an implementation detail
  - not few libs use that name already ;o)

+0.5 for adding `__unittest_ignore_traceback` or something shorter
(e.g. `__unittest_ignore`) too ...

+1 for documenting that «hack»

PS: `assertRaises` context managers are great !!! BTW



Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Assessment of unittest 2.7 API : new features and opinions  -

More information about the Python-Dev mailing list