Mercurial > hg
view tests/test-run-tests.t @ 18669:18242716a014
blackbox: adds a blackbox extension
Adds a blackbox extension that listens to ui.log() and writes the messages to
.hg/blackbox.log. Future commits will use ui.log() to log commands, unhandled
exceptions, incoming changes, and hooks. The extension defaults to logging
everything, but can be configured via blackbox.track to only log certain events.
Log lines are of the format: "date time user> message"
Example log line:
2013/02/09 08:35:19 durham> 1 incoming changes - new heads: d84ced58aaa
author | Durham Goode <durham@fb.com> |
---|---|
date | Tue, 12 Feb 2013 14:08:33 -0800 |
parents | 327fbe0b84fd |
children | 8a2dfac89ad6 |
line wrap: on
line source
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 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' foo/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]