Author goetzpf
Recipients goetzpf
Date 2009-09-03.14:53:53
SpamBayes Score 6.38286e-09
Marked as misclassified No
Message-id <1251989637.01.0.106852845631.issue6835@psf.upfronthosting.co.za>
In-reply-to
Content
As described in bug 1108, doctest skips tests on 
functions that have been decorated with a decorator that 
is defined in a separate file.

As described in bug 1108, the problem lies in 
file "doctest.py", there in class "DocTestFinder",
there in method "_from_module"

There at about line 857 the following code makes problems:

        elif inspect.isfunction(object):
            return module.__dict__ is object.func_globals

The "func_globals" property of the function is used to find out if
the function was defined in the current module. This is not true
for a decorated function where the decorator is defined in another
module. Maybe _from_module() should use inspect.getmodulename() or
the "__module__" property of the function instead. "__module__"
is set correctly when the decorator uses functools.wraps().

The func_globals property is read-only, so there is no chance fix this
at the decorator definition.
History
Date User Action Args
2009-09-03 14:53:57goetzpfsetrecipients: + goetzpf
2009-09-03 14:53:57goetzpfsetmessageid: <1251989637.01.0.106852845631.issue6835@psf.upfronthosting.co.za>
2009-09-03 14:53:54goetzpflinkissue6835 messages
2009-09-03 14:53:54goetzpfcreate