有没有办法向 运行 匹配名称或组的环境询问 tox?
Is there a way to ask tox to run environments matching a name or by group?
我有一个 tox.ini
有几个环境,就像这个例子:
[tox]
envlist =
py37,
py38,
py39,
lint-{foo,bar,baz}
...
对于我的几个用户,一次只有其中的一个子集有用,通常是所有 py3
个 或 所有 lint-
个.
是否有这样一种语法,而不是 tox -e py37,py38,py39
,可以说“运行 所有环境(tox 通过 tox -a
找到的子集)匹配 py3
"?
或者,有没有一种方法可以将 envs 分组,这样就可以说“运行 the test
envs”或“运行 the cleanup
envs”而不失去了将 tox
呼叫给 运行 所有人的能力?
我可以编写一个单独的脚本来处理这个问题,但我正在寻找一种内置的匹配方式。
最接近按名称过滤 tox 环境的内置方法是 TOX_SKIP_ENV
环境变量,tox 使用每个环境名称作为 re.match (see source) 的模式,跳过那些匹配。
因此,例如,对于仅 运行 lint-
前缀环境,可以:
env TOX_SKIP_ENV='^(?!lint-)' tox
或者,跳过名称中任意位置带有 py
或 bar
的所有环境...
env TOX_SKIP_ENV='.*?(py|bar)' tox
那里是一个(currently unmaintained) tox plugin, tox-tags,目的是大致提供我想的tagging/grouping功能。
我有一个 tox.ini
有几个环境,就像这个例子:
[tox]
envlist =
py37,
py38,
py39,
lint-{foo,bar,baz}
...
对于我的几个用户,一次只有其中的一个子集有用,通常是所有 py3
个 或 所有 lint-
个.
是否有这样一种语法,而不是 tox -e py37,py38,py39
,可以说“运行 所有环境(tox 通过 tox -a
找到的子集)匹配 py3
"?
或者,有没有一种方法可以将 envs 分组,这样就可以说“运行 the test
envs”或“运行 the cleanup
envs”而不失去了将 tox
呼叫给 运行 所有人的能力?
我可以编写一个单独的脚本来处理这个问题,但我正在寻找一种内置的匹配方式。
最接近按名称过滤 tox 环境的内置方法是 TOX_SKIP_ENV
环境变量,tox 使用每个环境名称作为 re.match (see source) 的模式,跳过那些匹配。
因此,例如,对于仅 运行 lint-
前缀环境,可以:
env TOX_SKIP_ENV='^(?!lint-)' tox
或者,跳过名称中任意位置带有 py
或 bar
的所有环境...
env TOX_SKIP_ENV='.*?(py|bar)' tox
那里是一个(currently unmaintained) tox plugin, tox-tags,目的是大致提供我想的tagging/grouping功能。