Fixed:
$ oe-selftest -r eSDK.oeSDKExtSelfTest.test_image_generation_binary_feeds
Traceback (most recent call last):
[snip]
File "/workspace2/lyang1/poky/meta/lib/oeqa/core/loader.py", line 49, in
_built_modules_dict
module_name, class_name, test_name = m.groups()
AttributeError: 'NoneType' object has no attribute 'groups'
The old code assumed the arg should be:
module.Class.test
Note about the module and Class, the lower and upper cases matters, which can't
handle the testcases like
eSDK.oeSDKExtSelfTest.test_image_generation_binary_feeds
and gotoolchain.oeGoToolchainSelfTest.test_go_dep_build. Use a new re to fix
the problem, now all of the following commmands can work:
$ oe-selftest -r eSDK
$ oe-selftest -r eSDK.oeSDKExtSelfTest
$ oe-selftest -r eSDK.oeSDKExtSelfTest.test_image_generation_binary_feeds
[YOCTO #12438]
Signed-off-by: Robert Yang <[email protected]>
---
meta/lib/oeqa/core/loader.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py
index 975a081..25078ba 100644
--- a/meta/lib/oeqa/core/loader.py
+++ b/meta/lib/oeqa/core/loader.py
@@ -41,9 +41,10 @@ def _built_modules_dict(modules):
return modules_dict
for module in modules:
- # Assumption: package and module names do not contain upper case
- # characters, whereas class names do
- m = re.match(r'^([^A-Z]+)(?:\.([A-Z][^.]*)(?:\.([^.]+))?)?$', module)
+ # The format is module.class.test, while .class and .test is optional.
+ m = re.match(r'([^\.]+)(?:\.([^\.]+))?(?:\.([^\.]*))?', module)
+ if not m:
+ raise OEQATestNotFound("Not found %s in loaded test cases" %
module)
module_name, class_name, test_name = m.groups()
--
2.7.4
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core