Mercurial > hg-stable
changeset 11786:38e3f973a4f3
tests: unify test-init
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Thu, 12 Aug 2010 15:31:18 +0900 |
parents | 7d9be960cd9a |
children | 7830e693b704 |
files | tests/test-init tests/test-init.out tests/test-init.t |
diffstat | 3 files changed, 156 insertions(+), 170 deletions(-) [+] |
line wrap: on
line diff
--- 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