comparison tests/test-init.t @ 11786:38e3f973a4f3

tests: unify test-init
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Thu, 12 Aug 2010 15:31:18 +0900
parents tests/test-init@c3e8ab80ee90
children 01e04df696e3
comparison
equal deleted inserted replaced
11785:7d9be960cd9a 11786:38e3f973a4f3
1 # This test tries to exercise the ssh functionality with a dummy script
2
3 $ cat <<EOF > dummyssh
4 > import sys
5 > import os
6 >
7 > os.chdir(os.path.dirname(sys.argv[0]))
8 > if sys.argv[1] != "user@dummy":
9 > sys.exit(-1)
10 >
11 > if not os.path.exists("dummyssh"):
12 > sys.exit(-1)
13 >
14 > log = open("dummylog", "ab")
15 > log.write("Got arguments")
16 > for i, arg in enumerate(sys.argv[1:]):
17 > log.write(" %d:%s" % (i+1, arg))
18 > log.write("\n")
19 > log.close()
20 > r = os.system(sys.argv[2])
21 > sys.exit(bool(r))
22 > EOF
23
24 $ checknewrepo()
25 > {
26 > name=$1
27 > if [ -d $name/.hg/store ]; then
28 > echo store created
29 > fi
30 > if [ -f $name/.hg/00changelog.i ]; then
31 > echo 00changelog.i created
32 > fi
33 > cat $name/.hg/requires
34 > }
35
36 creating 'local'
37
38 $ hg init local
39 $ checknewrepo local
40 store created
41 00changelog.i created
42 revlogv1
43 store
44 fncache
45 $ echo this > local/foo
46 $ hg ci --cwd local -A -m "init" -d "1000000 0"
47 adding foo
48
49 creating repo with format.usestore=false
50
51 $ hg --config format.usestore=false init old
52 $ checknewrepo old
53 revlogv1
54
55 creating repo with format.usefncache=false
56
57 $ hg --config format.usefncache=false init old2
58 $ checknewrepo old2
59 store created
60 00changelog.i created
61 revlogv1
62 store
63
64 test failure
65
66 $ hg init local
67 abort: repository local already exists!
68
69 init+push to remote2
70
71 $ hg init -e "python ./dummyssh" ssh://user@dummy/remote2
72 $ hg incoming -R remote2 local
73 comparing with local
74 changeset: 0:c4e059d443be
75 tag: tip
76 user: test
77 date: Mon Jan 12 13:46:40 1970 +0000
78 summary: init
79
80
81 $ hg push -R local -e "python ./dummyssh" ssh://user@dummy/remote2
82 pushing to ssh://user@dummy/remote2
83 searching for changes
84 remote: adding changesets
85 remote: adding manifests
86 remote: adding file changes
87 remote: added 1 changesets with 1 changes to 1 files
88
89 clone to remote1
90
91 $ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1
92 searching for changes
93 remote: adding changesets
94 remote: adding manifests
95 remote: adding file changes
96 remote: added 1 changesets with 1 changes to 1 files
97
98 init to existing repo
99
100 $ hg init -e "python ./dummyssh" ssh://user@dummy/remote1
101 abort: repository remote1 already exists!
102 abort: could not create remote repo!
103
104 clone to existing repo
105
106 $ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1
107 abort: repository remote1 already exists!
108 abort: could not create remote repo!
109
110 output of dummyssh
111
112 $ cat dummylog
113 Got arguments 1:user@dummy 2:hg init remote2
114 Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
115 Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
116 Got arguments 1:user@dummy 2:hg init remote1
117 Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio
118 Got arguments 1:user@dummy 2:hg init remote1
119 Got arguments 1:user@dummy 2:hg init remote1
120
121 comparing repositories
122
123 $ hg tip -q -R local
124 0:c4e059d443be
125 $ hg tip -q -R remote1
126 0:c4e059d443be
127 $ hg tip -q -R remote2
128 0:c4e059d443be
129
130 check names for repositories (clashes with URL schemes, special chars)
131
132 $ for i in bundle file hg http https old-http ssh static-http " " "with space"; do
133 > echo -n "hg init \"$i\"... "
134 > hg init "$i"
135 > test -d "$i" -a -d "$i/.hg" && echo "ok" || echo "failed"
136 > done
137 hg init "bundle"... ok
138 hg init "file"... ok
139 hg init "hg"... ok
140 hg init "http"... ok
141 hg init "https"... ok
142 hg init "old-http"... ok
143 hg init "ssh"... ok
144 hg init "static-http"... ok
145 hg init " "... ok
146 hg init "with space"... ok
147
148 creating 'local/sub/repo'
149
150 $ hg init local/sub/repo
151 $ checknewrepo local/sub/repo
152 store created
153 00changelog.i created
154 revlogv1
155 store
156 fncache