##// END OF EJS Templates
run-tests: fix crash when --json and --blacklist are both used (issue5050)...
run-tests: fix crash when --json and --blacklist are both used (issue5050) This patch fixes a crash when both --json and --blacklist were given as arguments of run-tests.py. Now, instead of crashing, we add an entry for blacklisted tests in the json output to show that the tests were skipped.

File last commit:

r25472:4d2b9b30 default
r27927:0de4dfc9 stable
Show More
test-unified-test.t
133 lines | 1.9 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:
>>> print 'foo'
foo
$ echo interleaved
interleaved
>>> for c in 'xyz':
... print c
x
y
z
>>> print
Yuya Nishihara
heredoctest: use the same dict for local/global contexts as in doctest...
r22564 >>> foo = 'global name'
>>> def func():
... print foo, 'should be visible in func()'
>>> func()
global name should be visible in func()
Yuya Nishihara
heredoctest: do not append extra newline character to continuation line...
r22565 >>> print '''multiline
... string'''
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]