Почему pytest просит указать --tx - PullRequest
0 голосов
/ 26 марта 2020

После нескольких успешных тестов pytest неожиданно выдает эту ошибку:

$ pytest -vvv -x --internal --oclint -n -32
============================= test session starts ==============================
platform darwin -- Python 3.7.7, pytest-5.4.1, py-1.7.0, pluggy-0.13.1 -- /usr/local/opt/python/bin/python3.7
cachedir: .pytest_cache
rootdir: /Users/pre-commit-hooks/code/pre-commit-hooks, inifile: pytest.ini
plugins: xdist-1.31.0, forked-1.1.3
ERROR: MISSING test execution (tx) nodes: please specify --tx

Это мой pytest.ini:

[pytest]
markers =
    oclint: marks tests as slow (deselect with '-m "not slow"')
    internal: marks tests as checking internal components. Use this if you are developing hooks

-n # из pytest-xdist, который это дополнение к pytest. Это было странно для меня, потому что pytest на сборке travis linux работал до последней итерации очень хорошо.

Вопрос

Почему pytest просит меня добавить --tx для моих тестов?

1 Ответ

0 голосов
/ 26 марта 2020

Если у вас жирный палец да sh после числа -n, например -n -32, pytest будет жаловаться на отсутствующую опцию --tx. Другими словами, число после -n не может быть отрицательным, и вместо этого вы хотите использовать -n 32.

--tx, как обычно используется для вызова подпроцесса Python2 .7:

pytest -d --tx popen//python=python2.7

Дополнительную информацию об использовании --tx в составе pytest можно найти в pytest-xdist [документы по этому флагу] (pytest -d --tx popen // python = python2 .7).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...