Skip to content

tox 4 does not support factor all conditionals as 3 #2747

@dataflake

Description

@dataflake

We use factors to differentiate test setups like this:

[testenv]
...
commands_pre =
    py27,py35: DO X
    !py27,!py35: DO Y
...

This worked fine until version 4.0.13. Now the py27 and py35 environments match both the first and second condition, both commands_pre are run.

Environment

Provide at least:

  • OS: macOS
  • Python: 3.8.15
  • pip list of the host Python where tox is installed:
$ bin/pip list
Package            Version
------------------ ---------
bleach             5.0.1
build              0.9.0
cachetools         5.2.0
certifi            2022.12.7
chardet            5.1.0
charset-normalizer 2.1.1
check-manifest     0.49
colorama           0.4.6
commonmark         0.9.1
distlib            0.3.6
docutils           0.19
filelock           3.8.2
idna               3.4
importlib-metadata 5.1.0
jaraco.classes     3.2.3
keyring            23.11.0
more-itertools     9.0.0
packaging          22.0
pep517             0.13.0
pip                22.3.1
pkginfo            1.9.2
platformdirs       2.6.0
pluggy             1.0.0
py                 1.11.0
Pygments           2.13.0
pyproject_api      1.2.1
readme-renderer    37.3
requests           2.28.1
requests-toolbelt  0.10.1
rfc3986            2.0.0
rich               12.6.0
setuptools         65.6.3
six                1.16.0
tomli              2.0.1
tox                4.0.13
twine              4.0.2
typing_extensions  4.4.0
urllib3            1.26.13
virtualenv         20.17.1
webencodings       0.5.1
wheel              0.38.4
zc.buildout        3.0.1
zipp               3.11.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug:minordoes not affect many people or has no big impacthelp:wantedIssues that have been acknowledged, a solution determined and a PR might likely be accepted.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions