tests/test-http
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Wed, 18 Nov 2009 12:47:58 +0100
changeset 9881 54b518fc6671
parent 9506 49b62395e910
child 10154 d4a62b6d4a58
permissions -rwxr-xr-x
httprepo: suppress the `real URL is...' message in safe, common cases. When the actual and requested URL only differ by trailing slashes, there is no need to warn. As an example, this easily happens when accessing repositories on Bitbucket over HTTP(S). As far as I could tell, there were no existing tests for this behaviour.

#!/bin/sh

cp "$TESTDIR"/printenv.py .

hg init test
cd test
echo foo>foo
mkdir foo.d foo.d/bAr.hg.d foo.d/baR.d.hg
echo foo>foo.d/foo
echo bar>foo.d/bAr.hg.d/BaR
echo bar>foo.d/baR.d.hg/bAR

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

echo % clone via stream
http_proxy= hg clone --uncompressed http://localhost:$HGPORT/ 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:$HGPORT1/ copy2

echo % clone via pull
http_proxy= hg clone http://localhost:$HGPORT1/ 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 | sed -e 's,:[0-9][0-9]*/,/,'
cd ..