##// END OF EJS Templates
hook: add hook name information to external hook...
hook: add hook name information to external hook While we are here, we can also add the hook name information to external hook.

File last commit:

r29485:6a98f940 default
r31747:aff7b32b default
Show More
test-unified-test.t
134 lines | 2.0 KiB | text/troff | Tads3Lexer
/ tests / test-unified-test.t
Pierre-Yves David
tests: comment the main purpose of ``test-unified-test.t``
r21731 Test that the syntax of "unified tests" is properly processed
==============================================================
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
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:
Pulkit Goyal
py3: make files use absolute_import and print_function...
r29485 >>> from __future__ import print_function
>>> print('foo')
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
r21729 foo
$ echo interleaved
interleaved
>>> for c in 'xyz':
Pulkit Goyal
py3: make files use absolute_import and print_function...
r29485 ... print(c)
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
r21729 x
y
z
Pulkit Goyal
py3: make files use absolute_import and print_function...
r29485 >>> print()
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
r21729
Yuya Nishihara
heredoctest: use the same dict for local/global contexts as in doctest...
r22564 >>> foo = 'global name'
>>> def func():
Pulkit Goyal
py3: make files use absolute_import and print_function...
r29485 ... print(foo, 'should be visible in func()')
Yuya Nishihara
heredoctest: use the same dict for local/global contexts as in doctest...
r22564 >>> func()
global name should be visible in func()
Pulkit Goyal
py3: make files use absolute_import and print_function...
r29485 >>> print('''multiline
... string''')
Yuya Nishihara
heredoctest: do not append extra newline character to continuation line...
r22565 multiline
string
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
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
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'
foo/bar\r (no-eol) (glob) (esc)
#endif
$ printf 'foo/bar\rfoo/bar\r'
foo.bar\r \(no-eol\) (re) (esc)
foo.bar\r \(no-eol\) (re)
testing hghave
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ hghave true
$ hghave false
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
r21729 skipped: missing feature: nail clipper
[1]
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ hghave no-true
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
r21729 skipped: system supports yak shaving
[1]
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ hghave no-false
Pierre-Yves David
tests: rename ``test-run-tests.t`` to ``test-unified-test.t``...
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]