diff options
| -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'] |
