Mercurial > hg
annotate tests/test-unified-test.t @ 22052:793f9276aeb9
pushkey: wrap pushkey phase movement in a transaction
Phases are not yet inside the transaction, but we need to prepare for it. So we
wrap the phase movement inside a transaction.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 06 Aug 2014 00:54:58 -0700 |
parents | 204f6a6e9b57 |
children | 9599e86159ac |
rev | line source |
---|---|
21731
204f6a6e9b57
tests: comment the main purpose of ``test-unified-test.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21729
diff
changeset
|
1 Test that the syntax of "unified tests" is properly processed |
204f6a6e9b57
tests: comment the main purpose of ``test-unified-test.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21729
diff
changeset
|
2 ============================================================== |
204f6a6e9b57
tests: comment the main purpose of ``test-unified-test.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21729
diff
changeset
|
3 |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
4 Simple commands: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
5 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
6 $ echo foo |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
7 foo |
12940
518dd70d1a6e
tests: (no-eol) markup for command output without trailing LF
Mads Kiilerich <mads@kiilerich.com>
parents:
12406
diff
changeset
|
8 $ printf 'oh no' |
518dd70d1a6e
tests: (no-eol) markup for command output without trailing LF
Mads Kiilerich <mads@kiilerich.com>
parents:
12406
diff
changeset
|
9 oh no (no-eol) |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12376
diff
changeset
|
10 $ printf 'bar\nbaz\n' | cat |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
11 bar |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
12 baz |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
13 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
14 Multi-line command: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
15 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
16 $ foo() { |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
17 > echo bar |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
18 > } |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
19 $ foo |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
20 bar |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
21 |
15434
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
22 Return codes before inline python: |
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
23 |
16014
f8955a7f82e6
tests: don't rely on 'false' exit code in test-run-tests.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15434
diff
changeset
|
24 $ sh -c 'exit 1' |
15434
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
25 [1] |
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
26 |
15249
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
27 Doctest commands: |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
28 |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
29 >>> print 'foo' |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
30 foo |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
31 $ echo interleaved |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
32 interleaved |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
33 >>> for c in 'xyz': |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
34 ... print c |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
35 x |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
36 y |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
37 z |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
38 >>> print |
15434
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
39 |
15249
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
40 |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
41 Regular expressions: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
42 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
43 $ echo foobarbaz |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
44 foobar.* (re) |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
45 $ echo barbazquux |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
46 .*quux.* (re) |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
47 |
12376
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
48 Globs: |
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
49 |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12376
diff
changeset
|
50 $ printf '* \\foobarbaz {10}\n' |
12376
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
51 \* \\fo?bar* {10} (glob) |
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
52 |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
53 Literal match ending in " (re)": |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
54 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
55 $ echo 'foo (re)' |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
56 foo (re) |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
57 |
17777
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
58 Windows: \r\n is handled like \n and can be escaped: |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
59 |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
60 #if windows |
17799
327fbe0b84fd
test-run-tests.t: fix wrong test case for cr handling on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17778
diff
changeset
|
61 $ printf 'crlf\r\ncr\r\tcrlf\r\ncrlf\r\n' |
17777
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
62 crlf |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
63 cr\r (no-eol) (esc) |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
64 \tcrlf (esc) |
17799
327fbe0b84fd
test-run-tests.t: fix wrong test case for cr handling on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17778
diff
changeset
|
65 crlf\r (esc) |
17777
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
66 #endif |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
67 |
17778
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
68 Combining esc with other markups - and handling lines ending with \r instead of \n: |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
69 |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
70 $ printf 'foo/bar\r' |
20602
8a2dfac89ad6
tests: glob match has a glob character for not getting a warning on windows
Simon Heimberg <simohe@besonet.ch>
parents:
17799
diff
changeset
|
71 fo?/bar\r (no-eol) (glob) (esc) |
17778
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
72 #if windows |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
73 $ printf 'foo\\bar\r' |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
74 foo/bar\r (no-eol) (glob) (esc) |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
75 #endif |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
76 $ printf 'foo/bar\rfoo/bar\r' |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
77 foo.bar\r \(no-eol\) (re) (esc) |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
78 foo.bar\r \(no-eol\) (re) |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
79 |
16891
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
80 testing hghave |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
81 |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
82 $ "$TESTDIR/hghave" true |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
83 $ "$TESTDIR/hghave" false |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
84 skipped: missing feature: nail clipper |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
85 [1] |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
86 $ "$TESTDIR/hghave" no-true |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
87 skipped: system supports yak shaving |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
88 [1] |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
89 $ "$TESTDIR/hghave" no-false |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
90 |
16842
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
91 Conditional sections based on hghave: |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
92 |
16891
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
93 #if true |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
94 $ echo tested |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
95 tested |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
96 #else |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
97 $ echo skipped |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
98 #endif |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
99 |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
100 #if false |
16842
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
101 $ echo skipped |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
102 #else |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
103 $ echo tested |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
104 tested |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
105 #endif |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
106 |
16914
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
107 #if no-false |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
108 $ echo tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
109 tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
110 #else |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
111 $ echo skipped |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
112 #endif |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
113 |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
114 #if no-true |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
115 $ echo skipped |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
116 #else |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
117 $ echo tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
118 tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
119 #endif |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
120 |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
121 Exit code: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
122 |
17345
4f8054d3171b
check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents:
16914
diff
changeset
|
123 $ (exit 1) |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
124 [1] |