Mercurial > hg
annotate tests/test-unified-test.t @ 22014:71083b020b4a
push: extract future heads computation into pushop
Bundle2 will allow pushing all different parts of the push in a single bundle.
This mean that the discovery for each part needs to be done before trying to
push. Currently we may have different behaviors for phases and obsolescence markers
when the push of changesets fails. For example, information may still be
exchanged for a part of the history where changesets are common but where
phases mismatch. So the preparation of the push need to determine what
information need to be pushed in both situations. And it needs a different set of
heads for this. Therefore we are moving heads computation within pushop for easy
access by all parties. We start with the simplest set of heads.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 01 Jul 2014 17:20:31 +0200 |
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] |