annotate tests/test-static-http @ 2612:ffb895f16925

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.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Fri, 14 Jul 2006 11:17:22 -0700
parents d22d730c96ed
children 109a22f5434a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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 $!