diff --git a/odoo/modules/module.py b/odoo/modules/module.py index af2b28883c433b5a198ccbbedd1e78058fbc3c07..15f4aae9a5016cf66809dd4979f9cd04c7842914 100644 --- a/odoo/modules/module.py +++ b/odoo/modules/module.py @@ -432,12 +432,19 @@ def get_test_modules(module): modpath = 'odoo.addons.' + module try: mod = importlib.import_module('.tests', modpath) + except ImportError as e: # will also catch subclass ModuleNotFoundError of P3.6 + # Hide ImportErrors on `tests` sub-module, but display other exceptions + if pycompat.PY2: + if e.message.startswith('No module named') and e.message.endswith("tests"): + return [] + else: + if e.name == modpath + '.tests' and e.msg.startswith('No module named'): + return [] + _logger.exception('Can not `import %s`.', module) + return [] except Exception as e: - # If module has no `tests` sub-module, no problem. - if not pycompat.text_type(e).startswith(u'No module named'): - _logger.exception('Can not `import %s`.', module) + _logger.exception('Can not `import %s`.', module) return [] - if hasattr(mod, 'fast_suite') or hasattr(mod, 'checks'): _logger.warn( "Found deprecated fast_suite or checks attribute in test module "