Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

typing: set no_implicit_reexport #7593

Merged
merged 1 commit into from
Aug 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,4 @@ strict_equality = True
warn_redundant_casts = True
warn_return_any = True
warn_unused_configs = True
no_implicit_reexport = True
2 changes: 1 addition & 1 deletion src/_pytest/_code/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
from .code import filter_traceback
from .code import Frame
from .code import getfslineno
from .code import getrawcode
from .code import Traceback
from .code import TracebackEntry
from .source import getrawcode
from .source import Source

__all__ = [
Expand Down
6 changes: 3 additions & 3 deletions src/_pytest/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from typing import Callable
from typing import Generic
from typing import Optional
from typing import overload
from typing import overload as overload
from typing import Tuple
from typing import TypeVar
from typing import Union
Expand Down Expand Up @@ -208,7 +208,7 @@ def nullcontext():


else:
from contextlib import nullcontext # noqa
from contextlib import nullcontext as nullcontext # noqa: F401


def get_default_arg_names(function: Callable[..., Any]) -> Tuple[str, ...]:
Expand Down Expand Up @@ -363,7 +363,7 @@ def overload(f): # noqa: F811


if sys.version_info >= (3, 8):
from functools import cached_property
from functools import cached_property as cached_property
else:

class cached_property(Generic[_S, _T]):
Expand Down
4 changes: 2 additions & 2 deletions src/_pytest/config/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
import _pytest._code
import _pytest.deprecated
import _pytest.hookspec # the extension point definitions
from .exceptions import PrintHelp
from .exceptions import UsageError
from .exceptions import PrintHelp as PrintHelp
from .exceptions import UsageError as UsageError
from .findpaths import determine_setup
from _pytest._code import ExceptionInfo
from _pytest._code import filter_traceback
Expand Down
9 changes: 8 additions & 1 deletion src/_pytest/mark/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,14 @@
from _pytest.nodes import Item


__all__ = ["Mark", "MarkDecorator", "MarkGenerator", "get_empty_parameterset_mark"]
__all__ = [
"MARK_GEN",
"Mark",
"MarkDecorator",
"MarkGenerator",
"ParameterSet",
"get_empty_parameterset_mark",
]


old_mark_config_key = StoreKey[Optional[Config]]()
Expand Down
4 changes: 2 additions & 2 deletions src/_pytest/python.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
from _pytest._code import filter_traceback
from _pytest._code import getfslineno
from _pytest._code.code import ExceptionInfo
from _pytest._code.code import TerminalRepr
from _pytest._io import TerminalWriter
from _pytest._io.saferepr import saferepr
from _pytest.compat import ascii_escaped
Expand Down Expand Up @@ -66,7 +67,6 @@
from _pytest.pathlib import ImportPathMismatchError
from _pytest.pathlib import parts
from _pytest.pathlib import visit
from _pytest.reports import TerminalRepr
from _pytest.warning_types import PytestCollectionWarning
from _pytest.warning_types import PytestUnhandledCoroutineWarning

Expand Down Expand Up @@ -581,7 +581,7 @@ def _importtestmodule(self):
"Traceback:\n"
"{traceback}".format(fspath=self.fspath, traceback=formatted_tb)
) from e
except _pytest.runner.Skipped as e:
except skip.Exception as e:
if e.allow_module_level:
raise
raise self.CollectError(
Expand Down
4 changes: 2 additions & 2 deletions testing/python/collect.py
Original file line number Diff line number Diff line change
Expand Up @@ -1018,7 +1018,7 @@ def test_filter_traceback_generated_code(self) -> None:
See: https://bitbucket.org/pytest-dev/py/issues/71
This fixes #995.
"""
from _pytest.python import filter_traceback
from _pytest._code import filter_traceback

try:
ns = {} # type: Dict[str, Any]
Expand All @@ -1038,7 +1038,7 @@ def test_filter_traceback_path_no_longer_valid(self, testdir) -> None:
In this case, one of the files in the traceback no longer exists.
This fixes #1133.
"""
from _pytest.python import filter_traceback
from _pytest._code import filter_traceback

testdir.syspathinsert()
testdir.makepyfile(
Expand Down
17 changes: 9 additions & 8 deletions testing/python/fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import pytest
from _pytest import fixtures
from _pytest.compat import getfuncargnames
from _pytest.config import ExitCode
from _pytest.fixtures import FixtureRequest
from _pytest.pathlib import Path
Expand All @@ -15,22 +16,22 @@ def test_getfuncargnames_functions():
def f():
raise NotImplementedError()

assert not fixtures.getfuncargnames(f)
assert not getfuncargnames(f)

def g(arg):
raise NotImplementedError()

assert fixtures.getfuncargnames(g) == ("arg",)
assert getfuncargnames(g) == ("arg",)

def h(arg1, arg2="hello"):
raise NotImplementedError()

assert fixtures.getfuncargnames(h) == ("arg1",)
assert getfuncargnames(h) == ("arg1",)

def j(arg1, arg2, arg3="hello"):
raise NotImplementedError()

assert fixtures.getfuncargnames(j) == ("arg1", "arg2")
assert getfuncargnames(j) == ("arg1", "arg2")


def test_getfuncargnames_methods():
Expand All @@ -40,7 +41,7 @@ class A:
def f(self, arg1, arg2="hello"):
raise NotImplementedError()

assert fixtures.getfuncargnames(A().f) == ("arg1",)
assert getfuncargnames(A().f) == ("arg1",)


def test_getfuncargnames_staticmethod():
Expand All @@ -51,7 +52,7 @@ class A:
def static(arg1, arg2, x=1):
raise NotImplementedError()

assert fixtures.getfuncargnames(A.static, cls=A) == ("arg1", "arg2")
assert getfuncargnames(A.static, cls=A) == ("arg1", "arg2")


def test_getfuncargnames_partial():
Expand All @@ -64,7 +65,7 @@ def check(arg1, arg2, i):
class T:
test_ok = functools.partial(check, i=2)

values = fixtures.getfuncargnames(T().test_ok, name="test_ok")
values = getfuncargnames(T().test_ok, name="test_ok")
assert values == ("arg1", "arg2")


Expand All @@ -78,7 +79,7 @@ def check(arg1, arg2, i):
class T:
test_ok = staticmethod(functools.partial(check, i=2))

values = fixtures.getfuncargnames(T().test_ok, name="test_ok")
values = getfuncargnames(T().test_ok, name="test_ok")
assert values == ("arg1", "arg2")


Expand Down
6 changes: 3 additions & 3 deletions testing/python/integration.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from typing import Any

import pytest
from _pytest import python
from _pytest import runner
from _pytest._code import getfslineno


class TestOEJSKITSpecials:
Expand Down Expand Up @@ -87,8 +87,8 @@ def wrap(f):
def wrapped_func(x, y, z):
pass

fs, lineno = python.getfslineno(wrapped_func)
fs2, lineno2 = python.getfslineno(wrap)
fs, lineno = getfslineno(wrapped_func)
fs2, lineno2 = getfslineno(wrap)
assert lineno > lineno2, "getfslineno does not unwrap correctly"


Expand Down
12 changes: 7 additions & 5 deletions testing/python/metafunc.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
import pytest
from _pytest import fixtures
from _pytest import python
from _pytest.compat import _format_args
from _pytest.compat import getfuncargnames
from _pytest.outcomes import fail
from _pytest.pytester import Testdir
from _pytest.python import _idval
Expand All @@ -41,7 +43,7 @@ class DefinitionMock(python.FunctionDefinition):
obj = attr.ib()
_nodeid = attr.ib()

names = fixtures.getfuncargnames(func)
names = getfuncargnames(func)
fixtureinfo = FuncFixtureInfoMock(names) # type: Any
definition = DefinitionMock._create(func, "mock::nodeid") # type: Any
return python.Metafunc(definition, fixtureinfo, config)
Expand Down Expand Up @@ -954,22 +956,22 @@ def test_format_args(self) -> None:
def function1():
pass

assert fixtures._format_args(function1) == "()"
assert _format_args(function1) == "()"

def function2(arg1):
pass

assert fixtures._format_args(function2) == "(arg1)"
assert _format_args(function2) == "(arg1)"

def function3(arg1, arg2="qwe"):
pass

assert fixtures._format_args(function3) == "(arg1, arg2='qwe')"
assert _format_args(function3) == "(arg1, arg2='qwe')"

def function4(arg1, *args, **kwargs):
pass

assert fixtures._format_args(function4) == "(arg1, *args, **kwargs)"
assert _format_args(function4) == "(arg1, *args, **kwargs)"


class TestMetafuncFunctional:
Expand Down
2 changes: 1 addition & 1 deletion testing/test_mark.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

import pytest
from _pytest.config import ExitCode
from _pytest.mark import EMPTY_PARAMETERSET_OPTION
from _pytest.mark import MarkGenerator as Mark
from _pytest.mark.structures import EMPTY_PARAMETERSET_OPTION
from _pytest.nodes import Collector
from _pytest.nodes import Node

Expand Down