test-unified-test.t
144 lines
| 2.2 KiB
| text/troff
|
Tads3Lexer
/ tests / test-unified-test.t
|
r21731 | Test that the syntax of "unified tests" is properly processed | ||
============================================================== | ||||
|
r21729 | Simple commands: | ||
$ echo foo | ||||
foo | ||||
$ printf 'oh no' | ||||
oh no (no-eol) | ||||
$ printf 'bar\nbaz\n' | cat | ||||
bar | ||||
baz | ||||
Multi-line command: | ||||
$ foo() { | ||||
> echo bar | ||||
> } | ||||
$ foo | ||||
bar | ||||
Return codes before inline python: | ||||
$ sh -c 'exit 1' | ||||
[1] | ||||
Doctest commands: | ||||
|
r29485 | >>> from __future__ import print_function | ||
>>> print('foo') | ||||
|
r21729 | foo | ||
$ echo interleaved | ||||
interleaved | ||||
>>> for c in 'xyz': | ||||
|
r29485 | ... print(c) | ||
|
r21729 | x | ||
y | ||||
z | ||||
|
r29485 | >>> print() | ||
|
r21729 | |||
|
r22564 | >>> foo = 'global name' | ||
>>> def func(): | ||||
|
r29485 | ... print(foo, 'should be visible in func()') | ||
|
r22564 | >>> func() | ||
global name should be visible in func() | ||||
|
r29485 | >>> print('''multiline | ||
... string''') | ||||
|
r22565 | multiline | ||
string | ||||
|
r21729 | |||
Regular expressions: | ||||
$ echo foobarbaz | ||||
foobar.* (re) | ||||
$ echo barbazquux | ||||
.*quux.* (re) | ||||
Globs: | ||||
$ printf '* \\foobarbaz {10}\n' | ||||
\* \\fo?bar* {10} (glob) | ||||
Literal match ending in " (re)": | ||||
$ echo 'foo (re)' | ||||
foo (re) | ||||
Windows: \r\n is handled like \n and can be escaped: | ||||
#if windows | ||||
$ printf 'crlf\r\ncr\r\tcrlf\r\ncrlf\r\n' | ||||
crlf | ||||
cr\r (no-eol) (esc) | ||||
\tcrlf (esc) | ||||
crlf\r (esc) | ||||
#endif | ||||
|
r45552 | Escapes: | ||
$ $PYTHON -c 'from mercurial.utils.procutil import stdout; stdout.write(b"\xff")' | ||||
\xff (no-eol) (esc) | ||||
Escapes with conditions: | ||||
$ $PYTHON -c 'from mercurial.utils.procutil import stdout; stdout.write(b"\xff")' | ||||
\xff (no-eol) (esc) (true !) | ||||
|
r21729 | Combining esc with other markups - and handling lines ending with \r instead of \n: | ||
$ printf 'foo/bar\r' | ||||
fo?/bar\r (no-eol) (glob) (esc) | ||||
#if windows | ||||
$ printf 'foo\\bar\r' | ||||
|
r35394 | foo/bar\r (no-eol) (esc) | ||
|
r21729 | #endif | ||
$ printf 'foo/bar\rfoo/bar\r' | ||||
|
r38105 | foo.bar\r [(]no-eol[)] (re) (esc) | ||
|
r21729 | foo.bar\r \(no-eol\) (re) | ||
testing hghave | ||||
|
r25472 | $ hghave true | ||
$ hghave false | ||||
|
r21729 | skipped: missing feature: nail clipper | ||
[1] | ||||
|
r25472 | $ hghave no-true | ||
|
r21729 | skipped: system supports yak shaving | ||
[1] | ||||
|
r25472 | $ hghave no-false | ||
|
r21729 | |||
Conditional sections based on hghave: | ||||
#if true | ||||
$ echo tested | ||||
tested | ||||
#else | ||||
$ echo skipped | ||||
#endif | ||||
#if false | ||||
$ echo skipped | ||||
#else | ||||
$ echo tested | ||||
tested | ||||
#endif | ||||
#if no-false | ||||
$ echo tested | ||||
tested | ||||
#else | ||||
$ echo skipped | ||||
#endif | ||||
#if no-true | ||||
$ echo skipped | ||||
#else | ||||
$ echo tested | ||||
tested | ||||
#endif | ||||
Exit code: | ||||
$ (exit 1) | ||||
[1] | ||||