From 63dffea17bbfc90dcfb66ec22f48800e71888bc9 Mon Sep 17 00:00:00 2001 From: Cameron Dale Date: Fri, 9 May 2008 14:35:43 -0700 Subject: [PATCH] Set the HTTP connection timeout to 10s, and add a test for it. --- apt_p2p/HTTPDownloader.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/apt_p2p/HTTPDownloader.py b/apt_p2p/HTTPDownloader.py index 1a0752c..9e789b8 100644 --- a/apt_p2p/HTTPDownloader.py +++ b/apt_p2p/HTTPDownloader.py @@ -163,7 +163,7 @@ class Peer(ClientFactory): log.msg('Connecting to (%s, %d)' % (self.host, self.port)) self.connecting = True d = protocol.ClientCreator(reactor, LoggingHTTPClientProtocol, self, - stats = self.stats, mirror = self.mirror).connectTCP(self.host, self.port) + stats = self.stats, mirror = self.mirror).connectTCP(self.host, self.port, timeout = 10) d.addCallbacks(self.connected, self.connectionError) def connected(self, proto): @@ -576,6 +576,19 @@ class TestClientManager(unittest.TestCase): d.addCallback(self.gotResp, 1, 100) return d + def test_timeout(self): + """Tests a connection timeout.""" + from twisted.internet.error import TimeoutError + host = 'steveholt.hopto.org' + self.client = Peer(host, 80) + self.timeout = 60 + + d = self.client.get('/rfc/rfc0013.txt') + d.addCallback(self.gotResp, 1, 1070) + d = self.failUnlessFailure(d, TimeoutError) + d.addCallback(lambda a: self.flushLoggedErrors(TimeoutError)) + return d + def tearDown(self): for p in self.pending_calls: if p.active(): -- 2.39.5