Mercurial > hg
view tests/test-unified-test.t @ 23233:c1f370dab456
discovery: test coverage for issue4438 / 86c35b7ae300 / 73cfaa348650
The randomness in the discovery protocol made this problem hard to reproduce.
The test mocks random.sample to make sure we hit the problem every time. The
set iteration order also made the output unstable ... but with the issue fixed,
it is stable.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Thu, 06 Nov 2014 01:48:29 +0100 |
parents | 8d45a42b0c0f |
children | 4d2b9b304ad0 |
line wrap: on
line source
Test that the syntax of "unified tests" is properly processed ============================================================== 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 >>> foo = 'global name' >>> def func(): ... print foo, 'should be visible in func()' >>> func() global name should be visible in func() >>> print '''multiline ... string''' multiline string 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 $ "$TESTDIR/hghave" true $ "$TESTDIR/hghave" false skipped: missing feature: nail clipper [1] $ "$TESTDIR/hghave" no-true skipped: system supports yak shaving [1] $ "$TESTDIR/hghave" no-false 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]