Rev 3742: Catch spurious exceptions (python-2.6) when SocketServer is shut down. in file:///v/home/vila/src/bzr/experimental/bzr-py26-compat/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Fri Sep 26 16:28:30 BST 2008
At file:///v/home/vila/src/bzr/experimental/bzr-py26-compat/
------------------------------------------------------------
revno: 3742
revision-id: v.ladeuil+lp at free.fr-20080926152829-ibdag0hw352qjcix
parent: v.ladeuil+lp at free.fr-20080926144520-nvwprjsbb927ff9t
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: http-server-select-exception
timestamp: Fri 2008-09-26 17:28:29 +0200
message:
Catch spurious exceptions (python-2.6) when SocketServer is shut down.
* bzrlib/tests/test_http.py:
(TestProxyHttpServer.proxied_in_env,
TestProxyHttpServer.not_proxied_in_env): Revert expected and
actual expressions to conform with bzr rules.
* bzrlib/tests/http_server.py:
(HttpServer.__repr__): Added for debug purposes.
(HttpServer._http_start): Catch spurious exceptions when running
with python-2.6.
-------------- next part --------------
=== modified file 'bzrlib/tests/http_server.py'
--- a/bzrlib/tests/http_server.py 2008-06-10 05:55:15 +0000
+++ b/bzrlib/tests/http_server.py 2008-09-26 15:28:29 +0000
@@ -20,6 +20,7 @@
import posixpath
import random
import re
+import select
import SimpleHTTPServer
import socket
import SocketServer
@@ -418,6 +419,10 @@
# Allows tests to verify number of GET requests issued
self.GET_request_nb = 0
+ def __repr__(self):
+ return "%s(%s:%s)" % \
+ (self.__class__.__name__, self.host, self.port)
+
def _get_httpd(self):
if self._httpd is None:
rhandler = self.request_handler
@@ -467,6 +472,14 @@
httpd.handle_request()
except socket.timeout:
pass
+ except (socket.error, select.error), e:
+ if e[0] == errno.EBADF:
+ # Starting with python-2.6, handle_request may raise socket
+ # or select exceptions when the server is shut down (as we
+ # do).
+ pass
+ else:
+ raise
def _get_remote_url(self, path):
path_parts = path.split(os.path.sep)
=== modified file 'bzrlib/tests/test_http.py'
--- a/bzrlib/tests/test_http.py 2008-09-26 07:56:08 +0000
+++ b/bzrlib/tests/test_http.py 2008-09-26 15:28:29 +0000
@@ -1138,7 +1138,7 @@
url = self.server.get_url()
t = self._transport(url)
try:
- self.assertEqual(t.get('foo').read(), 'proxied contents of foo\n')
+ self.assertEqual('proxied contents of foo\n', t.get('foo').read())
finally:
self._restore_env()
@@ -1147,7 +1147,7 @@
url = self.server.get_url()
t = self._transport(url)
try:
- self.assertEqual(t.get('foo').read(), 'contents of foo\n')
+ self.assertEqual('contents of foo\n', t.get('foo').read())
finally:
self._restore_env()
More information about the bazaar-commits
mailing list