From: Paul Eggleton Date: Mon, 24 Feb 2014 18:50:03 +0000 (+0000) Subject: bitbake-selftest: enable specifying tests to run on command line X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4df9c72663e972437131a848e6ddcf3769ae1d2b;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- 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)