diff options
Diffstat (limited to 'setuptools/tests/server.py')
-rw-r--r-- | setuptools/tests/server.py | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/setuptools/tests/server.py b/setuptools/tests/server.py index 099e8b19..1fee0563 100644 --- a/setuptools/tests/server.py +++ b/setuptools/tests/server.py @@ -1,10 +1,10 @@ """Basic http server for tests to simulate PyPI or custom indexes """ -import sys + import time import threading -from six.moves import BaseHTTPServer, SimpleHTTPServer, urllib +from six.moves import BaseHTTPServer, SimpleHTTPServer class IndexServer(BaseHTTPServer.HTTPServer): """Basic single-threaded http server simulating a package index @@ -23,12 +23,8 @@ class IndexServer(BaseHTTPServer.HTTPServer): RequestHandlerClass) self._run = True - def serve(self): - while self._run: - self.handle_request() - def start(self): - self.thread = threading.Thread(target=self.serve) + self.thread = threading.Thread(target=self.serve_forever) self.thread.start() def stop(self): @@ -37,19 +33,7 @@ class IndexServer(BaseHTTPServer.HTTPServer): # Let the server finish the last request and wait for a new one. time.sleep(0.1) - # self.shutdown is not supported on python < 2.6, so just - # set _run to false, and make a request, causing it to - # terminate. - self._run = False - url = 'http://127.0.0.1:%(server_port)s/' % vars(self) - try: - if sys.version_info >= (2, 6): - urllib.request.urlopen(url, timeout=5) - else: - urllib.request.urlopen(url) - except urllib.error.URLError: - # ignore any errors; all that's important is the request - pass + self.shutdown() self.thread.join() self.socket.close() @@ -78,6 +62,6 @@ class MockServer(BaseHTTPServer.HTTPServer, threading.Thread): def run(self): self.serve_forever() + @property def url(self): return 'http://localhost:%(server_port)s/' % vars(self) - url = property(url) |