tests/test-pull-http
author Brodie Rao <brodie@bitheap.org>
Thu, 01 Jul 2010 19:23:26 -0500
branchstable
changeset 11555 d8d0fc3988ca
parent 10398 ace3cf2bc991
permissions -rwxr-xr-x
color/progress: subclass ui instead of using wrapfunction (issue2096) This resolves the issue of hg cmd --mq not being colorized. This was due to color wrapping only the instance of ui passed to dispatch._runcommand(), which isn't the same ui object that mq.mqcommand() receives. After dispatch calls extensions.loadall(), it makes sure any changes to ui.__class__ in uisetup are propagated. progress is updated to wrap ui in the same manner because wrapfunction doesn't play well when ui.__class__ has been replaced by another extension (orig will point to the old class method instead of color's).

#!/bin/sh

cp "$TESTDIR"/printenv.py .

hg init test
cd test
echo a > a
hg ci -Ama

cd ..
hg clone test test2
cd test2
echo a >> a
hg ci -mb

echo % expect error, cloning not allowed
echo '[web]' > .hg/hgrc
echo 'allowpull = false' >> .hg/hgrc
hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
cat hg.pid >> $DAEMON_PIDS
hg clone http://localhost:$HGPORT/ test3 | sed -e "s,:$HGPORT/,:\$HGPORT/,"
"$TESTDIR/killdaemons.py"
echo % serve errors
cat errors.log

req() {
	hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
	cat hg.pid >> $DAEMON_PIDS
	hg --cwd ../test pull http://localhost:$HGPORT/ | sed -e "s,:$HGPORT/,:\$HGPORT/,"
	kill `cat hg.pid`
	echo % serve errors
	cat errors.log
}

echo % expect error, pulling not allowed
req