aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/tests/server.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2012-04-01 10:56:03 -0400
committerJason R. Coombs <jaraco@jaraco.com>2012-04-01 10:56:03 -0400
commit1ed3a1602e14450433663f5923972a73686379fd (patch)
tree4c8d45d945438070fdfb51eb4e8414a3e9c512ff /setuptools/tests/server.py
parent83a86217e2f1cf1259d4b1921b840a449f0dd32b (diff)
downloadexternal_python_setuptools-1ed3a1602e14450433663f5923972a73686379fd.tar.gz
external_python_setuptools-1ed3a1602e14450433663f5923972a73686379fd.tar.bz2
external_python_setuptools-1ed3a1602e14450433663f5923972a73686379fd.zip
Cleaned up simulated index server, expanding documentation.
--HG-- branch : distribute extra : rebase_source : b479cf805b766fa35c8e76c30c7725e93f56e6a2
Diffstat (limited to 'setuptools/tests/server.py')
-rw-r--r--setuptools/tests/server.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/setuptools/tests/server.py b/setuptools/tests/server.py
index f4aaaa1c..2dcbe5af 100644
--- a/setuptools/tests/server.py
+++ b/setuptools/tests/server.py
@@ -2,7 +2,7 @@
"""
import urllib2
import sys
-from threading import Thread
+import threading
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
@@ -17,29 +17,36 @@ class IndexServer(HTTPServer):
# The index files should be located in setuptools/tests/indexes
s.stop()
"""
- def __init__(self):
- HTTPServer.__init__(self, ('', 0), SimpleHTTPRequestHandler)
+ def __init__(self, server_address=('', 0),
+ RequestHandlerClass=SimpleHTTPRequestHandler,
+ bind_and_activate=True):
+ HTTPServer.__init__(self, server_address, RequestHandlerClass,
+ bind_and_activate)
self._run = True
def serve(self):
- while True:
+ while self._run:
self.handle_request()
- if not self._run: break
def start(self):
- self.thread = Thread(target=self.serve)
+ self.thread = threading.Thread(target=self.serve)
self.thread.start()
def stop(self):
- """self.shutdown is not supported on python < 2.6"""
+ "Stop the server"
+
+ # 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 > '2.6':
- urllib2.urlopen('http://127.0.0.1:%s/' % self.server_port,
- None, 5)
+ if sys.version_info >= (2, 6):
+ urllib2.urlopen(url, timeout=5)
else:
- urllib2.urlopen('http://127.0.0.1:%s/' % self.server_port)
+ urllib2.urlopen(url)
except urllib2.URLError:
+ # ignore any errors; all that's important is the request
pass
self.thread.join()