author | Augie Fackler <raf@durin42.com> |
Sat, 16 Nov 2013 20:12:02 -0500 | |
changeset 20031 | 6c1adf2067bb |
parent 17799 | 327fbe0b84fd |
child 20602 | 8a2dfac89ad6 |
permissions | -rw-r--r-- |
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 |
|
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] |