mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
gclient: return non-zero exit code on unknown command
Bug: none Change-Id: I447f66765679b7b66b5748af1cf1f501610603bf Reviewed-on: https://chromium-review.googlesource.com/504408 Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org> Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
This commit is contained in:
committed by
Commit Bot
parent
1423955b09
commit
2c199e1ec4
@@ -66,13 +66,8 @@ def epilog(text):
|
||||
|
||||
def CMDhelp(parser, args):
|
||||
"""Prints list of commands or help for a specific command."""
|
||||
# This is the default help implementation. It can be disabled or overriden if
|
||||
# wanted.
|
||||
if not any(i in ('-h', '--help') for i in args):
|
||||
args = args + ['--help']
|
||||
_, args = parser.parse_args(args)
|
||||
# Never gets there.
|
||||
assert False
|
||||
parser.print_help()
|
||||
return 0
|
||||
|
||||
|
||||
def _get_color_module():
|
||||
@@ -255,7 +250,9 @@ class CommandDispatcher(object):
|
||||
if cmdhelp:
|
||||
# Not a known command. Default to help.
|
||||
self._add_command_usage(parser, cmdhelp)
|
||||
return cmdhelp(parser, args)
|
||||
# Make sure we return a non-zero exit code for unknown commands.
|
||||
rc = cmdhelp(parser, args)
|
||||
return rc if rc != 0 else 2
|
||||
|
||||
# Nothing can be done.
|
||||
return 2
|
||||
|
||||
@@ -165,7 +165,8 @@ class GClientSmoke(GClientSmokeBase):
|
||||
self.assertTrue(1000 < len(result[0]) and len(result[0]) < 2300,
|
||||
'Too much written to stdout: %d bytes' % len(result[0]))
|
||||
self.assertEquals(0, len(result[1]))
|
||||
self.assertEquals(0, result[2])
|
||||
# An unknown command should result in non-zero exit code.
|
||||
self.assertEquals(2, result[2])
|
||||
|
||||
def testNotConfigured(self):
|
||||
res = ('', 'Error: client not configured; see \'gclient config\'\n', 1)
|
||||
|
||||
Reference in New Issue
Block a user