]> code.ossystems Code Review - openembedded-core.git/commitdiff
testimage.bbclass: fix behavior of empty TEST_SUITES
authorChen Qi <Qi.Chen@windriver.com>
Fri, 1 Jun 2018 05:02:59 +0000 (13:02 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 2 Jul 2018 09:40:34 +0000 (10:40 +0100)
The current behaviour of TEST_SUITES is very confusing.

setting: TEST_SUITES = ""
result:  Execute all test cases.

setting: TEST_SUITES = "some_case_not_exist"
result:  Error out with 'Empty test suite' message.

The expected behaviour of TEST_SUITES should be:
1. when 'auto' is in it, execute as many test cases as possible
2. when no valid test case is specified, error out and give user message

The first one is implemented by a previous patch.
The second one is fixed in this patch.

Also add debug message to show test cases to be executed. This is
for easier debugging.

(From OE-Core rev: 909568821fbad8a6a7034b10a2dc349a210fdfc6)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/classes/testimage.bbclass

index 77291c22ce572d933b6e09a0adec38972c6f6ddf..e67647ae095d2106d2fd38589f476fe18fb9a4ce 100644 (file)
@@ -260,10 +260,16 @@ def testimage_main(d):
     # Load tests before starting the target
     test_paths = get_runtime_paths(d)
     test_modules = d.getVar('TEST_SUITES').split()
+    if not test_modules:
+        bb.fatal('Empty test suite, please verify TEST_SUITES variable')
+
     tc.loadTests(test_paths, modules=test_modules)
 
-    if not getSuiteCases(tc.suites):
+    suitecases = getSuiteCases(tc.suites)
+    if not suitecases:
         bb.fatal('Empty test suite, please verify TEST_SUITES variable')
+    else:
+        bb.debug(2, 'test suites:\n\t%s' % '\n\t'.join([str(c) for c in suitecases]))
 
     package_extraction(d, tc.suites)