diff options
author | Raymond Hettinger <python@rcn.com> | 2003-09-02 02:09:05 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2003-09-02 02:09:05 (GMT) |
commit | 5f8b0b1fd4801b4808223077643c24d41130b81e (patch) | |
tree | cd83260f9b194ddaebed6590f2a780e5a2bdd8a2 | |
parent | 5d2e777787fe30a371987b11904bbd0fbcec7840 (diff) | |
download | cpython-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
-rw-r--r-- | Lib/doctest.py | 5 |
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 |