Mercurial > hg
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 |