summaryrefslogtreecommitdiff
path: root/odoo/service
diff options
context:
space:
mode:
authorXavier Morel <xmo@odoo.com>2020-07-28 09:38:14 +0000
committerXavier Morel <xmo@odoo.com>2020-08-19 14:08:12 +0000
commitc1c43bbe3808c3685e018148b6b6ea242743683c (patch)
tree15c9f8a2a29bccb7a1363819614a24b44d421ad8 /odoo/service
parentec8a64a85c7ce751bbd4fc3b5a2a8224a84c81d0 (diff)
[REM] core: assertion reports
That's a not-very-useful subset of OdooTestResult, so: * make results merge-able (aka add ability to update a result with the contents of another) * remove support for test data files, and transmission of the assertion report thing through the data-files loading * replace "legitimate" uses of assertion report by test result * have run_unit_tests manipulate and return a result instead of weird flags & ternaries
Diffstat (limited to 'odoo/service')
-rw-r--r--odoo/service/server.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/odoo/service/server.py b/odoo/service/server.py
index 3f9d7376901..f6e0ee72b00 100644
--- a/odoo/service/server.py
+++ b/odoo/service/server.py
@@ -514,10 +514,10 @@ class ThreadedServer(CommonServer):
with Registry.registries._lock:
for db, registry in Registry.registries.d.items():
report = registry._assertion_report
- log = _logger.error if report.failures \
- else _logger.warning if not report.successes \
+ log = _logger.error if not report.wasSuccessful() \
+ else _logger.warning if not report.testsRun \
else _logger.info
- log("%d / %d tests failed when loading %s", report.failures, report.successes + report.failures, db)
+ log("%s when loading %s", report, db)
self.stop()
return rc
@@ -1179,10 +1179,8 @@ def load_test_file_py(registry, test_file):
suite = OdooSuite(tests)
_logger.log(logging.INFO, 'running tests %s.', mod_mod.__name__)
result = runner.OdooTestRunner().run(suite)
- success = result.wasSuccessful()
- if hasattr(registry._assertion_report,'report_result'):
- registry._assertion_report.report_result(success)
- if not success:
+ registry._assertion_report.update(result)
+ if not result.wasSuccessful():
_logger.error('%s: at least one error occurred in a test', test_file)
return
finally:
@@ -1220,11 +1218,11 @@ def preload_registries(dbnames):
with odoo.api.Environment.manage():
for module_name in module_names:
result = loader.run_unit_tests(module_name, position='post_install')
- registry._assertion_report.record_result(result)
+ registry._assertion_report.update(result)
_logger.info("All post-tested in %.2fs, %s queries",
time.time() - t0, odoo.sql_db.sql_counter - t0_sql)
- if registry._assertion_report.failures:
+ if not registry._assertion_report.wasSuccessful():
rc += 1
except Exception:
_logger.critical('Failed to initialize database `%s`.', dbname, exc_info=True)