Mercurial > public > mercurial-scm > hg
diff tests/test-static-http.t @ 22959:10116463b0b1
tests: pull common http server setup out of individual tests
There are currently two different tests using roughly the same code to
create temporary scripts acting as HTTP servers. As there is going to
be at least one more in an upcoming change, factor those out in a
standalone dumbhttp.py script.
author | Mike Hommey <mh@glandium.org> |
---|---|
date | Thu, 16 Oct 2014 13:48:51 +0900 |
parents | e803186296ab |
children | 7c13c9404c2c |
line wrap: on
line diff
--- a/tests/test-static-http.t Wed Sep 24 16:00:47 2014 +0900 +++ b/tests/test-static-http.t Thu Oct 16 13:48:51 2014 +0900 @@ -15,36 +15,7 @@ This server doesn't do range requests so it's basically only good for one pull - $ cat > dumb.py <<EOF - > import BaseHTTPServer, SimpleHTTPServer, os, signal, sys - > - > def run(server_class=BaseHTTPServer.HTTPServer, - > handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler): - > server_address = ('localhost', int(os.environ['HGPORT'])) - > httpd = server_class(server_address, handler_class) - > httpd.serve_forever() - > - > signal.signal(signal.SIGTERM, lambda x, y: sys.exit(0)) - > fp = file('dumb.pid', 'wb') - > fp.write(str(os.getpid()) + '\n') - > fp.close() - > run() - > EOF - $ python dumb.py 2>/dev/null & - -Cannot just read $!, it will not be set to the right value on Windows/MinGW - - $ cat > wait.py <<EOF - > import time - > while True: - > try: - > if '\n' in file('dumb.pid', 'rb').read(): - > break - > except IOError: - > pass - > time.sleep(0.2) - > EOF - $ python wait.py + $ python "$TESTDIR/dumbhttp.py" -p $HGPORT --pid dumb.pid $ cat dumb.pid >> $DAEMON_PIDS $ hg init remote $ cd remote