-
-
Notifications
You must be signed in to change notification settings - Fork 32.7k
Closed
Labels
stdlibPython modules in the Lib dirPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
In doctest.py
the following ordering is defined for the class DocTest
:
def __lt__(self, other):
if not isinstance(other, DocTest):
return NotImplemented
return ((self.name, self.filename, self.lineno, id(self))
<
(other.name, other.filename, other.lineno, id(other)))
This is incorrect because the lineno
field may be an integer and may be None, and comparisons between integers and None fail. Typically lineno
is an integer, but _find_lineno
explicitly can fall back to returning None
so the field may be None:
def _find_lineno(self, obj, source_lines):
...
# We couldn't find the line number.
return None
Linked PRs
Metadata
Metadata
Assignees
Labels
stdlibPython modules in the Lib dirPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error