Issue 6835: doctest problem with decorated function when decorator is defined in separate file (original) (raw)
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.