Mercurial > hg
annotate tests/test-run-tests.t @ 18766:64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Writes the backup bundle paths to the blackbox so it's easy to see which
backup bundle is associated with which command when you are debugging an
issue.
Example output:
2013/03/13 10:39:56 durham> strip tip
2013/03/13 10:39:59 durham> saved backup bundle to /data/users/durham/www-hg/.hg/strip-backup/e5fac262363a-backup.hg
2013/03/13 10:40:03 durham> strip tip exited 0 after 7.97 seconds
author | Durham Goode <durham@fb.com> |
---|---|
date | Wed, 13 Mar 2013 10:43:51 -0700 |
parents | 327fbe0b84fd |
children | 8a2dfac89ad6 |
rev | line source |
---|---|
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
1 Simple commands: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
2 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
3 $ echo foo |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
4 foo |
12940
518dd70d1a6e
tests: (no-eol) markup for command output without trailing LF
Mads Kiilerich <mads@kiilerich.com>
parents:
12406
diff
changeset
|
5 $ printf 'oh no' |
518dd70d1a6e
tests: (no-eol) markup for command output without trailing LF
Mads Kiilerich <mads@kiilerich.com>
parents:
12406
diff
changeset
|
6 oh no (no-eol) |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12376
diff
changeset
|
7 $ 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
|
8 bar |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
9 baz |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
10 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
11 Multi-line command: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
12 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
13 $ foo() { |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
14 > echo bar |
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 bar |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
18 |
15434
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
19 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
|
20 |
16014
f8955a7f82e6
tests: don't rely on 'false' exit code in test-run-tests.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15434
diff
changeset
|
21 $ 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
|
22 [1] |
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
23 |
15249
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
24 Doctest commands: |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
25 |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
26 >>> print 'foo' |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
27 foo |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
28 $ echo interleaved |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
29 interleaved |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
30 >>> for c in 'xyz': |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
31 ... print c |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
32 x |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
33 y |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
34 z |
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
35 >>> print |
15434
5635a4017061
run-tests: replace inline python handling with more native scheme
Matt Mackall <mpm@selenic.com>
parents:
15249
diff
changeset
|
36 |
15249
f30c0a7b8346
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com>
parents:
12940
diff
changeset
|
37 |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
38 Regular expressions: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
39 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
40 $ echo foobarbaz |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
41 foobar.* (re) |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
42 $ echo barbazquux |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
43 .*quux.* (re) |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
44 |
12376
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
45 Globs: |
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
46 |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12376
diff
changeset
|
47 $ printf '* \\foobarbaz {10}\n' |
12376
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
48 \* \\fo?bar* {10} (glob) |
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
49 |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
50 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
|
51 |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
52 $ echo 'foo (re)' |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
53 foo (re) |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
54 |
17777
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
55 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
|
56 |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
57 #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
|
58 $ 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
|
59 crlf |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
60 cr\r (no-eol) (esc) |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
61 \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
|
62 crlf\r (esc) |
17777
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
63 #endif |
af7c6bc48d8d
run-tests: alternative way of handling \r on Windows
Mads Kiilerich <mads@kiilerich.com>
parents:
17345
diff
changeset
|
64 |
17778
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
65 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
|
66 |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
67 $ 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
|
68 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
|
69 #if windows |
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' |
80fe64581f3a
run-tests: make it possible to combine (esc) with (glob) and (re)
Mads Kiilerich <mads@kiilerich.com>
parents:
17777
diff
changeset
|
71 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
|
72 #endif |
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\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
|
74 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
|
75 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
|
76 |
16891
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
77 testing hghave |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
78 |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
79 $ "$TESTDIR/hghave" true |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
80 $ "$TESTDIR/hghave" false |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
81 skipped: missing feature: nail clipper |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
82 [1] |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
83 $ "$TESTDIR/hghave" no-true |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
84 skipped: system supports yak shaving |
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-false |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
87 |
16842
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
88 Conditional sections based on hghave: |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
89 |
16891
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
90 #if true |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
91 $ echo tested |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
92 tested |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
93 #else |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
94 $ echo skipped |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
95 #endif |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
96 |
b0e8afdfa970
tests/hghave: implement #if true / #if false
Adrian Buehlmann <adrian@cadifra.com>
parents:
16842
diff
changeset
|
97 #if false |
16842
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
98 $ echo skipped |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
99 #else |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
100 $ echo tested |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
101 tested |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
102 #endif |
a3ea092203a5
tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com>
parents:
16014
diff
changeset
|
103 |
16914
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
104 #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
|
105 $ echo tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
106 tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
107 #else |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
108 $ echo skipped |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
109 #endif |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
110 |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
111 #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
|
112 $ echo skipped |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
113 #else |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
114 $ echo tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
115 tested |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
116 #endif |
2030dec7c8fa
test-run-tests: add tests for "#if no-false" and no-true
Adrian Buehlmann <adrian@cadifra.com>
parents:
16891
diff
changeset
|
117 |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
118 Exit code: |
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
119 |
17345
4f8054d3171b
check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents:
16914
diff
changeset
|
120 $ (exit 1) |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
121 [1] |