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 <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2016-07-12 05:04:01 -07:00 committed by Richard Purdie
parent e1aa836bb9
commit 736eab6e73
1 changed files with 10 additions and 2 deletions

View File

@ -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']