From: Lee Chee Yang Date: Wed, 1 Jul 2020 14:39:08 +0000 (+0800) Subject: oeqa/core/loader: refine regex to find module X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~10623 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ad81ea90a815389e45ff302a85151724c71f71c3;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git oeqa/core/loader: refine regex to find module test case in format .. this is clear when test cases is only 3 item deep. but confused when it is 4 item deep, eg, oelib.types.TestList.test_list_nosep in this case, oelib and oelib.types can both be treated as module since module name contains only lower cases and class name should contain atleast one upper case. so, always treat leading item without upper case as module also allow module name to contain dot. [YOCTO #13941] Signed-off-by: Lee Chee Yang Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py index 0d7970d49e3..73c57885082 100644 --- a/meta/lib/oeqa/core/loader.py +++ b/meta/lib/oeqa/core/loader.py @@ -46,7 +46,7 @@ def _built_modules_dict(modules): for module in modules: # Assumption: package and module names do not contain upper case # characters, whereas class names do - m = re.match(r'^(\w+)(?:\.(\w[^.]*)(?:\.([^.]+))?)?$', module, flags=re.ASCII) + m = re.match(r'^([1-2a-z_.]+)(?:\.(\w[^.]*)(?:\.([^.]+))?)?$', module, flags=re.ASCII) if not m: continue