tests/test-ssh
author bos@serpentine.internal.keyresearch.com
Mon, 29 Aug 2005 10:05:49 -0700
changeset 1146 9061f79c6c6f
parent 1110 1032a505488c
child 1168 235e0effa672
permissions -rwxr-xr-x
grep: extend functionality, add man page entry, add unit test. walkchangerevs now returns a two-tuple. Its behaviour is also extensively commented. The annotate command's getname function has been factored out to a new function, trimname, so it can be shared between annotate and grep. The behaviour of grep has been beefed up, so that it now performs a number of useful functions.

#!/bin/sh

# This test tries to exercise the ssh functionality with a dummy script

cat <<'EOF' > dummyssh
#!/bin/sh
# this attempts to deal with relative pathnames
cd `dirname $0`

# check for proper args
if [ $1 != "user@dummy" ] ; then
	exit -1
fi

# check that we're in the right directory
if \! [ -x dummyssh ] ; then
	exit -1
fi

echo Got arguments 1:$1 2:$2 3:$3 4:$4 5:$5 >> dummylog
$2
EOF
chmod +x dummyssh

echo "# creating 'remote'"
hg init remote
cd remote
echo this > foo
hg ci -A -m "init" -d "0 0" foo

cd ..

echo "# clone remote"
hg clone -e ./dummyssh ssh://user@dummy/remote local

echo "# verify"
cd local
hg verify

echo "# empty default pull"
hg paths
hg pull -e ../dummyssh

echo "# local change"
echo bleah > foo
hg ci -m "add" -d "0 0"

echo "# updating rc"
echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc
echo "[ui]" >> .hg/hgrc
echo "ssh = ../dummyssh" >> .hg/hgrc

echo "# find outgoing"
hg out ssh://user@dummy/remote

echo "# push"
hg push

cd ../remote

echo "# check remote tip"
hg tip
hg verify
hg cat foo

cd ..
cat dummylog