
* test/lisp/emacs-lisp/package-resources/package-test-server.py: Set 'server_address' when port number is given on the command line. Print IP and port number as a URL, and flush it after printing. * test/lisp/emacs-lisp/package-tests.el: (package-test-update-archives-async): Grab the whole URL from server output.
25 lines
695 B
Python
25 lines
695 B
Python
import sys
|
|
import BaseHTTPServer
|
|
from SimpleHTTPServer import SimpleHTTPRequestHandler
|
|
|
|
|
|
HandlerClass = SimpleHTTPRequestHandler
|
|
ServerClass = BaseHTTPServer.HTTPServer
|
|
Protocol = "HTTP/1.0"
|
|
|
|
if sys.argv[1:]:
|
|
port = int(sys.argv[1])
|
|
else:
|
|
port = 0
|
|
server_address = ('127.0.0.1', port)
|
|
|
|
HandlerClass.protocol_version = Protocol
|
|
httpd = ServerClass(server_address, HandlerClass)
|
|
|
|
ip, port = httpd.socket.getsockname()[0:2]
|
|
print ("Server started, http://%s:%s/" % (ip, port))
|
|
# Flush in case we're in full buffering mode (instead of line
|
|
# buffering), this might happen if python is a cygwin program and we
|
|
# run it from a native w32 program.
|
|
sys.stdout.flush()
|
|
httpd.serve_forever()
|