[Tarantool-patches] [PATCH v2] Add exclude option

Alexander Turenko alexander.turenko at tarantool.org
Fri Oct 18 08:54:28 MSK 2019


Say, we have the following tests:

* foo/bar.test.lua
* foobar/bar.test.lua
* bar/foo.test.lua
* bar/foobar.test.lua

`./test-run.py foo` includes all of them. We can include only ones that
in `foo` test suite using `./test-run.py foo/`. In other words, test-run
just match suite/test by a substring. I found this way convenient and
propose to use it for --exclude too.

BTW, excluding tests is that the issue is requested.

Tests are filtered here (for tarantool tests, see app and unittest too):
https://github.com/tarantool/test-run/blob/eee42cbdbffe36fc206f4e81688bf1b49586475a/lib/tarantool_server.py#L1108-L1111

WBR, Alexander Turenko.

On Fri, Oct 18, 2019 at 08:25:35AM +0300, Alexander V. Tikhonov wrote:
> Added exclude option to be able to exclude the suites
> from testing, it means that exclude option even excludes
> the suites given with option suite.
> 
> Close #54
> ---
> 
> Github: https://github.com/tarantool/test-run/tree/avtikhon/gh-54-exclude-option
> Issue: https://github.com/tarantool/test-run/issues/54
> 
>  lib/options.py | 9 +++++++++
>  lib/worker.py  | 7 +++++--
>  2 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/options.py b/lib/options.py
> index 94dbd17..5270232 100644
> --- a/lib/options.py
> +++ b/lib/options.py
> @@ -58,6 +58,15 @@ class Options:
>                  help="""List of test suites to look for tests in. Default: "" -
>                  means find all available.""")
>  
> +        parser.add_argument(
> +                "--exclude",
> +                dest = 'exclude',
> +                metavar = "exclude",
> +                nargs="*",
> +                default = [],
> +                help = """List of test suites to exclude from testing. Default: "" -
> +                means no suites to exclude""")
> +
>          parser.add_argument(
>                  "--verbose",
>                  dest='is_verbose',
> diff --git a/lib/worker.py b/lib/worker.py
> index 86852fa..db3dea7 100644
> --- a/lib/worker.py
> +++ b/lib/worker.py
> @@ -25,8 +25,11 @@ def find_suites():
>              if "suite.ini" in names:
>                  suite_names.append(os.path.basename(root))
>  
> -    suites = [TestSuite(suite_name, lib.Options().args)
> -              for suite_name in sorted(suite_names)]
> +    exclude_names = lib.Options().args.exclude
> +    suites = []
> +    for suite_name in sorted(suite_names):
> +        if suite_name not in exclude_names:
> +            suites.append(TestSuite(suite_name, lib.Options().args))
>      return suites
>  
>  
> -- 
> 2.17.1
> 


More information about the Tarantool-patches mailing list