wic: Return error code when wic fails to invoke command
PATCH v2 1/1 wic: Return error code when wic fails to invoke command
Return 1 if command doesn't exist or wic is called without any commmand.
Return result of invoke_command as wic return code.
Added tests for unsupported command and no command.
Fixed typo in test case test02_createhelp spotted by this fix.
[YOCTO #7856]
Signed-off-by Ed Bartosh <[email protected]>
--- meta/lib/oeqa/selftest/wic.py | 11 ++++++++++- scripts/lib/image/help.py | 2 ++ scripts/wic | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-)
meta/lib/oeqa/selftest/wic.py +10 -1
@@ -52,7 +52,7 @@ class Wic(oeSelfTest): def test02_createhelp(self): """Test wic create --help""" - self.assertEqual(0, runCmd('wic creat --help').status) + self.assertEqual(0, runCmd('wic create --help').status) def test03_listhelp(self): """Test wic list --help"""
@@ -82,3 +82,12 @@ class Wic(oeSelfTest): self.assertEqual(0, runCmd("wic create directdisk-gpt " "--image-name core-image-minimal").status) self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) + + def test07_unsupported_subcommand(self): + """Test unsupported subcommand""" + self.assertEqual(1, runCmd('wic unsupported', + ignore_status=True).status) + + def test08_no_command(self): + """Test wic without command""" + self.assertEqual(1, runCmd('wic', ignore_status=True).status)
scripts/lib/image/help.py +2 -0
@@ -63,11 +63,13 @@ def invoke_subcommand(args, parser, main_command_usage, subcommands): if not args: logging.error("No subcommand specified, exiting") parser.print_help() + return 1 elif args[0] == "help": wic_help(args, main_command_usage, subcommands) elif args[0] not in subcommands: logging.error("Unsupported subcommand %s, exiting\n" % (args[0])) parser.print_help() + return 1 else: usage = subcommands.get(args[0], subcommand_error)[1] subcommands.get(args[0], subcommand_error)[0](args[1:], usage)
scripts/wic +1 -1
@@ -305,7 +305,7 @@ def main(argv): parser.print_help() sys.exit(1) - hlp.invoke_subcommand(args, parser, hlp.wic_help_usage, subcommands) + return hlp.invoke_subcommand(args, parser, hlp.wic_help_usage, subcommands) if __name__ == "__main__":
Signature · 1 line
2.1.4