diff tests/test-ssh @ 1110:1032a505488c

Add a simple dummy ssh test This uses the -e flag to run a dummy script rather than actual ssh to test the protocol over a local pipe.
author mpm@selenic.com
date Sat, 27 Aug 2005 18:11:32 -0700
parents
children 235e0effa672
line wrap: on
line diff
new file mode 100755
--- /dev/null
+++ b/tests/test-ssh
@@ -0,0 +1,67 @@
+#!/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