summaryrefslogtreecommitdiff
path: root/odoo/modules
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/modules')
-rw-r--r--odoo/modules/loading.py26
-rw-r--r--odoo/modules/module.py13
2 files changed, 27 insertions, 12 deletions
diff --git a/odoo/modules/loading.py b/odoo/modules/loading.py
index 117bd0a4f90..8cb50e68438 100644
--- a/odoo/modules/loading.py
+++ b/odoo/modules/loading.py
@@ -153,7 +153,8 @@ def load_module_graph(cr, graph, status=None, perform_checks=True,
# register, instantiate and initialize models for each modules
t0 = time.time()
- t0_sql = odoo.sql_db.sql_counter
+ loading_extra_query_count = odoo.sql_db.sql_counter
+ loading_cursor_query_count = cr.sql_log_count
models_updated = set()
@@ -164,13 +165,20 @@ def load_module_graph(cr, graph, status=None, perform_checks=True,
if skip_modules and module_name in skip_modules:
continue
- _logger.debug('loading module %s (%d/%d)', module_name, index, module_count)
+ module_t0 = time.time()
+ module_cursor_query_count = cr.sql_log_count
+ module_extra_query_count = odoo.sql_db.sql_counter
needs_update = (
hasattr(package, "init")
or hasattr(package, "update")
or package.state in ("to install", "to upgrade")
)
+ module_log_level = logging.DEBUG
+ if needs_update:
+ module_log_level = logging.INFO
+ _logger.log(module_log_level, 'Loading module %s (%d/%d)', module_name, index, module_count)
+
if needs_update:
if package.name != 'base':
registry.setup_models(cr)
@@ -276,7 +284,17 @@ def load_module_graph(cr, graph, status=None, perform_checks=True,
if package.name is not None:
registry._init_modules.add(package.name)
- _logger.log(25, "%s modules loaded in %.2fs, %s queries", len(graph), time.time() - t0, odoo.sql_db.sql_counter - t0_sql)
+ _logger.log(module_log_level, "Module %s loaded in %.2fs, %s queries (+%s extra)",
+ module_name,
+ time.time() - module_t0,
+ cr.sql_log_count - module_cursor_query_count,
+ odoo.sql_db.sql_counter - module_extra_query_count) # extra queries: testes, notify, any other closed cursor
+
+ _logger.runbot("%s modules loaded in %.2fs, %s queries (+%s extra)",
+ len(graph),
+ time.time() - t0,
+ cr.sql_log_count - loading_cursor_query_count,
+ odoo.sql_db.sql_counter - loading_extra_query_count) # extra queries: testes, notify, any other closed cursor
return loaded_modules, processed_modules
@@ -459,7 +477,7 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
if model in registry:
env[model]._check_removed_columns(log=True)
elif _logger.isEnabledFor(logging.INFO): # more an info that a warning...
- _logger.log(25, "Model %s is declared but cannot be loaded! (Perhaps a module was partially removed or renamed)", model)
+ _logger.runbot("Model %s is declared but cannot be loaded! (Perhaps a module was partially removed or renamed)", model)
# Cleanup orphan records
env['ir.model.data']._process_end(processed_modules)
diff --git a/odoo/modules/module.py b/odoo/modules/module.py
index b5a513e19fc..88d96949b74 100644
--- a/odoo/modules/module.py
+++ b/odoo/modules/module.py
@@ -495,18 +495,13 @@ class OdooTestResult(unittest.result.TestResult):
class OdooTestRunner(object):
- """A test runner class that displays results in in logger.
- Simplified verison of TextTestRunner(
+ """A test runner class that displays results in in logger using OdooTestResult.
+ Simplified verison of TextTestRunner
"""
def run(self, test):
result = OdooTestResult()
-
- start_time = time.perf_counter()
test(result)
- time_taken = time.perf_counter() - start_time
- run = result.testsRun
- _logger.info("Ran %d test%s in %.3fs", run, run != 1 and "s" or "", time_taken)
return result
current_test = None
@@ -535,8 +530,10 @@ def run_unit_tests(module_name, position='at_install'):
t0_sql = odoo.sql_db.sql_counter
_logger.info('%s running tests.', m.__name__)
result = OdooTestRunner().run(suite)
+ log_level = logging.INFO
if time.time() - t0 > 5:
- _logger.log(25, "%s tested in %.2fs, %s queries", m.__name__, time.time() - t0, odoo.sql_db.sql_counter - t0_sql)
+ log_level = logging.RUNBOT
+ _logger.log(log_level, "%s ran %s tests in %.2fs, %s queries", m.__name__, result.testsRun, time.time() - t0, odoo.sql_db.sql_counter - t0_sql)
if not result.wasSuccessful():
r = False
_logger.error("Module %s: %d failures, %d errors", module_name, len(result.failures), len(result.errors))