[Python-Dev] [Python-checkins] cpython (3.2): Issue #13211: Add .reason attribute to HTTPError to implement parent class
Nick Coghlan
ncoghlan at gmail.com
Sun Dec 4 05:11:58 CET 2011
On Sun, Dec 4, 2011 at 12:46 AM, jason.coombs
<python-checkins at python.org> wrote:
> +def test_HTTPError_interface():
> + """
> + Issue 13211 reveals that HTTPError didn't implement the URLError
> + interface even though HTTPError is a subclass of URLError.
> +
> + >>> err = urllib.error.HTTPError(msg='something bad happened', url=None, code=None, hdrs=None, fp=None)
> + >>> assert hasattr(err, 'reason')
> + >>> err.reason
> + 'something bad happened'
> + """
> +
Did you re-run the test suite after forward-porting to 3.3? I'm
consistently getting failures:
$ ./python -m test test_urllib2
[1/1] test_urllib2
**********************************************************************
File "/home/ncoghlan/devel/py3k/Lib/test/test_urllib2.py", line 1457,
in test.test_urllib2.test_HTTPError_interface
Failed example:
err = urllib.error.HTTPError(msg='something bad happened',
url=None, code=None, hdrs=None, fp=None)
Exception raised:
Traceback (most recent call last):
File "/home/ncoghlan/devel/py3k/Lib/doctest.py", line 1253, in __run
compileflags, 1), test.globs)
File "<doctest test.test_urllib2.test_HTTPError_interface[0]>",
line 1, in <module>
err = urllib.error.HTTPError(msg='something bad happened',
url=None, code=None, hdrs=None, fp=None)
TypeError: HTTPError does not take keyword arguments
**********************************************************************
File "/home/ncoghlan/devel/py3k/Lib/test/test_urllib2.py", line 1458,
in test.test_urllib2.test_HTTPError_interface
Failed example:
assert hasattr(err, 'reason')
Exception raised:
Traceback (most recent call last):
File "/home/ncoghlan/devel/py3k/Lib/doctest.py", line 1253, in __run
compileflags, 1), test.globs)
File "<doctest test.test_urllib2.test_HTTPError_interface[1]>",
line 1, in <module>
assert hasattr(err, 'reason')
NameError: name 'err' is not defined
**********************************************************************
File "/home/ncoghlan/devel/py3k/Lib/test/test_urllib2.py", line 1459,
in test.test_urllib2.test_HTTPError_interface
Failed example:
err.reason
Exception raised:
Traceback (most recent call last):
File "/home/ncoghlan/devel/py3k/Lib/doctest.py", line 1253, in __run
compileflags, 1), test.globs)
File "<doctest test.test_urllib2.test_HTTPError_interface[2]>",
line 1, in <module>
err.reason
NameError: name 'err' is not defined
**********************************************************************
1 items had failures:
3 of 3 in test.test_urllib2.test_HTTPError_interface
***Test Failed*** 3 failures.
test test_urllib2 failed -- 3 of 65 doctests failed
1 test failed:
test_urllib2
[142313 refs]
Now, this failure is quite possibly due to a flaw in the PEP 3151
implementation (see http://bugs.python.org/issue12555), but picking up
this kind of thing is the reason we say to always run the tests before
committing, even for a simple merge.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev
mailing list