aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/pytest/py3/_pytest/deprecated.py
diff options
context:
space:
mode:
authorarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-02-09 12:00:52 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 15:58:17 +0300
commit8e1413fed79d1e8036e65228af6c93399ccf5502 (patch)
tree502c9df7b2614d20541c7a2d39d390e9a51877cc /contrib/python/pytest/py3/_pytest/deprecated.py
parent6b813c17d56d1d05f92c61ddc347d0e4d358fe85 (diff)
downloadydb-8e1413fed79d1e8036e65228af6c93399ccf5502.tar.gz
intermediate changes
ref:614ed510ddd3cdf86a8c5dbf19afd113397e0172
Diffstat (limited to 'contrib/python/pytest/py3/_pytest/deprecated.py')
-rw-r--r--contrib/python/pytest/py3/_pytest/deprecated.py85
1 files changed, 55 insertions, 30 deletions
diff --git a/contrib/python/pytest/py3/_pytest/deprecated.py b/contrib/python/pytest/py3/_pytest/deprecated.py
index b11093910a..19b31d6653 100644
--- a/contrib/python/pytest/py3/_pytest/deprecated.py
+++ b/contrib/python/pytest/py3/_pytest/deprecated.py
@@ -1,13 +1,15 @@
-"""
-This module contains deprecation messages and bits of code used elsewhere in the codebase
-that is planned to be removed in the next pytest release.
+"""Deprecation messages and bits of code used elsewhere in the codebase that
+is planned to be removed in the next pytest release.
Keeping it in a central location makes it easy to track what is deprecated and should
be removed when the time comes.
-All constants defined in this module should be either PytestWarning instances or UnformattedWarning
+All constants defined in this module should be either instances of
+:class:`PytestWarning`, or :class:`UnformattedWarning`
in case of warnings which need to format their messages.
"""
+from warnings import warn
+
from _pytest.warning_types import PytestDeprecationWarning
from _pytest.warning_types import UnformattedWarning
@@ -19,44 +21,67 @@ DEPRECATED_EXTERNAL_PLUGINS = {
"pytest_faulthandler",
}
-FUNCARGNAMES = PytestDeprecationWarning(
- "The `funcargnames` attribute was an alias for `fixturenames`, "
- "since pytest 2.3 - use the newer attribute instead."
-)
-RESULT_LOG = PytestDeprecationWarning(
- "--result-log is deprecated, please try the new pytest-reportlog plugin.\n"
- "See https://docs.pytest.org/en/latest/deprecations.html#result-log-result-log for more information."
+FILLFUNCARGS = UnformattedWarning(
+ PytestDeprecationWarning,
+ "{name} is deprecated, use "
+ "function._request._fillfixtures() instead if you cannot avoid reaching into internals.",
)
-FIXTURE_POSITIONAL_ARGUMENTS = PytestDeprecationWarning(
- "Passing arguments to pytest.fixture() as positional arguments is deprecated - pass them "
- "as a keyword argument instead."
+PYTEST_COLLECT_MODULE = UnformattedWarning(
+ PytestDeprecationWarning,
+ "pytest.collect.{name} was moved to pytest.{name}\n"
+ "Please update to the new name.",
)
-NODE_USE_FROM_PARENT = UnformattedWarning(
- PytestDeprecationWarning,
- "direct construction of {name} has been deprecated, please use {name}.from_parent",
+YIELD_FIXTURE = PytestDeprecationWarning(
+ "@pytest.yield_fixture is deprecated.\n"
+ "Use @pytest.fixture instead; they are the same."
)
-JUNIT_XML_DEFAULT_FAMILY = PytestDeprecationWarning(
- "The 'junit_family' default value will change to 'xunit2' in pytest 6.0.\n"
- "Add 'junit_family=xunit1' to your pytest.ini file to keep the current format "
- "in future versions of pytest and silence this warning."
+MINUS_K_DASH = PytestDeprecationWarning(
+ "The `-k '-expr'` syntax to -k is deprecated.\nUse `-k 'not expr'` instead."
)
-NO_PRINT_LOGS = PytestDeprecationWarning(
- "--no-print-logs is deprecated and scheduled for removal in pytest 6.0.\n"
- "Please use --show-capture instead."
+MINUS_K_COLON = PytestDeprecationWarning(
+ "The `-k 'expr:'` syntax to -k is deprecated.\n"
+ "Please open an issue if you use this and want a replacement."
)
-COLLECT_DIRECTORY_HOOK = PytestDeprecationWarning(
- "The pytest_collect_directory hook is not working.\n"
- "Please use collect_ignore in conftests or pytest_collection_modifyitems."
+WARNING_CAPTURED_HOOK = PytestDeprecationWarning(
+ "The pytest_warning_captured is deprecated and will be removed in a future release.\n"
+ "Please use pytest_warning_recorded instead."
)
+FSCOLLECTOR_GETHOOKPROXY_ISINITPATH = PytestDeprecationWarning(
+ "The gethookproxy() and isinitpath() methods of FSCollector and Package are deprecated; "
+ "use self.session.gethookproxy() and self.session.isinitpath() instead. "
+)
-TERMINALWRITER_WRITER = PytestDeprecationWarning(
- "The TerminalReporter.writer attribute is deprecated, use TerminalReporter._tw instead at your own risk.\n"
- "See https://docs.pytest.org/en/latest/deprecations.html#terminalreporter-writer for more information."
+STRICT_OPTION = PytestDeprecationWarning(
+ "The --strict option is deprecated, use --strict-markers instead."
)
+
+PRIVATE = PytestDeprecationWarning("A private pytest class or function was used.")
+
+
+# You want to make some `__init__` or function "private".
+#
+# def my_private_function(some, args):
+# ...
+#
+# Do this:
+#
+# def my_private_function(some, args, *, _ispytest: bool = False):
+# check_ispytest(_ispytest)
+# ...
+#
+# Change all internal/allowed calls to
+#
+# my_private_function(some, args, _ispytest=True)
+#
+# All other calls will get the default _ispytest=False and trigger
+# the warning (possibly error in the future).
+def check_ispytest(ispytest: bool) -> None:
+ if not ispytest:
+ warn(PRIVATE, stacklevel=3)