|
1 | 1 | import unittest
|
2 |
| - |
3 | 2 | from twisted.internet.error import TimeoutError as ServerTimeoutError, \
|
4 | 3 | DNSLookupError, ConnectionRefusedError, ConnectionDone, ConnectError, \
|
5 | 4 | ConnectionLost
|
6 | 5 |
|
| 6 | +from scrapy import optional_features |
7 | 7 | from scrapy.contrib.downloadermiddleware.retry import RetryMiddleware
|
8 | 8 | from scrapy.xlib.tx import ResponseFailed
|
9 | 9 | from scrapy.spider import BaseSpider
|
@@ -64,9 +64,13 @@ def test_503(self):
|
64 | 64 | assert self.mw.process_response(req, rsp, self.spider) is rsp
|
65 | 65 |
|
66 | 66 | def test_twistederrors(self):
|
67 |
| - for exc in (ServerTimeoutError, DNSLookupError, ConnectionRefusedError, |
68 |
| - ConnectionDone, ConnectError, ConnectionLost, |
69 |
| - ResponseFailed): |
| 67 | + exceptions = [ServerTimeoutError, DNSLookupError, |
| 68 | + ConnectionRefusedError, ConnectionDone, ConnectError, |
| 69 | + ConnectionLost] |
| 70 | + if 'http11' in optional_features: |
| 71 | + exceptions.append(ResponseFailed) |
| 72 | + |
| 73 | + for exc in exceptions: |
70 | 74 | req = Request('http://www.scrapytest.org/%s' % exc.__name__)
|
71 | 75 | self._test_retry_exception(req, exc('foo'))
|
72 | 76 |
|
|
0 commit comments