Move ExitCode's definition from _pytest.main to _pytest.config

ExitCode is used in several internal modules and hooks and so with type
annotations added, needs to be imported a lot.

_pytest.main, being the entry point, generally sits at the top of the
import tree.

So, it's not great to have ExitCode defined in _pytest.main, because it
will cause a lot of import cycles once type annotations are added (in
fact there is already one, which this change removes).

Move it to _pytest.config instead.

_pytest.main still imports ExitCode, so importing from there still
works, although external users should really be importing from `pytest`.
This commit is contained in:
Ran Benita
2020-02-10 23:43:30 +02:00
parent 1ebca37689
commit d33da078a8
25 changed files with 54 additions and 55 deletions

View File

@@ -6,7 +6,7 @@ import sys
import py
import pytest
from _pytest.main import ExitCode
from _pytest.config import ExitCode
pytest_plugins = ("pytester",)