summaryrefslogtreecommitdiffstats
path: root/net/tools/testserver/testserver.py
diff options
context:
space:
mode:
authorcbentzel@chromium.org <cbentzel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-27 15:11:46 +0000
committercbentzel@chromium.org <cbentzel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-27 15:11:46 +0000
commit286adf5ad68b88df9028ab8239ae55c5b2eab81c (patch)
treecad1420741b139db3f7cf387d15932a466d56712 /net/tools/testserver/testserver.py
parent476a4c1bd8149fc469fa81821290d53d9c0f228e (diff)
downloadchromium_src-286adf5ad68b88df9028ab8239ae55c5b2eab81c.zip
chromium_src-286adf5ad68b88df9028ab8239ae55c5b2eab81c.tar.gz
chromium_src-286adf5ad68b88df9028ab8239ae55c5b2eab81c.tar.bz2
Revert 64065 - testserver.py listens on ephemeral ports by default.
I'm not convinced that this caused some of the test failures, but I needed to leave unexpectedly and didn't have time to investigate. If --port is specified on the command line, testserver.py will listen on that port, otherwise it will listen on an ephemeral port. If --startup_pipe is specified, the port number is written to the pipe as a 2 byte unsigned int in host order. TestServer by default spawns testserver.py to listen on an ephemeral port and reads the port value from the pipe. If necessary, the port can still be fixed using TestServer::ForcePort, but that will hopefully get deprecated quickly. BUG=56814 TEST=try bots pass Review URL: http://codereview.chromium.org/3549003 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/4165004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64070 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/tools/testserver/testserver.py')
-rw-r--r--net/tools/testserver/testserver.py26
1 files changed, 9 insertions, 17 deletions
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py
index 7604de6..c3fe86b 100644
--- a/net/tools/testserver/testserver.py
+++ b/net/tools/testserver/testserver.py
@@ -6,9 +6,7 @@
"""This is a simple HTTP server used for testing Chrome.
It supports several test URLs, as specified by the handlers in TestPageHandler.
-By default, it listens on an ephemeral port and sends the port number back to
-the originating process over a pipe. The originating process can specify an
-explicit port if necessary.
+It defaults to living on localhost:8888.
It can use https if you specify the flag --https=CERT where CERT is the path
to a pem file containing the certificate and private key that should be used.
"""
@@ -22,7 +20,6 @@ import re
import shutil
import SocketServer
import sys
-import struct
import time
import urllib2
import warnings
@@ -499,7 +496,7 @@ class TestPageHandler(BaseHTTPServer.BaseHTTPRequestHandler):
'pre { border: 1px solid black; margin: 5px; padding: 5px }'
'</style></head><body>'
'<div style="float: right">'
- '<a href="/echo">back to referring page</a></div>'
+ '<a href="http://localhost:8888/echo">back to referring page</a></div>'
'<h1>Request Body:</h1><pre>')
if self.command == 'POST' or self.command == 'PUT':
@@ -1173,15 +1170,15 @@ def main(options, args):
return
server = HTTPSServer(('127.0.0.1', port), TestPageHandler, options.cert,
options.ssl_client_auth, options.ssl_client_ca)
- print 'HTTPS server started on port %d...' % server.server_port
+ print 'HTTPS server started on port %d...' % port
else:
server = StoppableHTTPServer(('127.0.0.1', port), TestPageHandler)
- print 'HTTP server started on port %d...' % server.server_port
+ print 'HTTP server started on port %d...' % port
server.data_dir = MakeDataDir()
server.file_root_url = options.file_root_url
server._sync_handler = None
- listen_port = server.server_port
+
# means FTP Server
else:
my_data_dir = MakeDataDir()
@@ -1206,8 +1203,7 @@ def main(options, args):
# Instantiate FTP server class and listen to 127.0.0.1:port
address = ('127.0.0.1', port)
server = pyftpdlib.ftpserver.FTPServer(address, ftp_handler)
- listen_port = server.socket.getsockname()[1]
- print 'FTP server started on port %d...' % listen_port
+ print 'FTP server started on port %d...' % port
# Notify the parent that we've started. (BaseServer subclasses
# bind their sockets on construction.)
@@ -1217,10 +1213,7 @@ def main(options, args):
else:
fd = options.startup_pipe
startup_pipe = os.fdopen(fd, "w")
- # Write the listening port as a 2 byte value. This is _not_ using
- # network byte ordering since the other end of the pipe is on the same
- # machine.
- startup_pipe.write(struct.pack('@H', listen_port))
+ startup_pipe.write("READY")
startup_pipe.close()
try:
@@ -1235,9 +1228,8 @@ if __name__ == '__main__':
const=SERVER_FTP, default=SERVER_HTTP,
dest='server_type',
help='FTP or HTTP server: default is HTTP.')
- option_parser.add_option('', '--port', default='0', type='int',
- help='Port used by the server. If unspecified, the '
- 'server will listen on an ephemeral port.')
+ option_parser.add_option('', '--port', default='8888', type='int',
+ help='Port used by the server.')
option_parser.add_option('', '--data-dir', dest='data_dir',
help='Directory from which to read the files.')
option_parser.add_option('', '--https', dest='cert',