aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2015-06-16 14:19:49 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-23 11:38:16 +0100
commitebd9f7b1da8ed556e98aab4d5f4e81707ac44b27 (patch)
tree4ce03ddbd3836188bd6ed066c89d63be5c38924a
parent0997208266686473d23aed0fab58a1fd7c5d8cae (diff)
downloadopenembedded-core-contrib-ebd9f7b1da8ed556e98aab4d5f4e81707ac44b27.tar.gz
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 <ed.bartosh@linux.intel.com>
-rw-r--r--meta/lib/oeqa/selftest/wic.py11
-rw-r--r--scripts/lib/image/help.py2
-rwxr-xr-xscripts/wic2
3 files changed, 13 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index 60c8cb3deb..5fa190db06 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -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)
diff --git a/scripts/lib/image/help.py b/scripts/lib/image/help.py
index ce42627cdb..93211498d5 100644
--- a/scripts/lib/image/help.py
+++ b/scripts/lib/image/help.py
@@ -81,11 +81,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)
diff --git a/scripts/wic b/scripts/wic
index dda72a9c27..a38ecc0b8b 100755
--- a/scripts/wic
+++ b/scripts/wic
@@ -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__":