mirror of https://github.com/pytest-dev/pytest.git
Show deprecation message when running under Python 2.7 and 3.4
Fix #4627
This commit is contained in:
parent
6aba60ab08
commit
eb92e57509
|
@ -0,0 +1,2 @@
|
||||||
|
Display a message at the end of the test session when running under Python 2.7 and 3.4 that pytest 5.0 will no longer
|
||||||
|
support those Python versions.
|
|
@ -649,6 +649,7 @@ class TerminalReporter(object):
|
||||||
self.summary_passes()
|
self.summary_passes()
|
||||||
# Display any extra warnings from teardown here (if any).
|
# Display any extra warnings from teardown here (if any).
|
||||||
self.summary_warnings()
|
self.summary_warnings()
|
||||||
|
self.summary_deprecated_python()
|
||||||
|
|
||||||
def pytest_keyboard_interrupt(self, excinfo):
|
def pytest_keyboard_interrupt(self, excinfo):
|
||||||
self._keyboardinterrupt_memo = excinfo.getrepr(funcargs=True)
|
self._keyboardinterrupt_memo = excinfo.getrepr(funcargs=True)
|
||||||
|
@ -770,6 +771,20 @@ class TerminalReporter(object):
|
||||||
self.write_sep("_", msg)
|
self.write_sep("_", msg)
|
||||||
self._outrep_summary(rep)
|
self._outrep_summary(rep)
|
||||||
|
|
||||||
|
def summary_deprecated_python(self):
|
||||||
|
if sys.version_info[:2] <= (3, 4) and self.verbosity >= 0:
|
||||||
|
self.write_sep("=", "deprecated python version", yellow=True, bold=False)
|
||||||
|
using_version = ".".join(str(x) for x in sys.version_info[:3])
|
||||||
|
self.line(
|
||||||
|
"You are using Python {}, which will no longer be supported in pytest 5.0".format(
|
||||||
|
using_version
|
||||||
|
),
|
||||||
|
yellow=True,
|
||||||
|
bold=False,
|
||||||
|
)
|
||||||
|
self.line("For more information, please read:")
|
||||||
|
self.line(" https://docs.pytest.org/en/latest/py27-py34-deprecation.html")
|
||||||
|
|
||||||
def print_teardown_sections(self, rep):
|
def print_teardown_sections(self, rep):
|
||||||
showcapture = self.config.option.showcapture
|
showcapture = self.config.option.showcapture
|
||||||
if showcapture == "no":
|
if showcapture == "no":
|
||||||
|
|
|
@ -854,7 +854,9 @@ class TestDurations(object):
|
||||||
result = testdir.runpytest("--durations=2")
|
result = testdir.runpytest("--durations=2")
|
||||||
assert result.ret == 0
|
assert result.ret == 0
|
||||||
lines = result.stdout.get_lines_after("*slowest*durations*")
|
lines = result.stdout.get_lines_after("*slowest*durations*")
|
||||||
assert "4 passed" in lines[2]
|
# account for the "deprecated python version" header
|
||||||
|
index = 2 if sys.version_info[:2] > (3, 4) else 6
|
||||||
|
assert "4 passed" in lines[index]
|
||||||
|
|
||||||
def test_calls_showall(self, testdir):
|
def test_calls_showall(self, testdir):
|
||||||
testdir.makepyfile(self.source)
|
testdir.makepyfile(self.source)
|
||||||
|
|
|
@ -3,6 +3,7 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from _pytest.warnings import SHOW_PYTEST_WARNINGS_ARG
|
from _pytest.warnings import SHOW_PYTEST_WARNINGS_ARG
|
||||||
|
@ -219,3 +220,21 @@ def test_fixture_named_request(testdir):
|
||||||
"*'request' is a reserved name for fixtures and will raise an error in future versions"
|
"*'request' is a reserved name for fixtures and will raise an error in future versions"
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_python_deprecation(testdir):
|
||||||
|
result = testdir.runpytest()
|
||||||
|
python_ver = ".".join(str(x) for x in sys.version_info[:3])
|
||||||
|
msg = "You are using Python {}, which will no longer be supported in pytest 5.0".format(
|
||||||
|
python_ver
|
||||||
|
)
|
||||||
|
if sys.version_info[:2] <= (3, 4):
|
||||||
|
result.stdout.fnmatch_lines(
|
||||||
|
[
|
||||||
|
msg,
|
||||||
|
"For more information, please read:",
|
||||||
|
" https://docs.pytest.org/en/latest/py27-py34-deprecation.html",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
assert msg not in result.stdout.str()
|
||||||
|
|
Loading…
Reference in New Issue