diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2017-12-20 13:28:26 +0800 |
---|---|---|
committer | Robert Yang <liezhi.yang@windriver.com> | 2017-12-21 09:59:48 +0800 |
commit | 6bed2ead820cbb22462e458b49c82c71ece0ff85 (patch) | |
tree | 373da01fd637ffb873c32f80dba04a2dc134d4fa | |
parent | 978472c58629d1448399207873bbead96b27102e (diff) | |
download | openembedded-core-contrib-6bed2ead820cbb22462e458b49c82c71ece0ff85.tar.gz |
oeqa/core/loader.py: fix re for module
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 <liezhi.yang@windriver.com>
-rw-r--r-- | meta/lib/oeqa/core/loader.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py index 975a081ba4..25078ba345 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() |