[Python-checkins] distutils2: removed pypi_server's blocking behaviour (mostly)
tarek.ziade
python-checkins at python.org
Sun Jul 4 11:48:39 CEST 2010
tarek.ziade pushed e415685da4c5 to distutils2:
http://hg.python.org/distutils2/rev/e415685da4c5
changeset: 301:e415685da4c5
user: Konrad Delong <konryd at gmail.com>
date: Sat Jun 05 12:51:51 2010 +0200
summary: removed pypi_server's blocking behaviour (mostly)
files: src/distutils2/tests/pypi_server.py, src/distutils2/tests/test_pypi_server.py
diff --git a/src/distutils2/tests/pypi_server.py b/src/distutils2/tests/pypi_server.py
--- a/src/distutils2/tests/pypi_server.py
+++ b/src/distutils2/tests/pypi_server.py
@@ -12,8 +12,8 @@
import urllib2
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
-from wsgiref.simple_server import make_server
import os.path
+import select
PYPI_DEFAULT_STATIC_PATH = os.path.dirname(os.path.abspath(__file__)) + "/pypiserver"
@@ -61,7 +61,7 @@
self.httpd = HTTPServer(('', 0), PyPIRequestHandler)
self.httpd.RequestHandlerClass.log_request = lambda *_: None
self.httpd.RequestHandlerClass.pypi_server = self
- self.address = self.httpd.server_address
+ self.address = (self.httpd.server_name, self.httpd.server_port)
self.request_queue = Queue.Queue()
self._requests = []
self.default_response_status = 200
@@ -77,10 +77,10 @@
def run(self):
# loop because we can't stop it otherwise, for python < 2.6
- while True:
- self.httpd.handle_request()
- if not self._run:
- break
+ while self._run:
+ r, w, e = select.select([self.httpd], [], [], 0.5)
+ if r:
+ self.httpd.handle_request()
def stop(self):
"""self shutdown is not supported for python < 2.6"""
diff --git a/src/distutils2/tests/test_pypi_server.py b/src/distutils2/tests/test_pypi_server.py
--- a/src/distutils2/tests/test_pypi_server.py
+++ b/src/distutils2/tests/test_pypi_server.py
@@ -60,6 +60,7 @@
# and another one in another root path
self.assertTrue(uses_local_files_for(server, "/external/index.html"))
+ server.stop()
def test_suite():
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list