[OE-core] [PATCH] oe-selftest: New option --list-tests

Daniel Istrate daniel.alexandrux.istrate at intel.com
Mon Jan 4 15:47:59 UTC 2016


This option will list all available tests in a comprehensive manner.

Fix for [YOCTO #8868]

Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate at intel.com>
---
 scripts/oe-selftest | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/scripts/oe-selftest b/scripts/oe-selftest
index 08a5af3..113daf6 100755
--- a/scripts/oe-selftest
+++ b/scripts/oe-selftest
@@ -82,6 +82,8 @@ def get_args_parser():
                        help='run-tests-by <name|class|module|id|tag> <list of tests|classes|modules|ids|tags>')
     group.add_argument('--list-tests-by', required=False, dest='list_tests_by', default=False, nargs='*',
                        help='list-tests-by <name|class|module|id|tag> <list of tests|classes|modules|ids|tags>')
+    group.add_argument('--list-tests', required=False,  action="store_true", dest="list_tests", default=False,
+                       help='List all available tests.')
     group.add_argument('--list-tags', required=False, dest='list_tags', default=False, action="store_true",
                        help='List all tags that have been set to test cases.')
     return parser
@@ -333,6 +335,22 @@ def list_testsuite_by(criteria, keyword):
     print 'Total found:\t %s' % len(ts)
 
 
+def list_tests():
+    # List all available oe-selftest tests
+
+    ts = get_all_tests()
+
+    print '%-4s\t%-20s\t%-60s\t%-25s\t%-20s' % ('id', 'tag', 'name', 'class', 'module')
+    print '_' * 150
+    for t in ts:
+        if isinstance(t.tctag, (tuple, list)):
+            print '%-4s\t%-20s\t%-60s\t%-25s\t%-20s' % (t.tcid, ', '.join(t.tctag), t.tcname, t.tcclass, t.tcmodule)
+        else:
+            print '%-4s\t%-20s\t%-60s\t%-25s\t%-20s' % (t.tcid, t.tctag, t.tcname, t.tcclass, t.tcmodule)
+    print '_' * 150
+    print 'Total found:\t %s' % len(ts)
+
+
 def list_tags():
     # Get all tags set to test cases
     # This is useful when setting tags to test cases
@@ -380,6 +398,9 @@ def main():
             keyword = args.list_tests_by[1:]
             list_testsuite_by(criteria, keyword)
 
+    if args.list_tests:
+        list_tests()
+
     if args.list_tags:
         list_tags()
 
-- 
2.1.0




More information about the Openembedded-core mailing list