Mercurial > hg
annotate tests/test-status @ 9412:3a78bbc57660
color: do all setup in uisetup
Now that extensions are loaded in phases, we are guaranteed to always
find mq in uisetup with extensions.find and we know that the mq
commands are not yet copied into commands.table.
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sat, 29 Aug 2009 00:30:03 +0200 |
parents | 991f7518c3f3 |
children | 54cd28258ea7 |
rev | line source |
---|---|
1624
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
1 #!/bin/sh |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
3 hg init repo1 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
4 cd repo1 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
5 mkdir a b a/1 b/1 b/2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
6 touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
7 echo "hg status in repo root:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
8 hg status |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
9 echo "hg status . in repo root:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
10 hg status . |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
11 for dir in a b a/1 b/1 b/2; do |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
12 echo "hg status in $dir:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
13 hg status --cwd "$dir" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
14 echo "hg status . in $dir:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
15 hg status --cwd "$dir" . |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
16 echo "hg status .. in $dir:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
17 hg status --cwd "$dir" .. |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
18 done |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
19 cd .. |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
20 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
21 hg init repo2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
22 cd repo2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
23 touch modified removed deleted ignored |
6033
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
24 echo "^ignored$" > .hgignore |
1933
7544700fd931
Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1624
diff
changeset
|
25 hg ci -A -m 'initial checkin' -d "1000000 0" |
1624
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
26 touch modified added unknown ignored |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
27 hg add added |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
28 hg remove removed |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
29 rm deleted |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
30 echo "hg status:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
31 hg status |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
32 echo "hg status modified added removed deleted unknown never-existed ignored:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
33 hg status modified added removed deleted unknown never-existed ignored |
2639
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
1933
diff
changeset
|
34 hg copy modified copied |
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
1933
diff
changeset
|
35 echo "hg status -C:" |
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
1933
diff
changeset
|
36 hg status -C |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
37 echo "hg status -A:" |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
38 hg status -A |
6033
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
39 echo "^ignoreddir$" > .hgignore |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
40 mkdir ignoreddir |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
41 touch ignoreddir/file |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
42 echo "hg status ignoreddir/file:" |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
43 hg status ignoreddir/file |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
44 echo "hg status -i ignoreddir/file:" |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
45 hg status -i ignoreddir/file |
6200
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
46 cd .. |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
47 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
48 # check 'status -q' and some combinations |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
49 hg init repo3 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
50 cd repo3 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
51 touch modified removed deleted ignored |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
52 echo "^ignored$" > .hgignore |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
53 hg commit -A -m 'initial checkin' |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
54 touch added unknown ignored |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
55 hg add added |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
56 echo "test" >> modified |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
57 hg remove removed |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
58 rm deleted |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
59 hg copy modified copied |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
60 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
61 # Run status with 2 different flags. |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
62 # Check if result is the same or different. |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
63 # If result is not as expected, raise error |
6202
0ab0da2215d7
test-status: Make assert function definition sh compatible.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6201
diff
changeset
|
64 assert() { |
6200
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
65 hg status $1 > ../a |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
66 hg status $2 > ../b |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
67 out=`diff ../a ../b` |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
68 if [ $? -ne 0 ]; then |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
69 out=1 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
70 else |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
71 out=0 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
72 fi |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
73 if [ $3 -eq 0 ]; then |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
74 df="same" |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
75 else |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
76 df="different" |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
77 fi |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
78 if [ $out -ne $3 ]; then |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
79 echo "Error on $1 and $2, should be $df." |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
80 fi |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
81 } |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
82 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
83 # assert flag1 flag2 [0-same | 1-different] |
6201
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
84 assert "-q" "-mard" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
85 assert "-A" "-marduicC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
86 assert "-qA" "-mardcC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
87 assert "-qAui" "-A" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
88 assert "-qAu" "-marducC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
89 assert "-qAi" "-mardicC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
90 assert "-qu" "-u" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
91 assert "-q" "-u" 1 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
92 assert "-m" "-a" 1 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
93 assert "-r" "-d" 1 |
6200
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
94 |