view tests/test-static-http @ 5197:55860a45bbf2

Enable demandimport only in scripts, not in importable modules (issue605) This way other applications can choose if and when they want this feature, because it might be problematic if those applications rely on ImportError.
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 18 Aug 2007 11:37:08 +0200
parents 347766c2ff86
children 598dae804a5f
line wrap: on
line source

#!/bin/sh

cp "$TESTDIR"/printenv.py .

http_proxy= hg clone static-http://localhost:20059/ copy
echo $?
test -d copy || echo copy: No such file or directory

# This server doesn't do range requests so it's basically only good for
# one pull
cat > dumb.py <<EOF
import BaseHTTPServer, SimpleHTTPServer, signal

def run(server_class=BaseHTTPServer.HTTPServer,
        handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
    server_address = ('localhost', 20059)
    httpd = server_class(server_address, handler_class)
    httpd.serve_forever()

signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
run()
EOF

python dumb.py 2>/dev/null &
echo $! >> $DAEMON_PIDS

mkdir remote
cd remote
hg init
echo foo > bar
hg add bar
hg commit -m"test" -d "1000000 0"
hg tip

cd ..

http_proxy= hg clone static-http://localhost:20059/remote local

cd local
hg verify
cat bar

cd ../remote
echo baz > quux
hg commit -A -mtest2 -d '100000000 0'

cd ../local
echo '[hooks]' >> .hg/hgrc
echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc
http_proxy= hg pull

kill $!