From 4df9c72663e972437131a848e6ddcf3769ae1d2b Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 24 Feb 2014 18:50:03 +0000 Subject: [PATCH] bitbake-selftest: enable specifying tests to run on command line If you are just trying to fix one test at a time, it can be useful to be able to specify an individual test(s) rather than running them all: bitbake-selftest bb.tests.codeparser bb.tests.cow You can even specify the test class or function to run, e.g.: bitbake-selftest bb.tests.fetch.URITest bitbake-selftest bb.tests.fetch.FetcherNetworkTest.test_fetch Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-selftest | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/bin/bitbake-selftest b/bin/bitbake-selftest index 48a58fef677..8c55f7ba156 100755 --- a/bin/bitbake-selftest +++ b/bin/bitbake-selftest @@ -25,13 +25,24 @@ try: except RuntimeError as exc: sys.exit(str(exc)) -tests = ["bb.tests.codeparser", - "bb.tests.cow", - "bb.tests.data", - "bb.tests.fetch", - "bb.tests.utils"] +def usage(): + print('usage: %s [testname1 [testname2]...]') + +if len(sys.argv) > 1: + if '--help' in sys.argv[1:]: + usage() + sys.exit(0) + + tests = sys.argv[1:] +else: + tests = ["bb.tests.codeparser", + "bb.tests.cow", + "bb.tests.data", + "bb.tests.fetch", + "bb.tests.utils"] for t in tests: + t = '.'.join(t.split('.')[:3]) __import__(t) unittest.main(argv=["bitbake-selftest"] + tests) -- 2.47.3