]> code.ossystems Code Review - openembedded-core.git/commitdiff
oe-selftest: print errors when failed to find test
authorRobert Yang <liezhi.yang@windriver.com>
Tue, 12 Jul 2016 12:04:01 +0000 (05:04 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Jul 2016 10:08:16 +0000 (11:08 +0100)
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

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
scripts/oe-selftest

index df76f94f7a03a46eb54df3a9a43dff823de0ff86..303b1d52ea38591880370e6dc0fe71e9eae6bcd4 100755 (executable)
@@ -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']