tests/test-bad-pull
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 18 Aug 2007 21:36:10 -0300
changeset 5200 c7e8fe11f34a
parent 4317 66249be9aa23
child 5384 e3a0c092b4e2
permissions -rwxr-xr-x
path_auditor: cache names of audited directories We use a separate cache to avoid problems with audit = path_auditor(repo.root) audit("subrepo") audit("subrepo/file") whitelisting "subrepo" (which is fine) and then using the same whitelist with "subrepo/file" (which is not fine). Since we create a separate path_auditor for every path on the command line, a "hg add dir/a dir/b dir/c" will still lstat dir 3 times just to audit the paths.

#!/bin/sh

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

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

# give the server some time to start running
sleep 1

http_proxy= hg clone http://localhost:20059/foo copy2 2>&1 | \
    sed -e 's/404.*/404/' -e 's/Date:.*/Date:/'
echo $?

kill $!