Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 27683c9

Browse files
committed
Merged revisions 85893 via svnmerge from
svn+ssh://[email protected]/python/branches/py3k ........ r85893 | georg.brandl | 2010-10-28 16:55:02 +0200 (jeu., 28 oct. 2010) | 1 line #10116: wrap transient_internet() around net access in test_urllib2net. ........
1 parent a4f1afa commit 27683c9

1 file changed

Lines changed: 84 additions & 69 deletions

File tree

Lib/test/test_urllib2net.py

Lines changed: 84 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -154,22 +154,24 @@ def test_file(self):
154154

155155
def test_urlwithfrag(self):
156156
urlwith_frag = "http://docs.python.org/glossary.html#glossary"
157-
req = urllib.request.Request(urlwith_frag)
158-
res = urllib.request.urlopen(req)
159-
self.assertEqual(res.geturl(),
160-
"http://docs.python.org/glossary.html")
157+
with support.transient_internet(urlwith_frag):
158+
req = urllib.request.Request(urlwith_frag)
159+
res = urllib.request.urlopen(req)
160+
self.assertEqual(res.geturl(),
161+
"http://docs.python.org/glossary.html")
161162

162163
def test_custom_headers(self):
163164
url = "http://www.example.com"
164-
opener = urllib.request.build_opener()
165-
request = urllib.request.Request(url)
166-
self.assertFalse(request.header_items())
167-
opener.open(request)
168-
self.assertTrue(request.header_items())
169-
self.assertTrue(request.has_header('User-agent'))
170-
request.add_header('User-Agent','Test-Agent')
171-
opener.open(request)
172-
self.assertEqual(request.get_header('User-agent'),'Test-Agent')
165+
with support.transient_internet(url):
166+
opener = urllib.request.build_opener()
167+
request = urllib.request.Request(url)
168+
self.assertFalse(request.header_items())
169+
opener.open(request)
170+
self.assertTrue(request.header_items())
171+
self.assertTrue(request.has_header('User-agent'))
172+
request.add_header('User-Agent','Test-Agent')
173+
opener.open(request)
174+
self.assertEqual(request.get_header('User-agent'),'Test-Agent')
173175

174176
def _test_urls(self, urls, handlers, retry=True):
175177
import socket
@@ -186,31 +188,32 @@ def _test_urls(self, urls, handlers, retry=True):
186188
url, req, expected_err = url
187189
else:
188190
req = expected_err = None
189-
debug(url)
190-
try:
191-
f = urlopen(url, req, TIMEOUT)
192-
except EnvironmentError as err:
193-
debug(err)
194-
if expected_err:
195-
msg = ("Didn't get expected error(s) %s for %s %s, got %s: %s" %
196-
(expected_err, url, req, type(err), err))
197-
self.assertTrue(isinstance(err, expected_err), msg)
198-
except urllib.error.URLError as err:
199-
if isinstance(err[0], socket.timeout):
200-
print("<timeout: %s>" % url, file=sys.stderr)
201-
continue
202-
else:
203-
raise
204-
else:
191+
with support.transient_internet(url):
192+
debug(url)
205193
try:
206-
with support.time_out, \
207-
support.socket_peer_reset, \
208-
support.ioerror_peer_reset:
209-
buf = f.read()
210-
debug("read %d bytes" % len(buf))
211-
except socket.timeout:
212-
print("<timeout: %s>" % url, file=sys.stderr)
213-
f.close()
194+
f = urlopen(url, req, TIMEOUT)
195+
except EnvironmentError as err:
196+
debug(err)
197+
if expected_err:
198+
msg = ("Didn't get expected error(s) %s for %s %s, got %s: %s" %
199+
(expected_err, url, req, type(err), err))
200+
self.assertTrue(isinstance(err, expected_err), msg)
201+
except urllib.error.URLError as err:
202+
if isinstance(err[0], socket.timeout):
203+
print("<timeout: %s>" % url, file=sys.stderr)
204+
continue
205+
else:
206+
raise
207+
else:
208+
try:
209+
with support.time_out, \
210+
support.socket_peer_reset, \
211+
support.ioerror_peer_reset:
212+
buf = f.read()
213+
debug("read %d bytes" % len(buf))
214+
except socket.timeout:
215+
print("<timeout: %s>" % url, file=sys.stderr)
216+
f.close()
214217
debug("******** next url coming up...")
215218
time.sleep(0.1)
216219

@@ -227,59 +230,71 @@ def _extra_handlers(self):
227230
class TimeoutTest(unittest.TestCase):
228231
def test_http_basic(self):
229232
self.assertTrue(socket.getdefaulttimeout() is None)
230-
u = _urlopen_with_retry("http://www.python.org")
231-
self.assertTrue(u.fp.raw._sock.gettimeout() is None)
233+
url = "http://www.python.org"
234+
with support.transient_internet(url, timeout=None):
235+
u = _urlopen_with_retry(url)
236+
self.assertTrue(u.fp.raw._sock.gettimeout() is None)
232237

233238
def test_http_default_timeout(self):
234239
self.assertTrue(socket.getdefaulttimeout() is None)
235-
socket.setdefaulttimeout(60)
236-
try:
237-
u = _urlopen_with_retry("http://www.python.org")
238-
finally:
239-
socket.setdefaulttimeout(None)
240-
self.assertEqual(u.fp.raw._sock.gettimeout(), 60)
240+
url = "http://www.python.org"
241+
with support.transient_internet(url):
242+
socket.setdefaulttimeout(60)
243+
try:
244+
u = _urlopen_with_retry(url)
245+
finally:
246+
socket.setdefaulttimeout(None)
247+
self.assertEqual(u.fp.raw._sock.gettimeout(), 60)
241248

242249
def test_http_no_timeout(self):
243250
self.assertTrue(socket.getdefaulttimeout() is None)
244-
socket.setdefaulttimeout(60)
245-
try:
246-
u = _urlopen_with_retry("http://www.python.org", timeout=None)
247-
finally:
248-
socket.setdefaulttimeout(None)
249-
self.assertTrue(u.fp.raw._sock.gettimeout() is None)
251+
url = "http://www.python.org"
252+
with support.transient_internet(url):
253+
socket.setdefaulttimeout(60)
254+
try:
255+
u = _urlopen_with_retry(url, timeout=None)
256+
finally:
257+
socket.setdefaulttimeout(None)
258+
self.assertTrue(u.fp.raw._sock.gettimeout() is None)
250259

251260
def test_http_timeout(self):
252-
u = _urlopen_with_retry("http://www.python.org", timeout=120)
253-
self.assertEqual(u.fp.raw._sock.gettimeout(), 120)
261+
url = "http://www.python.org"
262+
with support.transient_internet(url):
263+
u = _urlopen_with_retry(url, timeout=120)
264+
self.assertEqual(u.fp.raw._sock.gettimeout(), 120)
254265

255266
FTP_HOST = "ftp://ftp.mirror.nl/pub/mirror/gnu/"
256267

257268
def test_ftp_basic(self):
258269
self.assertTrue(socket.getdefaulttimeout() is None)
259-
u = _urlopen_with_retry(self.FTP_HOST)
260-
self.assertTrue(u.fp.fp.raw._sock.gettimeout() is None)
270+
with support.transient_internet(self.FTP_HOST, timeout=None):
271+
u = _urlopen_with_retry(self.FTP_HOST)
272+
self.assertTrue(u.fp.fp.raw._sock.gettimeout() is None)
261273

262274
def test_ftp_default_timeout(self):
263275
self.assertTrue(socket.getdefaulttimeout() is None)
264-
socket.setdefaulttimeout(60)
265-
try:
266-
u = _urlopen_with_retry(self.FTP_HOST)
267-
finally:
268-
socket.setdefaulttimeout(None)
269-
self.assertEqual(u.fp.fp.raw._sock.gettimeout(), 60)
276+
with support.transient_internet(self.FTP_HOST):
277+
socket.setdefaulttimeout(60)
278+
try:
279+
u = _urlopen_with_retry(self.FTP_HOST)
280+
finally:
281+
socket.setdefaulttimeout(None)
282+
self.assertEqual(u.fp.fp.raw._sock.gettimeout(), 60)
270283

271284
def test_ftp_no_timeout(self):
272285
self.assertTrue(socket.getdefaulttimeout() is None)
273-
socket.setdefaulttimeout(60)
274-
try:
275-
u = _urlopen_with_retry(self.FTP_HOST, timeout=None)
276-
finally:
277-
socket.setdefaulttimeout(None)
278-
self.assertTrue(u.fp.fp.raw._sock.gettimeout() is None)
286+
with support.transient_internet(self.FTP_HOST):
287+
socket.setdefaulttimeout(60)
288+
try:
289+
u = _urlopen_with_retry(self.FTP_HOST, timeout=None)
290+
finally:
291+
socket.setdefaulttimeout(None)
292+
self.assertTrue(u.fp.fp.raw._sock.gettimeout() is None)
279293

280294
def test_ftp_timeout(self):
281-
u = _urlopen_with_retry(self.FTP_HOST, timeout=60)
282-
self.assertEqual(u.fp.fp.raw._sock.gettimeout(), 60)
295+
with support.transient_internet(self.FTP_HOST):
296+
u = _urlopen_with_retry(self.FTP_HOST, timeout=60)
297+
self.assertEqual(u.fp.fp.raw._sock.gettimeout(), 60)
283298

284299

285300
def test_main():

0 commit comments

Comments
 (0)