Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-init @ 5390:36c46e20976a
merge: provide *_ISLINK environment vars to merge helper
Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 03 Oct 2007 23:09:36 +0200 |
parents | 27590c19ad30 |
children |
rev | line source |
---|---|
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
1 #!/bin/sh |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
2 |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
3 # This test tries to exercise the ssh functionality with a dummy script |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
4 |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
5 cat <<EOF > dummyssh |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
6 import sys |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
7 import os |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
8 |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
9 os.chdir(os.path.dirname(sys.argv[0])) |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
10 if sys.argv[1] != "user@dummy": |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
11 sys.exit(-1) |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
12 |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
13 if not os.path.exists("dummyssh"): |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
14 sys.exit(-1) |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
15 |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
16 log = open("dummylog", "ab") |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
17 log.write("Got arguments") |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
18 for i, arg in enumerate(sys.argv[1:]): |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
19 log.write(" %d:%s" % (i+1, arg)) |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
20 log.write("\n") |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
21 log.close() |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
22 r = os.system(sys.argv[2]) |
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
23 sys.exit(bool(r)) |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
24 EOF |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
25 |
4166
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
26 checknewrepo() |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
27 { |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
28 name=$1 |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
29 |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
30 if [ -d $name/.hg/store ]; then |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
31 echo store created |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
32 fi |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
33 |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
34 if [ -f $name/.hg/00changelog.i ]; then |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
35 echo 00changelog.i created |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
36 fi |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
37 |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
38 cat $name/.hg/requires |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
39 } |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
40 |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
41 echo "# creating 'local'" |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
42 hg init local |
4166
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
43 checknewrepo local |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
44 echo this > local/foo |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
45 hg ci --cwd local -A -m "init" -d "1000000 0" |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
46 |
4166
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
47 echo "# creating repo with old format" |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
48 hg --config format.usestore=false init old |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
49 checknewrepo old |
c0271aba6abe
small fixes for the parent patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3713
diff
changeset
|
50 |
3034
3acb76f0124d
clone: simplifying dest repo creation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2599
diff
changeset
|
51 echo "#test failure" |
3acb76f0124d
clone: simplifying dest repo creation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2599
diff
changeset
|
52 hg init local |
3acb76f0124d
clone: simplifying dest repo creation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2599
diff
changeset
|
53 |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
54 echo "# init+push to remote2" |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
55 hg init -e "python ./dummyssh" ssh://user@dummy/remote2 |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
56 hg incoming -R remote2 local |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
57 hg push -R local -e "python ./dummyssh" ssh://user@dummy/remote2 |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
58 |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
59 echo "# clone to remote1" |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
60 hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1 |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
61 |
3034
3acb76f0124d
clone: simplifying dest repo creation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2599
diff
changeset
|
62 echo "# init to existing repo" |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
63 hg init -e "python ./dummyssh" ssh://user@dummy/remote1 |
3034
3acb76f0124d
clone: simplifying dest repo creation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2599
diff
changeset
|
64 |
3acb76f0124d
clone: simplifying dest repo creation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2599
diff
changeset
|
65 echo "# clone to existing repo" |
4297
27590c19ad30
test-init: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4166
diff
changeset
|
66 hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1 |
3034
3acb76f0124d
clone: simplifying dest repo creation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2599
diff
changeset
|
67 |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
68 echo "# output of dummyssh" |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
69 cat dummylog |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
70 |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
71 echo "# comparing repositories" |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
72 hg tip -q -R local |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
73 hg tip -q -R remote1 |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
74 hg tip -q -R remote2 |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
75 |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
76 echo "# check names for repositories (clashes with URL schemes, special chars)" |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
77 for i in bundle file hg http https old-http ssh static-http " " "with space"; do |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
78 echo "# hg init \"$i\"" |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
79 hg init "$i" |
3713
8ae88ed2a3b6
don't create the .hg/data at init time
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3034
diff
changeset
|
80 test -d "$i" -a -d "$i/.hg" && echo "ok" || echo "failed" |
2599
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
81 done |
e4b5e48052c6
Added tests for local and remote init.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
82 |