diff -r 16d23c358848 Lib/traceback.py --- a/Lib/traceback.py Sun Sep 13 21:09:17 2015 +0300 +++ b/Lib/traceback.py Mon Sep 14 20:47:47 2015 +0300 @@ -251,10 +251,14 @@ class FrameSummary: dict((k, repr(v)) for k, v in locals.items()) if locals else None def __eq__(self, other): - return (self.filename == other.filename and - self.lineno == other.lineno and - self.name == other.name and - self.locals == other.locals) + if isinstance(other, FrameSummary): + return (self.filename == other.filename and + self.lineno == other.lineno and + self.name == other.name and + self.locals == other.locals) + if isinstance(other, tuple): + return (self.filename, self.lineno, self.name, self.locals) == other + return NotImplemented def __getitem__(self, pos): return (self.filename, self.lineno, self.name, self.line)[pos]