summaryrefslogtreecommitdiffstats
path: root/Lib/doctest.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2003-09-02 02:09:05 (GMT)
committerRaymond Hettinger <python@rcn.com>2003-09-02 02:09:05 (GMT)
commit5f8b0b1fd4801b4808223077643c24d41130b81e (patch)
treecd83260f9b194ddaebed6590f2a780e5a2bdd8a2 /Lib/doctest.py
parent5d2e777787fe30a371987b11904bbd0fbcec7840 (diff)
downloadcpython-5f8b0b1fd4801b4808223077643c24d41130b81e.zip
cpython-5f8b0b1fd4801b4808223077643c24d41130b81e.tar.gz
cpython-5f8b0b1fd4801b4808223077643c24d41130b81e.tar.bz2
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
Diffstat (limited to 'Lib/doctest.py')
-rw-r--r--Lib/doctest.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/doctest.py b/Lib/doctest.py
index dcee859..cff0501 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -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