Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-command-template @ 4359:2e3c54fb79a3
actually port simplemerge to hg
- use bdiff instead of patiencediff; this is a larger change, since
bdiff works on 2 multi-line strings, while patiencediff works on 2
lists;
- rename the main class from Merge3 to Merge3Text and add a Merge3
class that derives from Merge3Text. This new Merge3 class has
the same interface from the original class, so that the tests
still work;
- Merge3 uses util.binary to detect binary data and raises
util.Abort instead of a specific exception;
- don't use the @decorator syntax, to keep python2.3 compatibility;
- the test uses unittest, which likes to print how long it took to
run. This obviously doesn't play too well with hg's test suite,
so we override time.time to fool unittest;
- one test has a different (but still valid) output because of the
different diff algorithm used;
- the TestCase class used by bzr has some extras to help debugging.
test-merge3.py used 2 of them:
- log method to log some data
- assertEqualDiff method to ease viewing diffs of diffs
We add a dummy log method and use regular assertEquals instead of
assertEqualDiff.
- make simplemerge executable and add "#!/usr/bin/env python" header
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Mon, 16 Apr 2007 20:17:39 -0300 |
parents | 5e857d72d3ac |
children | 3cf94964c56b |
rev | line source |
---|---|
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
2 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
3 hg init a |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
4 cd a |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
5 echo a > a |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
6 hg add a |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
7 echo line 1 > b |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
8 echo line 2 >> b |
1939
d59fc0d4558f
Use timestamps without leading 0 in test-command-template for portable tests.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1918
diff
changeset
|
9 hg commit -l b -d '1000000 0' -u 'User Name <user@hostname>' |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
10 hg add b |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
11 echo other 1 > c |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
12 echo other 2 >> c |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 echo >> c |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
14 echo other 3 >> c |
1939
d59fc0d4558f
Use timestamps without leading 0 in test-command-template for portable tests.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1918
diff
changeset
|
15 hg commit -l c -d '1100000 0' -u 'A. N. Other <other@place>' |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
16 hg add c |
1939
d59fc0d4558f
Use timestamps without leading 0 in test-command-template for portable tests.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1918
diff
changeset
|
17 hg commit -m 'no person' -d '1200000 0' -u 'other@place' |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
18 echo c >> c |
1939
d59fc0d4558f
Use timestamps without leading 0 in test-command-template for portable tests.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1918
diff
changeset
|
19 hg commit -m 'no user, no domain' -d '1300000 0' -u 'person' |
3458
031aac7ec584
Extended templating test for new branches and extra changeset info.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3454
diff
changeset
|
20 echo foo > .hg/branch |
031aac7ec584
Extended templating test for new branches and extra changeset info.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3454
diff
changeset
|
21 hg commit -m 'new branch' -d '1400000 0' -u 'person' |
4352
5e857d72d3ac
test-command-template: improve test coverage
TK Soh <teekaysoh@yahoo.com>
parents:
4351
diff
changeset
|
22 hg co -q 3 |
5e857d72d3ac
test-command-template: improve test coverage
TK Soh <teekaysoh@yahoo.com>
parents:
4351
diff
changeset
|
23 echo other 4 >> d |
5e857d72d3ac
test-command-template: improve test coverage
TK Soh <teekaysoh@yahoo.com>
parents:
4351
diff
changeset
|
24 hg add d |
5e857d72d3ac
test-command-template: improve test coverage
TK Soh <teekaysoh@yahoo.com>
parents:
4351
diff
changeset
|
25 hg commit -m 'new head' -d '1500000 0' -u 'person' |
5e857d72d3ac
test-command-template: improve test coverage
TK Soh <teekaysoh@yahoo.com>
parents:
4351
diff
changeset
|
26 hg merge -q |
5e857d72d3ac
test-command-template: improve test coverage
TK Soh <teekaysoh@yahoo.com>
parents:
4351
diff
changeset
|
27 hg commit -m 'merge' -d '1500001 0' -u 'person' |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
28 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
29 # make sure user/global hgrc does not affect tests |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
30 echo '[ui]' > .hg/hgrc |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
31 echo 'logtemplate =' >> .hg/hgrc |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
32 echo 'style =' >> .hg/hgrc |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
33 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
34 echo '# default style is like normal output' |
3454
0600d326d96a
Adjust default cmdline style to really match verbose/debug log.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3186
diff
changeset
|
35 echo '# normal' |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
36 hg log > log.out |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
37 hg log --style default > style.out |
1916
95b2e14841f5
fix test failures that depend on when tests run.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1915
diff
changeset
|
38 diff log.out style.out |
3454
0600d326d96a
Adjust default cmdline style to really match verbose/debug log.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3186
diff
changeset
|
39 echo '# verbose' |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
40 hg log -v > log.out |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
41 hg log -v --style default > style.out |
1916
95b2e14841f5
fix test failures that depend on when tests run.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1915
diff
changeset
|
42 diff log.out style.out |
3454
0600d326d96a
Adjust default cmdline style to really match verbose/debug log.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3186
diff
changeset
|
43 echo '# debug' |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
44 hg log --debug > log.out |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
45 hg log --debug --style default > style.out |
1916
95b2e14841f5
fix test failures that depend on when tests run.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1915
diff
changeset
|
46 diff log.out style.out |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
47 |
4350
3380eb6d7c32
fix 'hg <not-log> -v --template foo' with revisions without copies
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
48 echo '# revision with no copies (used to print a traceback)' |
3380eb6d7c32
fix 'hg <not-log> -v --template foo' with revisions without copies
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
49 hg tip -v --template '\n' |
3380eb6d7c32
fix 'hg <not-log> -v --template foo' with revisions without copies
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
50 |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
51 echo '# compact style works' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
52 hg log --style compact |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
53 hg log -v --style compact |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
54 hg log --debug --style compact |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
55 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
56 echo '# error if style not readable' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
57 touch q |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
58 chmod 0 q |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
59 hg log --style ./q |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
60 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
61 echo '# error if no style' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
62 hg log --style notexist |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
63 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
64 echo '# error if style missing key' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
65 echo 'q = q' > t |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
66 hg log --style ./t |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
67 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
68 echo '# error if include fails' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
69 echo 'changeset = q' >> t |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
70 hg log --style ./t |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
71 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
72 echo '# include works' |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3458
diff
changeset
|
73 rm q |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
74 echo '{rev}' > q |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
75 hg log --style ./t |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
76 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
77 echo '# ui.style works' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
78 echo '[ui]' > .hg/hgrc |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
79 echo 'style = t' >> .hg/hgrc |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
80 hg log |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
81 |
3186
a6d0cd63068c
Make "hg log --style=changelog > changelog" work (issue338)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1939
diff
changeset
|
82 echo '# issue338' |
a6d0cd63068c
Make "hg log --style=changelog > changelog" work (issue338)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1939
diff
changeset
|
83 hg log --style=changelog > changelog |
a6d0cd63068c
Make "hg log --style=changelog > changelog" work (issue338)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1939
diff
changeset
|
84 cat changelog |
a6d0cd63068c
Make "hg log --style=changelog > changelog" work (issue338)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1939
diff
changeset
|
85 |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
86 echo "# keys work" |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
87 for key in author branches date desc file_adds file_dels files \ |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
88 manifest node parents rev tags; do |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
89 for mode in '' --verbose --debug; do |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
90 hg log $mode --template "$key$mode: {$key}\n" |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
91 done |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
92 done |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
93 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
94 echo '# filters work' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
95 hg log --template '{author|domain}\n' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
96 hg log --template '{author|person}\n' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
97 hg log --template '{author|user}\n' |
1916
95b2e14841f5
fix test failures that depend on when tests run.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1915
diff
changeset
|
98 hg log --template '{date|age}\n' > /dev/null || exit 1 |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
99 hg log --template '{date|date}\n' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
100 hg log --template '{date|isodate}\n' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
101 hg log --template '{date|rfc822date}\n' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
102 hg log --template '{desc|firstline}\n' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
103 hg log --template '{node|short}\n' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
104 |
4351
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
105 echo '# formatnode filter works' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
106 echo '# quiet' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
107 hg -q log -r 0 --template '#node|formatnode#\n' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
108 echo '# normal' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
109 hg log -r 0 --template '#node|formatnode#\n' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
110 echo '# verbose' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
111 hg -v log -r 0 --template '#node|formatnode#\n' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
112 echo '# debug' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
113 hg --debug log -r 0 --template '#node|formatnode#\n' |
051fb8c2567c
command line templates: add formatnode filter
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4350
diff
changeset
|
114 |
1915
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
115 echo '# error on syntax' |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
116 echo 'x = "f' >> t |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
117 hg log |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
118 |
9598cde4756d
add tests for command line template.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
119 echo '# done' |