Skip to content

Skipping the sole env requested results in error message but 0 error code #2827

@stephenfin

Description

@stephenfin

Issue

In #2206, we modified tox's behaviour so that skipping all environments would result in a failure rather than a success. This resolved #2195. There appears to be a bug though. When requesting a single env, if that env is skipped then an error message is produced but the exit code is 0.

❯ tox --skip-missing-interpreter=true -e py33
py33: skipped because could not find python interpreter with spec(s): py33
  py33: SKIP (0.00 seconds)
  evaluation failed :( (0.07 seconds)
❯ echo $?
0

This is not the case if requesting multiple environments. In this case, the exit code is 255.

❯ tox --skip-missing-interpreter=true -e py32,py33
py32: skipped because could not find python interpreter with spec(s): py32
py32: SKIP ⚠ in 0 seconds
py33: skipped because could not find python interpreter with spec(s): py33
  py32: SKIP (0.00 seconds)
  py33: SKIP (0.00 seconds)
  evaluation failed :( (0.07 seconds)
❯ echo $?
255

Environment

Provide at least:

  • OS: Fedora 36
  • pip list of the host Python where tox is installed:
pip list
Package       Version
------------- -------
cachetools    5.2.0
chardet       5.1.0
colorama      0.4.6
distlib       0.3.6
filelock      3.9.0
packaging     22.0
pip           22.3.1
platformdirs  2.6.2
pluggy        1.0.0
pyproject_api 1.4.0
setuptools    65.6.3
tox           4.2.4
virtualenv    20.17.1
wheel         0.38.4

Output of running tox

Provide the output of tox -rvv:

(not relevant)

Minimal example

If possible, provide a minimal reproducer for the issue:

(see above)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions