tests/test-http
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Thu, 02 Aug 2007 01:56:08 -0300
changeset 5053 47a8ea1eb2c3
parent 4289 e17598881509
child 5384 e3a0c092b4e2
permissions -rwxr-xr-x
del transaction before lock before wlock This way rollbacks happen while the repo is still locked. Deleting lock before wlock is not strictly necessary, but is more consistent with the locking order.

#!/bin/sh

cp "$TESTDIR"/printenv.py .

hg init test
cd test
echo foo>foo
hg commit -A -d '0 0' -m 1
hg --config server.uncompressed=True serve -p 20059 -d --pid-file=../hg1.pid
hg serve -p 20060 -d --pid-file=../hg2.pid
# Test server address cannot be reused
hg serve -p 20060 2>&1 | sed -e 's/abort: cannot start server:.*/abort: cannot start server:/'
cd ..
cat hg1.pid hg2.pid >> $DAEMON_PIDS

echo % clone via stream
http_proxy= hg clone --uncompressed http://localhost:20059/ copy 2>&1 | \
  sed -e 's/[0-9][0-9.]*/XXX/g' -e 's/[KM]\(B\/sec\)/X\1/'
hg verify -R copy

echo % try to clone via stream, should use pull instead
http_proxy= hg clone --uncompressed http://localhost:20060/ copy2

echo % clone via pull
http_proxy= hg clone http://localhost:20059/ copy-pull
hg verify -R copy-pull

cd test
echo bar > bar
hg commit -A -d '1 0' -m 2
cd ..

echo % pull
cd copy-pull
echo '[hooks]' >> .hg/hgrc
echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc
hg pull
cd ..