Merge branch 'master' into 'features'
This commit is contained in:
commit
b8784c28c9
|
@ -63,6 +63,10 @@
|
||||||
- fix #1292: monkeypatch calls (setattr, setenv, etc.) are now O(1).
|
- fix #1292: monkeypatch calls (setattr, setenv, etc.) are now O(1).
|
||||||
Thanks David R. MacIver for the report and Bruno Oliveira for the PR.
|
Thanks David R. MacIver for the report and Bruno Oliveira for the PR.
|
||||||
|
|
||||||
|
- fix #1305: pytest warnings emitted during ``pytest_terminal_summary`` are now
|
||||||
|
properly displayed.
|
||||||
|
Thanks Ionel Maries Cristian for the report and Bruno Oliveira for the PR.
|
||||||
|
|
||||||
|
|
||||||
2.8.5
|
2.8.5
|
||||||
=====
|
=====
|
||||||
|
|
|
@ -365,15 +365,14 @@ class TerminalReporter:
|
||||||
EXIT_OK, EXIT_TESTSFAILED, EXIT_INTERRUPTED, EXIT_USAGEERROR,
|
EXIT_OK, EXIT_TESTSFAILED, EXIT_INTERRUPTED, EXIT_USAGEERROR,
|
||||||
EXIT_NOTESTSCOLLECTED)
|
EXIT_NOTESTSCOLLECTED)
|
||||||
if exitstatus in summary_exit_codes:
|
if exitstatus in summary_exit_codes:
|
||||||
|
self.config.hook.pytest_terminal_summary(terminalreporter=self)
|
||||||
self.summary_errors()
|
self.summary_errors()
|
||||||
self.summary_failures()
|
self.summary_failures()
|
||||||
self.summary_warnings()
|
self.summary_warnings()
|
||||||
self.summary_passes()
|
self.summary_passes()
|
||||||
self.config.hook.pytest_terminal_summary(terminalreporter=self)
|
|
||||||
if exitstatus == EXIT_INTERRUPTED:
|
if exitstatus == EXIT_INTERRUPTED:
|
||||||
self._report_keyboardinterrupt()
|
self._report_keyboardinterrupt()
|
||||||
del self._keyboardinterrupt_memo
|
del self._keyboardinterrupt_memo
|
||||||
|
|
||||||
self.summary_deselected()
|
self.summary_deselected()
|
||||||
self.summary_stats()
|
self.summary_stats()
|
||||||
|
|
||||||
|
|
|
@ -436,7 +436,7 @@ marking platform specific tests with pytest
|
||||||
.. regendoc:wipe
|
.. regendoc:wipe
|
||||||
|
|
||||||
Consider you have a test suite which marks tests for particular platforms,
|
Consider you have a test suite which marks tests for particular platforms,
|
||||||
namely ``pytest.mark.osx``, ``pytest.mark.win32`` etc. and you
|
namely ``pytest.mark.darwin``, ``pytest.mark.win32`` etc. and you
|
||||||
also have tests that run on all platforms and have no specific
|
also have tests that run on all platforms and have no specific
|
||||||
marker. If you now want to have a way to only run the tests
|
marker. If you now want to have a way to only run the tests
|
||||||
for your particular platform, you could use the following plugin::
|
for your particular platform, you could use the following plugin::
|
||||||
|
@ -446,7 +446,7 @@ for your particular platform, you could use the following plugin::
|
||||||
import sys
|
import sys
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
ALL = set("osx linux2 win32".split())
|
ALL = set("darwin linux2 win32".split())
|
||||||
|
|
||||||
def pytest_runtest_setup(item):
|
def pytest_runtest_setup(item):
|
||||||
if isinstance(item, item.Function):
|
if isinstance(item, item.Function):
|
||||||
|
@ -462,7 +462,7 @@ Let's do a little test file to show how this looks like::
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
@pytest.mark.osx
|
@pytest.mark.darwin
|
||||||
def test_if_apple_is_evil():
|
def test_if_apple_is_evil():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -766,6 +766,23 @@ def test_terminal_summary(testdir):
|
||||||
world
|
world
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
def test_terminal_summary_warnings_are_displayed(testdir):
|
||||||
|
"""Test that warnings emitted during pytest_terminal_summary are displayed.
|
||||||
|
(#1305).
|
||||||
|
"""
|
||||||
|
testdir.makeconftest("""
|
||||||
|
def pytest_terminal_summary(terminalreporter):
|
||||||
|
config = terminalreporter.config
|
||||||
|
config.warn('C1', 'internal warning')
|
||||||
|
""")
|
||||||
|
result = testdir.runpytest('-rw')
|
||||||
|
result.stdout.fnmatch_lines([
|
||||||
|
'*C1*internal warning',
|
||||||
|
'*== 1 pytest-warnings in *',
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("exp_color, exp_line, stats_arg", [
|
@pytest.mark.parametrize("exp_color, exp_line, stats_arg", [
|
||||||
# The method under test only cares about the length of each
|
# The method under test only cares about the length of each
|
||||||
# dict value, not the actual contents, so tuples of anything
|
# dict value, not the actual contents, so tuples of anything
|
||||||
|
|
Loading…
Reference in New Issue