Commit a966b68f authored by Raymond Hettinger's avatar Raymond Hettinger

SF 798269: bug fix for doctest (sf bug id: 798254

(Contributed by Alexander Belopolsky.)

Doctest would crash when encountering unbound methods:
  class A:
    def f(self): pass

  class C(A):
    g = A.f
parent b1da8215
......@@ -302,6 +302,7 @@ from types import StringTypes as _StringTypes
from inspect import isclass as _isclass
from inspect import isfunction as _isfunction
from inspect import ismethod as _ismethod
from inspect import ismodule as _ismodule
from inspect import classify_class_attrs as _classify_class_attrs
......@@ -930,11 +931,11 @@ See doctest.testmod docs for the meaning of optionflags.
thisname = prefix + k
if type(v) in _StringTypes:
f, t = self.runstring(v, thisname)
elif _isfunction(v) or _isclass(v):
elif _isfunction(v) or _isclass(v) or _ismethod(v):
f, t = self.rundoc(v, thisname)
else:
raise TypeError("Tester.run__test__: values in "
"dict must be strings, functions "
"dict must be strings, functions, methods, "
"or classes; " + `v`)
failures = failures + f
tries = tries + t
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment