Fix a bizarre typo in the helper class ComparableException: the
__getattr__() method, which clearly (like the other methods) was
intended to pass the __getattr__() call on to the self.err object,
mistakenly returned getattr(self, self.err) rather than
getattr(self.err, attr). Since self.err is not a string, this always
raises a TypeError. Apparently that doesn't bother for the one
attribute for which __getattr__() is actually called ('__coerce__'),
but it broke the rich comparisons stuff that I'm trying to get into
shape, so I'm fixing this now. (I could also simply remove the
__getattr__() method, but fixing it seems more in the spirit of what
the ComparableException class is trying to do.)
diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py
index 890d1b2..71e275f 100644
--- a/Lib/test/test_cgi.py
+++ b/Lib/test/test_cgi.py
@@ -31,7 +31,7 @@
return cmp(self.err.args, anExc.args)
def __getattr__(self, attr):
- return getattr(self, self.err)
+ return getattr(self.err, attr)
def do_test(buf, method):
env = {}