From 5f8b0b1fd4801b4808223077643c24d41130b81e Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 2 Sep 2003 02:09:05 +0000 Subject: 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 --- Lib/doctest.py | 5 +++-- 1 file 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 -- cgit v0.12