tests/test-static-http
author Vadim Gelfer <vadim.gelfer@gmail.com>
Fri, 14 Jul 2006 11:17:22 -0700
changeset 2612 ffb895f16925
parent 2571 d22d730c96ed
child 2673 109a22f5434a
permissions -rwxr-xr-x
add support for streaming clone. existing clone code uses pull to get changes from remote repo. is very slow, uses lots of memory and cpu. new clone code has server write file data straight to client, client writes file data straight to disk. memory and cpu used are very low, clone is much faster over lan. new client can still clone with pull, can still clone from older servers. new server can still serve older clients.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/sh
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
     2
2431
d90a9d7c7d4d replace old-http:// syntax by static-http:// and deprecate the redundant hg://
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1962
diff changeset
     3
http_proxy= hg clone static-http://localhost:20059/ copy
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
     4
echo $?
1962
2a676ad52c22 tests: more portability fix for the old systems
TK Soh <teekaysoh@yahoo.com>
parents: 1935
diff changeset
     5
ls copy 2>/dev/null || echo copy: No such file or directory
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
     6
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
     7
# This server doesn't do range requests so it's basically only good for
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
     8
# one pull
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
     9
cat > dumb.py <<EOF
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    10
import BaseHTTPServer, SimpleHTTPServer, signal
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    11
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    12
def run(server_class=BaseHTTPServer.HTTPServer,
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    13
        handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    14
    server_address = ('localhost', 20059)
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    15
    httpd = server_class(server_address, handler_class)
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    16
    httpd.serve_forever()
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    17
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    18
signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    19
run()
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    20
EOF
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    21
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    22
python dumb.py 2>/dev/null &
2571
d22d730c96ed tests: record few more daemon pids to be safe
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2431
diff changeset
    23
echo $! >> $DAEMON_PIDS
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    24
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    25
mkdir remote
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    26
cd remote
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    27
hg init
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    28
echo foo > bar
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    29
hg add bar
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1923
diff changeset
    30
hg commit -m"test" -d "1000000 0"
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    31
hg tip
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    32
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    33
cd ..
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    34
2431
d90a9d7c7d4d replace old-http:// syntax by static-http:// and deprecate the redundant hg://
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1962
diff changeset
    35
http_proxy= hg clone static-http://localhost:20059/remote local
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    36
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    37
cd local
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    38
hg verify
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    39
cat bar
1502
1170fef58071 Fixed test-static-http with http_proxy variable set again.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1128
diff changeset
    40
http_proxy= hg pull
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    41
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    42
kill $!