path: root/scripts/oe-selftest
diff options
authorPaul Eggleton <>2015-12-22 17:02:54 +1300
committerRichard Purdie <>2015-12-22 16:44:02 +0000
commitd62fe7c9bc2df6a4464440a3cae0539074bf99aa (patch)
tree2e03cf6a2b6ad3d1eb2d66a52b6f0109312a7974 /scripts/oe-selftest
parent82423662e297137657d67d272276a823cf3f3d4e (diff)
scripts: print usage in argparse-using scripts when a command-line error occurs
For scripts that use Python's standard argparse module to parse command-line arguments, create a subclass which will show the usage the usage information when a command-line parsing error occurs. The most common case would be when the script is run with no arguments; at least then the user immediately gets to see what arguments they might need to pass instead of just an error message. Signed-off-by: Paul Eggleton <> Signed-off-by: Richard Purdie <>
Diffstat (limited to 'scripts/oe-selftest')
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/oe-selftest b/scripts/oe-selftest
index bc50b2a435..f989e87010 100755
--- a/scripts/oe-selftest
+++ b/scripts/oe-selftest
@@ -36,6 +36,7 @@ sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '/lib')
import scriptpath
+import argparse_oe
import oeqa.selftest
import oeqa.utils.ftools as ftools
@@ -65,7 +66,7 @@ log = logger_create()
def get_args_parser():
description = "Script that runs unit tests agains bitbake and other Yocto related tools. The goal is to validate tools functionality and metadata integrity. Refer to for more information."
- parser = argparse.ArgumentParser(description=description)
+ parser = argparse_oe.ArgumentParser(description=description)
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('--run-tests', required=False, action='store', nargs='*', dest="run_tests", default=None, help='Select what tests to run (modules, classes or test methods). Format should be: <module>.<class>.<test_method>')
group.add_argument('--run-all-tests', required=False, action="store_true", dest="run_all_tests", default=False, help='Run all (unhidden) tests')