mirror of
https://github.com/facebook/sapling.git
synced 2024-12-29 08:02:24 +03:00
ed78542610
Summary: The `--trace` flag enables tracing Python modules. For compatibility reasons, it also enables `--traceback`. It can be used with debugshell to make `%trace` more useful. Reviewed By: sfilipco Differential Revision: D23278600 fbshipit-source-id: d6d0b34bd5c48111f8cd33d7df115f349b0e95b6
281 lines
7.7 KiB
Perl
281 lines
7.7 KiB
Perl
#chg-compatible
|
|
|
|
$ newext testcommands <<EOF
|
|
> from edenscm.mercurial import registrar
|
|
> cmdtable = {}
|
|
> command = registrar.command(cmdtable)
|
|
> @command('test', [], 'hg test SUBCOMMAND', subonly=True)
|
|
> def test(ui, repo):
|
|
> """test command"""
|
|
> ui.status("test command called (should not happen)\n")
|
|
> subcmd = test.subcommand(categories=[("First Category", ["one"])])
|
|
> @subcmd('one', [])
|
|
> def testone(ui, repo):
|
|
> """first test subcommand"""
|
|
> ui.status("test subcommand one called\n")
|
|
> @subcmd('two', [])
|
|
> def testone(ui, repo):
|
|
> """second test subcommand"""
|
|
> ui.status("test subcommand two called\n")
|
|
> @command('othertest', [], 'hg othertest [SUBCOMMAND]')
|
|
> def othertest(ui, repo, parameter):
|
|
> """other test command"""
|
|
> ui.status("other test command called with '%s'\n" % parameter)
|
|
> othersubcmd = othertest.subcommand()
|
|
> @othersubcmd('alpha|alfa', [])
|
|
> def othertestalpha(ui, repo, parameter):
|
|
> """other test subcommand alpha"""
|
|
> ui.status("other test command alpha called with '%s'\n" % parameter)
|
|
> nestedsubcmd = othertestalpha.subcommand()
|
|
> @nestedsubcmd('beta', [])
|
|
> def othertestalphabeta(ui, repo):
|
|
> """other test subcommand alpha subcommand beta"""
|
|
> ui.status("other test command alpha/beta called\n")
|
|
> EOF
|
|
|
|
$ readconfig <<EOF
|
|
> [alias]
|
|
> xt = test
|
|
> xt1 = test one
|
|
> xt0 = test nonexistent
|
|
> yt = othertest
|
|
> yta = othertest alpha
|
|
> ytf = othertest foo
|
|
> EOF
|
|
|
|
$ hg init
|
|
|
|
$ hg test
|
|
hg test: subcommand required
|
|
[255]
|
|
|
|
|
|
$ hg test one
|
|
test subcommand one called
|
|
$ hg test two
|
|
test subcommand two called
|
|
$ hg test nonexistent
|
|
hg test: unknown subcommand 'nonexistent'
|
|
[255]
|
|
|
|
|
|
$ hg tes o
|
|
unknown command 'tes'
|
|
(use 'hg help' to get help)
|
|
[255]
|
|
|
|
$ hg xt
|
|
hg test: subcommand required
|
|
[255]
|
|
|
|
|
|
$ hg xt one
|
|
test subcommand one called
|
|
$ hg xt too
|
|
hg test: unknown subcommand 'too'
|
|
[255]
|
|
$ hg xt1
|
|
test subcommand one called
|
|
|
|
$ hg xt0
|
|
hg test: unknown subcommand 'nonexistent'
|
|
[255]
|
|
|
|
$ hg othertest
|
|
hg othertest: invalid arguments
|
|
(use 'hg othertest -h' to get help)
|
|
[255]
|
|
$ hg othertest foo
|
|
other test command called with 'foo'
|
|
$ hg othertest alpha
|
|
hg othertest alpha: invalid arguments
|
|
(use 'hg othertest alpha -h' to get help)
|
|
[255]
|
|
$ hg othertest alfa foo
|
|
other test command alpha called with 'foo'
|
|
$ hg othertest alpha beta
|
|
other test command alpha/beta called
|
|
$ hg yt
|
|
hg othertest: invalid arguments
|
|
(use 'hg othertest -h' to get help)
|
|
[255]
|
|
$ hg yta foo
|
|
other test command alpha called with 'foo'
|
|
$ hg ytf
|
|
other test command called with 'foo'
|
|
|
|
$ hg help test
|
|
hg test SUBCOMMAND
|
|
|
|
test command
|
|
|
|
First Category:
|
|
|
|
one first test subcommand
|
|
|
|
Other Subcommands:
|
|
|
|
two second test subcommand
|
|
|
|
(use 'hg help test SUBCOMMAND' to show complete subcommand help)
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
|
$ hg help test --quiet
|
|
hg test SUBCOMMAND
|
|
|
|
test command
|
|
|
|
First Category:
|
|
|
|
one first test subcommand
|
|
|
|
Other Subcommands:
|
|
|
|
two second test subcommand
|
|
|
|
|
|
$ hg help test one
|
|
hg test one
|
|
|
|
first test subcommand
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
|
$ hg help test one --quiet
|
|
hg test one
|
|
|
|
first test subcommand
|
|
|
|
$ hg help test two --verbose
|
|
hg test two
|
|
|
|
second test subcommand
|
|
|
|
Global options ([+] can be repeated):
|
|
|
|
-R --repository REPO repository root directory or name of overlay
|
|
bundle file
|
|
--cwd DIR change working directory
|
|
-y --noninteractive do not prompt, automatically pick the first choice
|
|
for all prompts
|
|
-q --quiet suppress output
|
|
-v --verbose enable additional output
|
|
--color TYPE when to colorize (boolean, always, auto, never, or
|
|
debug)
|
|
--config CONFIG [+] set/override config option (use
|
|
'section.name=value')
|
|
--configfile FILE [+] enables the given config file
|
|
--debug enable debugging output
|
|
--debugger start debugger
|
|
--encoding ENCODE set the charset encoding (default: utf-8)
|
|
--encodingmode MODE set the charset encoding mode (default: strict)
|
|
--outputencoding ENCODE set the output encoding (default: utf-8)
|
|
--traceback always print a traceback on exception
|
|
--trace enable more detailed tracing
|
|
--time time how long the command takes
|
|
--profile print command execution profile
|
|
--version output version information and exit
|
|
-h --help display help and exit
|
|
--hidden consider hidden changesets
|
|
--pager TYPE when to paginate (boolean, always, auto, or never)
|
|
(default: auto)
|
|
|
|
|
|
|
|
$ hg help test nonexistent
|
|
abort: 'test' has no such subcommand: nonexistent
|
|
(run 'hg help test' to see available subcommands)
|
|
[255]
|
|
$ hg othertest --help --verbose
|
|
hg othertest [SUBCOMMAND]
|
|
|
|
other test command
|
|
|
|
Global options ([+] can be repeated):
|
|
|
|
-R --repository REPO repository root directory or name of overlay
|
|
bundle file
|
|
--cwd DIR change working directory
|
|
-y --noninteractive do not prompt, automatically pick the first choice
|
|
for all prompts
|
|
-q --quiet suppress output
|
|
-v --verbose enable additional output
|
|
--color TYPE when to colorize (boolean, always, auto, never, or
|
|
debug)
|
|
--config CONFIG [+] set/override config option (use
|
|
'section.name=value')
|
|
--configfile FILE [+] enables the given config file
|
|
--debug enable debugging output
|
|
--debugger start debugger
|
|
--encoding ENCODE set the charset encoding (default: utf-8)
|
|
--encodingmode MODE set the charset encoding mode (default: strict)
|
|
--outputencoding ENCODE set the output encoding (default: utf-8)
|
|
--traceback always print a traceback on exception
|
|
--trace enable more detailed tracing
|
|
--time time how long the command takes
|
|
--profile print command execution profile
|
|
--version output version information and exit
|
|
-h --help display help and exit
|
|
--hidden consider hidden changesets
|
|
--pager TYPE when to paginate (boolean, always, auto, or never)
|
|
(default: auto)
|
|
|
|
Subcommands:
|
|
|
|
alpha, alfa other test subcommand alpha
|
|
|
|
(use 'hg help othertest SUBCOMMAND' to show complete subcommand help)
|
|
|
|
|
|
$ hg help xt
|
|
alias for: test
|
|
|
|
hg test SUBCOMMAND
|
|
|
|
test command
|
|
|
|
First Category:
|
|
|
|
one first test subcommand
|
|
|
|
Other Subcommands:
|
|
|
|
two second test subcommand
|
|
|
|
(use 'hg help test SUBCOMMAND' to show complete subcommand help)
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
|
$ hg help xt one
|
|
alias for: test one
|
|
|
|
hg test one
|
|
|
|
first test subcommand
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
|
$ hg help xt1
|
|
alias for: test one
|
|
|
|
hg test one
|
|
|
|
first test subcommand
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
|
$ hg othertest alpha beta --help
|
|
hg othertest alpha beta
|
|
|
|
other test subcommand alpha subcommand beta
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|