From 736eab6e73928a6ba1b4b68f506f97a0e0286e66 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Tue, 12 Jul 2016 05:04:01 -0700 Subject: oe-selftest: print errors when failed to find test For example: $ oe-selftest --run-tests-by name hello world 2016-07-12 00:33:28,678 - selftest - ERROR - Failed to find test: hello 2016-07-12 00:33:28,679 - selftest - ERROR - Failed to find test: world (From OE-Core rev: 665a0f93bde0d61e0c7ceab072ca3f1f22b2f700) Signed-off-by: Robert Yang Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- scripts/oe-selftest | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/oe-selftest b/scripts/oe-selftest index df76f94f7a..303b1d52ea 100755 --- a/scripts/oe-selftest +++ b/scripts/oe-selftest @@ -262,16 +262,22 @@ def get_testsuite_by(criteria, keyword): result = [] remaining = values[:] for key in keyword: + found = False if key in remaining: # Regular matching of exact item result.append(key) remaining.remove(key) + found = True else: # Wildcard matching pattern = re.compile(fnmatch.translate(r"%s" % key)) added = [x for x in remaining if pattern.match(x)] - result.extend(added) - remaining = [x for x in remaining if x not in added] + if added: + result.extend(added) + remaining = [x for x in remaining if x not in added] + found = True + if not found: + log.error("Failed to find test: %s" % key) return result @@ -455,6 +461,8 @@ def main(): criteria = args.run_tests_by[0] keyword = args.run_tests_by[1:] ts = sorted([ tc.fullpath for tc in get_testsuite_by(criteria, keyword) ]) + if not ts: + return 1 if args.list_tests_by and len(args.list_tests_by) >= 2: valid_options = ['name', 'class', 'module', 'id', 'tag'] -- cgit 1.2.3-korg