Added tests for local and remote init.
authorThomas Arendsen Hein <thomas@intevation.de>
Wed, 12 Jul 2006 09:01:10 +0200
changeset 2599 e4b5e48052c6
parent 2598 b898afee9d0d
child 2600 c4325f0a9b91
Added tests for local and remote init. This tests the changes done in edb66cb05ded and b898afee9d0d.
tests/test-init
tests/test-init.out
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-init	Wed Jul 12 09:01:10 2006 +0200
@@ -0,0 +1,52 @@
+#!/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 'local'"
+hg init local
+echo this > local/foo
+hg ci --cwd local -A -m "init" -d "1000000 0"
+
+echo "# init+push to remote2"
+hg init -e ./dummyssh ssh://user@dummy/remote2
+hg incoming -R remote2 local
+hg push -R local -e ./dummyssh ssh://user@dummy/remote2
+
+echo "# clone to remote1"
+hg clone -e ./dummyssh local ssh://user@dummy/remote1
+
+echo "# output of dummyssh"
+cat dummylog
+
+echo "# comparing repositories"
+hg tip -q -R local
+hg tip -q -R remote1
+hg tip -q -R remote2
+
+echo "# check names for repositories (clashes with URL schemes, special chars)"
+for i in bundle file hg http https old-http ssh static-http " " "with space"; do
+  echo "# hg init \"$i\""
+  hg init "$i"
+  test -d "$i" -a -d "$i/.hg" -a -d "$i/.hg/data" && echo "ok" || echo "failed"
+done
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-init.out	Wed Jul 12 09:01:10 2006 +0200
@@ -0,0 +1,56 @@
+# creating 'local'
+adding foo
+# init+push to remote2
+changeset:   0:c4e059d443be
+tag:         tip
+user:        test
+date:        Mon Jan 12 13:46:40 1970 +0000
+summary:     init
+
+pushing to ssh://user@dummy/remote2
+searching for changes
+remote: adding changesets
+remote: adding manifests
+remote: adding file changes
+remote: added 1 changesets with 1 changes to 1 files
+# clone to remote1
+searching for changes
+remote: abort: repository remote1 not found!
+remote: adding changesets
+remote: adding manifests
+remote: adding file changes
+remote: added 1 changesets with 1 changes to 1 files
+# output of dummyssh
+Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio 3: 4: 5:
+Got arguments 1:user@dummy 2:hg init remote2 3: 4: 5:
+Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio 3: 4: 5:
+Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio 3: 4: 5:
+Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio 3: 4: 5:
+Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio 3: 4: 5:
+Got arguments 1:user@dummy 2:hg init remote1 3: 4: 5:
+Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio 3: 4: 5:
+# comparing repositories
+0:c4e059d443be
+0:c4e059d443be
+0:c4e059d443be
+# check names for repositories (clashes with URL schemes, special chars)
+# hg init "bundle"
+ok
+# hg init "file"
+ok
+# hg init "hg"
+ok
+# hg init "http"
+ok
+# hg init "https"
+ok
+# hg init "old-http"
+ok
+# hg init "ssh"
+ok
+# hg init "static-http"
+ok
+# hg init " "
+ok
+# hg init "with space"
+ok