view tests/test-bad-pull @ 10203:6e26e3c2083f stable

patch: explicitely close input patch files when leaving If applydiff() raises an exception, the opened patch file is kept alive in the exception context. If it is a temporary file (for instance supplied by import command with stdin input), Windows cannot clean it up.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 03 Jan 2010 19:47:07 +0100
parents d4a62b6d4a58
children
line wrap: on
line source

#!/bin/sh

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

cat > dumb.py <<EOF
import BaseHTTPServer, SimpleHTTPServer, os, signal

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: sys.exit(0))
run()
EOF

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

# give the server some time to start running
sleep 1

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

kill $!