diff options
Diffstat (limited to 'scripts/oe-selftest')
-rwxr-xr-x | scripts/oe-selftest | 12 |
1 files 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): | |||
262 | result = [] | 262 | result = [] |
263 | remaining = values[:] | 263 | remaining = values[:] |
264 | for key in keyword: | 264 | for key in keyword: |
265 | found = False | ||
265 | if key in remaining: | 266 | if key in remaining: |
266 | # Regular matching of exact item | 267 | # Regular matching of exact item |
267 | result.append(key) | 268 | result.append(key) |
268 | remaining.remove(key) | 269 | remaining.remove(key) |
270 | found = True | ||
269 | else: | 271 | else: |
270 | # Wildcard matching | 272 | # Wildcard matching |
271 | pattern = re.compile(fnmatch.translate(r"%s" % key)) | 273 | pattern = re.compile(fnmatch.translate(r"%s" % key)) |
272 | added = [x for x in remaining if pattern.match(x)] | 274 | added = [x for x in remaining if pattern.match(x)] |
273 | result.extend(added) | 275 | if added: |
274 | remaining = [x for x in remaining if x not in added] | 276 | result.extend(added) |
277 | remaining = [x for x in remaining if x not in added] | ||
278 | found = True | ||
279 | if not found: | ||
280 | log.error("Failed to find test: %s" % key) | ||
275 | 281 | ||
276 | return result | 282 | return result |
277 | 283 | ||
@@ -455,6 +461,8 @@ def main(): | |||
455 | criteria = args.run_tests_by[0] | 461 | criteria = args.run_tests_by[0] |
456 | keyword = args.run_tests_by[1:] | 462 | keyword = args.run_tests_by[1:] |
457 | ts = sorted([ tc.fullpath for tc in get_testsuite_by(criteria, keyword) ]) | 463 | ts = sorted([ tc.fullpath for tc in get_testsuite_by(criteria, keyword) ]) |
464 | if not ts: | ||
465 | return 1 | ||
458 | 466 | ||
459 | if args.list_tests_by and len(args.list_tests_by) >= 2: | 467 | if args.list_tests_by and len(args.list_tests_by) >= 2: |
460 | valid_options = ['name', 'class', 'module', 'id', 'tag'] | 468 | valid_options = ['name', 'class', 'module', 'id', 'tag'] |