author | Matt Mackall <mpm@selenic.com> |
Mon, 18 May 2009 17:36:24 -0500 | |
changeset 8503 | 90f86a5330bb |
parent 7458 | 03dd55115985 |
child 8945 | 7b3d837ca60e |
permissions | -rwxr-xr-x |
7458
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
1 |
#!/bin/sh |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
2 |
|
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
3 |
echo "[extensions]" >> $HGRCPATH |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
4 |
echo "color=" >> $HGRCPATH |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
5 |
|
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
6 |
hg init repo1 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
7 |
cd repo1 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
8 |
mkdir a b a/1 b/1 b/2 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
9 |
touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
10 |
echo "hg status in repo root:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
11 |
hg status --color=always |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
12 |
echo "hg status . in repo root:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
13 |
hg status --color=always . |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
14 |
for dir in a b a/1 b/1 b/2; do |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
15 |
echo "hg status in $dir:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
16 |
hg status --color=always --cwd "$dir" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
17 |
echo "hg status . in $dir:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
18 |
hg status --color=always --cwd "$dir" . |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
19 |
echo "hg status .. in $dir:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
20 |
hg status --color=always --cwd "$dir" .. |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
21 |
done |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
22 |
cd .. |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
23 |
|
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
24 |
hg init repo2 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
25 |
cd repo2 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
26 |
touch modified removed deleted ignored |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
27 |
echo "^ignored$" > .hgignore |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
28 |
hg ci -A -m 'initial checkin' -d "1000000 0" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
29 |
touch modified added unknown ignored |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
30 |
hg add added |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
31 |
hg remove removed |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
32 |
rm deleted |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
33 |
echo "hg status:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
34 |
hg status --color=always |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
35 |
echo "hg status modified added removed deleted unknown never-existed ignored:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
36 |
hg status --color=always modified added removed deleted unknown never-existed ignored |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
37 |
hg copy modified copied |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
38 |
echo "hg status -C:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
39 |
hg status --color=always -C |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
40 |
echo "hg status -A:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
41 |
hg status --color=always -A |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
42 |
echo "^ignoreddir$" > .hgignore |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
43 |
mkdir ignoreddir |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
44 |
touch ignoreddir/file |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
45 |
echo "hg status ignoreddir/file:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
46 |
hg status --color=always ignoreddir/file |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
47 |
echo "hg status -i ignoreddir/file:" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
48 |
hg status --color=always -i ignoreddir/file |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
49 |
cd .. |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
50 |
|
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
51 |
# check 'status -q' and some combinations |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
52 |
hg init repo3 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
53 |
cd repo3 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
54 |
touch modified removed deleted ignored |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
55 |
echo "^ignored$" > .hgignore |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
56 |
hg commit -A -m 'initial checkin' |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
57 |
touch added unknown ignored |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
58 |
hg add added |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
59 |
echo "test" >> modified |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
60 |
hg remove removed |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
61 |
rm deleted |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
62 |
hg copy modified copied |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
63 |
|
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
64 |
# Run status with 2 different flags. |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
65 |
# Check if result is the same or different. |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
66 |
# If result is not as expected, raise error |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
67 |
assert() { |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
68 |
hg status --color=always $1 > ../a |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
69 |
hg status --color=always $2 > ../b |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
70 |
out=`diff ../a ../b` |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
71 |
if [ $? -ne 0 ]; then |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
72 |
out=1 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
73 |
else |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
74 |
out=0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
75 |
fi |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
76 |
if [ $3 -eq 0 ]; then |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
77 |
df="same" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
78 |
else |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
79 |
df="different" |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
80 |
fi |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
81 |
if [ $out -ne $3 ]; then |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
82 |
echo "Error on $1 and $2, should be $df." |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
83 |
fi |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
84 |
} |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
85 |
|
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
86 |
# assert flag1 flag2 [0-same | 1-different] |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
87 |
assert "-q" "-mard" 0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
88 |
assert "-A" "-marduicC" 0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
89 |
assert "-qA" "-mardcC" 0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
90 |
assert "-qAui" "-A" 0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
91 |
assert "-qAu" "-marducC" 0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
92 |
assert "-qAi" "-mardicC" 0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
93 |
assert "-qu" "-u" 0 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
94 |
assert "-q" "-u" 1 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
95 |
assert "-m" "-a" 1 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
96 |
assert "-r" "-d" 1 |
03dd55115985
color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
97 |