tests: unify test-init
authorNicolas Dumazet <nicdumz.commits@gmail.com>
Thu, 12 Aug 2010 15:31:18 +0900
changeset 11786 38e3f973a4f3
parent 11785 7d9be960cd9a
child 11787 7830e693b704
tests: unify test-init
tests/test-init
tests/test-init.out
tests/test-init.t
--- a/tests/test-init	Thu Aug 12 15:18:44 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-#!/bin/sh
-
-# This test tries to exercise the ssh functionality with a dummy script
-
-cat <<EOF > dummyssh
-import sys
-import os
-
-os.chdir(os.path.dirname(sys.argv[0]))
-if sys.argv[1] != "user@dummy":
-    sys.exit(-1)
-
-if not os.path.exists("dummyssh"):
-    sys.exit(-1)
-
-log = open("dummylog", "ab")
-log.write("Got arguments")
-for i, arg in enumerate(sys.argv[1:]):
-    log.write(" %d:%s" % (i+1, arg))
-log.write("\n")
-log.close()
-r = os.system(sys.argv[2])
-sys.exit(bool(r))
-EOF
-
-checknewrepo()
-{
-    name=$1
-
-    if [ -d $name/.hg/store ]; then
-	echo store created
-    fi
-
-    if [ -f $name/.hg/00changelog.i ]; then
-	echo 00changelog.i created
-    fi
-
-    cat $name/.hg/requires
-}
-
-echo "# creating 'local'"
-hg init local
-checknewrepo local
-echo this > local/foo
-hg ci --cwd local -A -m "init" -d "1000000 0"
-
-echo "# creating repo with format.usestore=false"
-hg --config format.usestore=false init old
-checknewrepo old
-
-echo "# creating repo with format.usefncache=false"
-hg --config format.usefncache=false init old2
-checknewrepo old2
-
-echo "#test failure"
-hg init local
-
-echo "# init+push to remote2"
-hg init -e "python ./dummyssh" ssh://user@dummy/remote2
-hg incoming -R remote2 local
-hg push -R local -e "python ./dummyssh" ssh://user@dummy/remote2
-
-echo "# clone to remote1"
-hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1
-
-echo "# init to existing repo"
-hg init -e "python ./dummyssh" ssh://user@dummy/remote1
-
-echo "# clone to existing repo"
-hg clone -e "python ./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" && echo "ok" || echo "failed"
-done
-
-echo "# creating 'local/sub/repo'"
-hg init local/sub/repo
-checknewrepo local/sub/repo
--- a/tests/test-init.out	Thu Aug 12 15:18:44 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-# creating 'local'
-store created
-00changelog.i created
-revlogv1
-store
-fncache
-adding foo
-# creating repo with format.usestore=false
-revlogv1
-# creating repo with format.usefncache=false
-store created
-00changelog.i created
-revlogv1
-store
-#test failure
-abort: repository local already exists!
-# init+push to remote2
-comparing with local
-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: adding changesets
-remote: adding manifests
-remote: adding file changes
-remote: added 1 changesets with 1 changes to 1 files
-# init to existing repo
-abort: repository remote1 already exists!
-abort: could not create remote repo!
-# clone to existing repo
-abort: repository remote1 already exists!
-abort: could not create remote repo!
-# output of dummyssh
-Got arguments 1:user@dummy 2:hg init remote2
-Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
-Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
-Got arguments 1:user@dummy 2:hg init remote1
-Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio
-Got arguments 1:user@dummy 2:hg init remote1
-Got arguments 1:user@dummy 2:hg init remote1
-# 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
-# creating 'local/sub/repo'
-store created
-00changelog.i created
-revlogv1
-store
-fncache
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-init.t	Thu Aug 12 15:31:18 2010 +0900
@@ -0,0 +1,156 @@
+# This test tries to exercise the ssh functionality with a dummy script
+
+  $ cat <<EOF > dummyssh
+  > import sys
+  > import os
+  > 
+  > os.chdir(os.path.dirname(sys.argv[0]))
+  > if sys.argv[1] != "user@dummy":
+  >     sys.exit(-1)
+  > 
+  > if not os.path.exists("dummyssh"):
+  >     sys.exit(-1)
+  > 
+  > log = open("dummylog", "ab")
+  > log.write("Got arguments")
+  > for i, arg in enumerate(sys.argv[1:]):
+  >     log.write(" %d:%s" % (i+1, arg))
+  > log.write("\n")
+  > log.close()
+  > r = os.system(sys.argv[2])
+  > sys.exit(bool(r))
+  > EOF
+
+  $ checknewrepo()
+  > {
+  >    name=$1
+  >    if [ -d $name/.hg/store ]; then
+  >    echo store created
+  >    fi
+  >    if [ -f $name/.hg/00changelog.i ]; then
+  >    echo 00changelog.i created
+  >    fi
+  >    cat $name/.hg/requires
+  > }
+
+creating 'local'
+
+  $ hg init local
+  $ checknewrepo local
+  store created
+  00changelog.i created
+  revlogv1
+  store
+  fncache
+  $ echo this > local/foo
+  $ hg ci --cwd local -A -m "init" -d "1000000 0"
+  adding foo
+
+creating repo with format.usestore=false
+
+  $ hg --config format.usestore=false init old
+  $ checknewrepo old
+  revlogv1
+
+creating repo with format.usefncache=false
+
+  $ hg --config format.usefncache=false init old2
+  $ checknewrepo old2
+  store created
+  00changelog.i created
+  revlogv1
+  store
+
+test failure
+
+  $ hg init local
+  abort: repository local already exists!
+
+init+push to remote2
+
+  $ hg init -e "python ./dummyssh" ssh://user@dummy/remote2
+  $ hg incoming -R remote2 local
+  comparing with local
+  changeset:   0:c4e059d443be
+  tag:         tip
+  user:        test
+  date:        Mon Jan 12 13:46:40 1970 +0000
+  summary:     init
+  
+
+  $ hg push -R local -e "python ./dummyssh" ssh://user@dummy/remote2
+  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
+
+  $ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 1 changesets with 1 changes to 1 files
+
+init to existing repo
+
+  $ hg init -e "python ./dummyssh" ssh://user@dummy/remote1
+  abort: repository remote1 already exists!
+  abort: could not create remote repo!
+
+clone to existing repo
+
+  $ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1
+  abort: repository remote1 already exists!
+  abort: could not create remote repo!
+
+output of dummyssh
+
+  $ cat dummylog
+  Got arguments 1:user@dummy 2:hg init remote2
+  Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
+  Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
+  Got arguments 1:user@dummy 2:hg init remote1
+  Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio
+  Got arguments 1:user@dummy 2:hg init remote1
+  Got arguments 1:user@dummy 2:hg init remote1
+
+comparing repositories
+
+  $ hg tip -q -R local
+  0:c4e059d443be
+  $ hg tip -q -R remote1
+  0:c4e059d443be
+  $ hg tip -q -R remote2
+  0:c4e059d443be
+
+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 -n "hg init \"$i\"... "
+  >   hg init "$i"
+  >   test -d "$i" -a -d "$i/.hg" && echo "ok" || echo "failed"
+  > done
+  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
+
+creating 'local/sub/repo'
+
+  $ hg init local/sub/repo
+  $ checknewrepo local/sub/repo
+  store created
+  00changelog.i created
+  revlogv1
+  store
+  fncache