tests/test-http-proxy
author Bryan O'Sullivan <bos@serpentine.com>
Tue, 24 Apr 2007 10:53:25 -0700
changeset 4369 d7ad1e42a368
parent 3012 fa4229c60dd7
child 5384 e3a0c092b4e2
permissions -rwxr-xr-x
util._matcher: speed up regexp matching. In 4babaa52badf, Benoit made a change that substantially slows matching when a big .hgignore file is in play, because it calls into the regexp matching engine potentially hundreds of times per file to be matched. I've partly rolled back his change, so that we only call into the matcher once per file, but preserved the ability to report a meaningful error message if there's a syntax error in the regexp.

#!/bin/sh

hg init a
cd a
echo a > a
hg ci -Ama -d '1123456789 0'
hg --config server.uncompressed=True serve -p 20059 -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS

cd ..
("$TESTDIR/tinyproxy.py" 20060 localhost >proxy.log 2>&1 </dev/null &
echo $! > proxy.pid)
cat proxy.pid >> $DAEMON_PIDS
sleep 2

echo %% url for proxy, stream
http_proxy=http://localhost:20060/ hg --config http_proxy.always=True clone --uncompressed http://localhost:20059/ b | \
  sed -e 's/[0-9][0-9.]*/XXX/g' -e 's/[KM]\(B\/sec\)/X\1/'
cd b
hg verify
cd ..

echo %% url for proxy, pull
http_proxy=http://localhost:20060/ hg --config http_proxy.always=True clone http://localhost:20059/ b-pull
cd b-pull
hg verify
cd ..

echo %% host:port for proxy
http_proxy=localhost:20060 hg clone --config http_proxy.always=True http://localhost:20059/ c

echo %% proxy url with user name and password
http_proxy=http://user:passwd@localhost:20060 hg clone --config http_proxy.always=True http://localhost:20059/ d

echo %% url with user name and password
http_proxy=http://user:passwd@localhost:20060 hg clone --config http_proxy.always=True http://user:passwd@localhost:20059/ e

echo %% bad host:port for proxy
http_proxy=localhost:20061 hg clone --config http_proxy.always=True http://localhost:20059/ f

exit 0