From e4bf1e7dca2a9ef6dabf3f201d086ae77ff993d9 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Fri, 21 May 2021 09:39:51 +0000 Subject: [IMP] core: clarify docs about config --test-tags Technical name is not added to test_tags since https://github.com/odoo/odoo/commit/95b4f2ab4b5698ab3a28c9c35ac8da6fb6def983 at_install tag is added by default since introducing @tagged decorator: https://github.com/odoo/odoo/commit/b356b190338e3ee032b9e3a7f670f76468965006 Clarify how special tags at_install/post_install work. Also, add dots for @tagged doc, because otherwise we have a mess in sphinx docs. --- task-2431630 closes odoo/odoo#71130 Signed-off-by: Victor Feyens (vfe) --- odoo/tools/config.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'odoo/tools/config.py') diff --git a/odoo/tools/config.py b/odoo/tools/config.py index f6e186f15ab..44aa742335a 100644 --- a/odoo/tools/config.py +++ b/odoo/tools/config.py @@ -163,14 +163,23 @@ class configmanager(object): dest='test_enable', help="Enable unit tests.") group.add_option("--test-tags", dest="test_tags", - help="""Comma-separated list of spec to filter which tests to execute. Enable unit tests if set. + help="""Comma-separated list of specs to filter which tests to execute. Enable unit tests if set. A filter spec has the format: [-][tag][/module][:class][.method] The '-' specifies if we want to include or exclude tests matching this spec. - The tag will match tags added on a class with a @tagged decorator. By default tag value is 'standard' when not - given on include mode. '*' will match all tags. Tag will also match module name (deprecated, use /module) + The tag will match tags added on a class with a @tagged decorator + (all Test classes have 'standard' and 'at_install' tags + until explicitly removed, see the decorator documentation). + '*' will match all tags. + If tag is omitted on include mode, its value is 'standard'. + If tag is omitted on exclude mode, its value is '*'. The module, class, and method will respectively match the module name, test class name and test method name. examples: :TestClass.test_func,/test_module,external - """) + + Filtering and executing the tests happens twice: right + after each module installation/update and at the end + of the modules loading. At each stage tests are filtered + by --test-tags specs and additionally by dynamic specs + 'at_install' and 'post_install' correspondingly.""") group.add_option("--screencasts", dest="screencasts", action="store", my_default=None, metavar='DIR', -- cgit v1.2.3