Mercurial > hg > mercurial-source
comparison tests/test-run-tests.t @ 12376:02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Consider this test:
$ hg glog --template '{rev}:{node|short} "{desc}"\n'
@ 2:20c4f79fd7ac "3"
|
| o 1:38f24201dcab "2"
|/
o 0:2a18120dc1c9 "1"
Because each line beginning with "|" can be compiled as a regular
expression (equivalent to ".*|"), they will match any output.
Similarly:
$ echo foo
The blank output line can be compiled as a regular expression and will
also match any output.
With this patch, none of the above output lines will be matched as
regular expressions. A line must end in " (re)" in order to be matched
as one.
Lines are still matched literally first, so the following will pass:
$ echo 'foo (re)'
foo (re)
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Wed, 22 Sep 2010 16:06:00 -0500 |
parents | |
children | 97ffc68f71d3 |
comparison
equal
deleted
inserted
replaced
12375:4e7dd28db0dd | 12376:02990e22150b |
---|---|
1 Simple commands: | |
2 | |
3 $ echo foo | |
4 foo | |
5 $ echo 'bar\nbaz' | cat | |
6 bar | |
7 baz | |
8 | |
9 Multi-line command: | |
10 | |
11 $ foo() { | |
12 > echo bar | |
13 > } | |
14 $ foo | |
15 bar | |
16 | |
17 Regular expressions: | |
18 | |
19 $ echo foobarbaz | |
20 foobar.* (re) | |
21 $ echo barbazquux | |
22 .*quux.* (re) | |
23 | |
24 Literal match ending in " (re)": | |
25 | |
26 $ echo 'foo (re)' | |
27 foo (re) | |
28 | |
29 Exit code: | |
30 | |
31 $ false | |
32 [1] |