From f9f092a5e6dc27d28b220fde75b348f086ef85c0 Mon Sep 17 00:00:00 2001 From: Claudio Madotto Date: Sun, 24 Nov 2019 15:20:02 +0100 Subject: [PATCH 01/13] Fix for issue #5430 - junit-xml: logs are not passed to junit report for tests failed not in a teardown phase --- src/_pytest/junitxml.py | 1 + testing/test_junitxml.py | 42 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/src/_pytest/junitxml.py b/src/_pytest/junitxml.py index 9cf22705e..21b54ef86 100644 --- a/src/_pytest/junitxml.py +++ b/src/_pytest/junitxml.py @@ -591,6 +591,7 @@ class LogXML: if report.when == "call": reporter.append_failure(report) self.open_reports.append(report) + reporter.write_captured_output(report) else: reporter.append_error(report) elif report.skipped: diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py index 4c2f22a3d..0132db59d 100644 --- a/testing/test_junitxml.py +++ b/testing/test_junitxml.py @@ -1477,3 +1477,45 @@ def test_logging_passing_tests_disabled_does_not_log_test_output( node = dom.find_first_by_tag("testcase") assert len(node.find_by_tag("system-err")) == 0 assert len(node.find_by_tag("system-out")) == 0 + + +@parametrize_families +@pytest.mark.parametrize("junit_logging", ["no", "system-out", "system-err"]) +def test_logging_passing_tests_disabled_logs_output_for_failing_test_issue5430( + testdir, junit_logging, run_and_parse, xunit_family +): + testdir.makeini( + """ + [pytest] + junit_log_passing_tests=False + junit_family={family} + """.format( + family=xunit_family + ) + ) + testdir.makepyfile( + """ + import pytest + import logging + import sys + + def test_func(): + logging.warning('hello') + assert 0 + """ + ) + result, dom = run_and_parse( + "-o", "junit_logging=%s" % junit_logging, family=xunit_family + ) + assert result.ret == 1 + node = dom.find_first_by_tag("testcase") + if junit_logging == "system-out": + assert len(node.find_by_tag("system-err")) == 0 + assert len(node.find_by_tag("system-out")) == 1 + elif junit_logging == "system-err": + assert len(node.find_by_tag("system-err")) == 1 + assert len(node.find_by_tag("system-out")) == 0 + else: + assert junit_logging == "no" + assert len(node.find_by_tag("system-err")) == 0 + assert len(node.find_by_tag("system-out")) == 0 From d940d0b6570535a4e39fed31166fef67ed8769af Mon Sep 17 00:00:00 2001 From: Claudio Madotto Date: Sun, 24 Nov 2019 16:08:45 +0100 Subject: [PATCH 02/13] Create changelog file and update AUTHORS --- AUTHORS | 1 + changelog/5430.bugfix.rst | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog/5430.bugfix.rst diff --git a/AUTHORS b/AUTHORS index 6e2f472fe..cc9b14be3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -61,6 +61,7 @@ Christian Theunert Christian Tismer Christopher Gilling Christopher Dignam +Claudio Madotto CrazyMerlyn Cyrus Maden Damian Skrzypczak diff --git a/changelog/5430.bugfix.rst b/changelog/5430.bugfix.rst new file mode 100644 index 000000000..734685063 --- /dev/null +++ b/changelog/5430.bugfix.rst @@ -0,0 +1 @@ +junitxml: Logs for failed test are now passed to junit report in case the test fails during call phase. From 2d24c062b6c1beb914399174c1fd9190f6093371 Mon Sep 17 00:00:00 2001 From: Claudio Madotto Date: Sun, 24 Nov 2019 16:33:17 +0100 Subject: [PATCH 03/13] Avoid duplicating system-out and system-error tags --- src/_pytest/junitxml.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/_pytest/junitxml.py b/src/_pytest/junitxml.py index 21b54ef86..206e44d96 100644 --- a/src/_pytest/junitxml.py +++ b/src/_pytest/junitxml.py @@ -591,7 +591,8 @@ class LogXML: if report.when == "call": reporter.append_failure(report) self.open_reports.append(report) - reporter.write_captured_output(report) + if not self.log_passing_tests: + reporter.write_captured_output(report) else: reporter.append_error(report) elif report.skipped: From b66dc800081bff90b82b6e3649da5838c7531089 Mon Sep 17 00:00:00 2001 From: Claudio Madotto Date: Sun, 24 Nov 2019 15:20:02 +0100 Subject: [PATCH 04/13] Fix for issue #5430 - junit-xml: logs are not passed to junit report for tests failed not in a teardown phase --- src/_pytest/junitxml.py | 1 + testing/test_junitxml.py | 42 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/src/_pytest/junitxml.py b/src/_pytest/junitxml.py index 9cf22705e..21b54ef86 100644 --- a/src/_pytest/junitxml.py +++ b/src/_pytest/junitxml.py @@ -591,6 +591,7 @@ class LogXML: if report.when == "call": reporter.append_failure(report) self.open_reports.append(report) + reporter.write_captured_output(report) else: reporter.append_error(report) elif report.skipped: diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py index 4c2f22a3d..0132db59d 100644 --- a/testing/test_junitxml.py +++ b/testing/test_junitxml.py @@ -1477,3 +1477,45 @@ def test_logging_passing_tests_disabled_does_not_log_test_output( node = dom.find_first_by_tag("testcase") assert len(node.find_by_tag("system-err")) == 0 assert len(node.find_by_tag("system-out")) == 0 + + +@parametrize_families +@pytest.mark.parametrize("junit_logging", ["no", "system-out", "system-err"]) +def test_logging_passing_tests_disabled_logs_output_for_failing_test_issue5430( + testdir, junit_logging, run_and_parse, xunit_family +): + testdir.makeini( + """ + [pytest] + junit_log_passing_tests=False + junit_family={family} + """.format( + family=xunit_family + ) + ) + testdir.makepyfile( + """ + import pytest + import logging + import sys + + def test_func(): + logging.warning('hello') + assert 0 + """ + ) + result, dom = run_and_parse( + "-o", "junit_logging=%s" % junit_logging, family=xunit_family + ) + assert result.ret == 1 + node = dom.find_first_by_tag("testcase") + if junit_logging == "system-out": + assert len(node.find_by_tag("system-err")) == 0 + assert len(node.find_by_tag("system-out")) == 1 + elif junit_logging == "system-err": + assert len(node.find_by_tag("system-err")) == 1 + assert len(node.find_by_tag("system-out")) == 0 + else: + assert junit_logging == "no" + assert len(node.find_by_tag("system-err")) == 0 + assert len(node.find_by_tag("system-out")) == 0 From 91b3ff1bb73afdbc5dfcda1f15fb241027e4d0e7 Mon Sep 17 00:00:00 2001 From: Claudio Madotto Date: Sun, 24 Nov 2019 16:08:45 +0100 Subject: [PATCH 05/13] Create changelog file and update AUTHORS --- AUTHORS | 1 + changelog/5430.bugfix.rst | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog/5430.bugfix.rst diff --git a/AUTHORS b/AUTHORS index 6e2f472fe..cc9b14be3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -61,6 +61,7 @@ Christian Theunert Christian Tismer Christopher Gilling Christopher Dignam +Claudio Madotto CrazyMerlyn Cyrus Maden Damian Skrzypczak diff --git a/changelog/5430.bugfix.rst b/changelog/5430.bugfix.rst new file mode 100644 index 000000000..734685063 --- /dev/null +++ b/changelog/5430.bugfix.rst @@ -0,0 +1 @@ +junitxml: Logs for failed test are now passed to junit report in case the test fails during call phase. From 31d5cedc6d087d7f5932e8f53e968c15d72fa463 Mon Sep 17 00:00:00 2001 From: Claudio Madotto Date: Sun, 24 Nov 2019 16:33:17 +0100 Subject: [PATCH 06/13] Avoid duplicating system-out and system-error tags --- src/_pytest/junitxml.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/_pytest/junitxml.py b/src/_pytest/junitxml.py index 21b54ef86..206e44d96 100644 --- a/src/_pytest/junitxml.py +++ b/src/_pytest/junitxml.py @@ -591,7 +591,8 @@ class LogXML: if report.when == "call": reporter.append_failure(report) self.open_reports.append(report) - reporter.write_captured_output(report) + if not self.log_passing_tests: + reporter.write_captured_output(report) else: reporter.append_error(report) elif report.skipped: From c7f9fda42d475a5579aa988d8b491be3de53925b Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 3 Dec 2019 19:49:20 -0300 Subject: [PATCH 07/13] Fix assertion rewriting module detection for egg dists Fix #6301 --- changelog/6301.bugfix.rst | 1 + src/_pytest/config/__init__.py | 53 +++++++++++++++++++++++++++++++++- testing/test_config.py | 16 ++++++---- 3 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 changelog/6301.bugfix.rst diff --git a/changelog/6301.bugfix.rst b/changelog/6301.bugfix.rst new file mode 100644 index 000000000..f13c83343 --- /dev/null +++ b/changelog/6301.bugfix.rst @@ -0,0 +1 @@ +Fix assertion rewriting for egg-based distributions and ``editable`` installs (``pip install --editable``). diff --git a/src/_pytest/config/__init__.py b/src/_pytest/config/__init__.py index eecb29365..038695d98 100644 --- a/src/_pytest/config/__init__.py +++ b/src/_pytest/config/__init__.py @@ -630,16 +630,67 @@ notset = Notset() def _iter_rewritable_modules(package_files): + """ + Given an iterable of file names in a source distribution, return the "names" that should + be marked for assertion rewrite (for example the package "pytest_mock/__init__.py" should + be added as "pytest_mock" in the assertion rewrite mechanism. + + This function has to deal with dist-info based distributions and egg based distributions + (which are still very much in use for "editable" installs). + + Here are the file names as seen in a dist-info based distribution: + + pytest_mock/__init__.py + pytest_mock/_version.py + pytest_mock/plugin.py + pytest_mock.egg-info/PKG-INFO + + Here are the file names as seen in an egg based distribution: + + src/pytest_mock/__init__.py + src/pytest_mock/_version.py + src/pytest_mock/plugin.py + src/pytest_mock.egg-info/PKG-INFO + LICENSE + setup.py + + We have to take in account those two distribution flavors in order to determine which + names should be considered for assertion rewriting. + + More information: + https://github.com/pytest-dev/pytest-mock/issues/167 + """ + package_files = list(package_files) + seen_some = False for fn in package_files: is_simple_module = "/" not in fn and fn.endswith(".py") is_package = fn.count("/") == 1 and fn.endswith("__init__.py") if is_simple_module: module_name, _ = os.path.splitext(fn) - yield module_name + # we ignore "setup.py" at the root of the distribution + if module_name != "setup": + seen_some = True + yield module_name elif is_package: package_name = os.path.dirname(fn) + seen_some = True yield package_name + if not seen_some: + # at this point we did not find any packages or modules suitable for assertion + # rewriting, so we try again by stripping the first path component (to account for + # "src" based source trees for example) + # this approach lets us have the common case continue to be fast, as egg-distributions + # are rarer + new_package_files = [] + for fn in package_files: + parts = fn.split("/") + new_fn = "/".join(parts[1:]) + if new_fn: + new_package_files.append(new_fn) + if new_package_files: + yield from _iter_rewritable_modules(new_package_files) + class Config: """ diff --git a/testing/test_config.py b/testing/test_config.py index f146b52a4..9735fc176 100644 --- a/testing/test_config.py +++ b/testing/test_config.py @@ -422,15 +422,21 @@ class TestConfigAPI: @pytest.mark.parametrize( "names, expected", [ + # dist-info based distributions root are files as will be put in PYTHONPATH (["bar.py"], ["bar"]), - (["foo", "bar.py"], []), - (["foo", "bar.pyc"], []), - (["foo", "__init__.py"], ["foo"]), - (["foo", "bar", "__init__.py"], []), + (["foo/bar.py"], ["bar"]), + (["foo/bar.pyc"], []), + (["foo/__init__.py"], ["foo"]), + (["bar/__init__.py", "xz.py"], ["bar", "xz"]), + (["setup.py"], []), + # egg based distributions root contain the files from the dist root + (["src/bar/__init__.py"], ["bar"]), + (["src/bar/__init__.py", "setup.py"], ["bar"]), + (["source/python/bar/__init__.py", "setup.py"], ["bar"]), ], ) def test_iter_rewritable_modules(self, names, expected): - assert list(_iter_rewritable_modules(["/".join(names)])) == expected + assert list(_iter_rewritable_modules(names)) == expected class TestConfigFromdictargs: From 64c71daa21ba58ca6e960dc0744b9d7b32ecd633 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Thu, 5 Dec 2019 17:32:45 -0300 Subject: [PATCH 08/13] Add 4.6.7 changelog to master --- doc/en/changelog.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/doc/en/changelog.rst b/doc/en/changelog.rst index 1c9140f39..972ebf177 100644 --- a/doc/en/changelog.rst +++ b/doc/en/changelog.rst @@ -796,6 +796,20 @@ Improved Documentation - `#5416 `_: Fix PytestUnknownMarkWarning in run/skip example. +pytest 4.6.7 (2019-12-05) +========================= + +Bug Fixes +--------- + +- `#5477 `_: The XML file produced by ``--junitxml`` now correctly contain a ```` root element. + + +- `#6044 `_: Properly ignore ``FileNotFoundError`` (``OSError.errno == NOENT`` in Python 2) exceptions when trying to remove old temporary directories, + for instance when multiple processes try to remove the same directory (common with ``pytest-xdist`` + for example). + + pytest 4.6.6 (2019-10-11) ========================= From 2ddc330b626705fc83a01d87e40d584ab33af625 Mon Sep 17 00:00:00 2001 From: Michael Rose Date: Sun, 8 Dec 2019 22:26:53 -0500 Subject: [PATCH 09/13] Fixes #6326: Typo in the Security section docs home page. --- README.rst | 2 +- doc/en/index.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 482dde6f5..53e643a5b 100644 --- a/README.rst +++ b/README.rst @@ -137,7 +137,7 @@ Save time, reduce risk, and improve code health, while paying the maintainers of Security ^^^^^^^^ -pytest has never been associated with a security vunerability, but in any case, to report a +pytest has never been associated with a security vulnerability, but in any case, to report a security vulnerability please use the `Tidelift security contact `_. Tidelift will coordinate the fix and disclosure. diff --git a/doc/en/index.rst b/doc/en/index.rst index b0abe7446..9c2f08f3a 100644 --- a/doc/en/index.rst +++ b/doc/en/index.rst @@ -112,7 +112,7 @@ Save time, reduce risk, and improve code health, while paying the maintainers of Security ^^^^^^^^ -pytest has never been associated with a security vunerability, but in any case, to report a +pytest has never been associated with a security vulnerability, but in any case, to report a security vulnerability please use the `Tidelift security contact `_. Tidelift will coordinate the fix and disclosure. From 8942a05cfec4b97d7aa94e55d08e41a08397e78e Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Mon, 9 Dec 2019 15:57:19 -0300 Subject: [PATCH 10/13] Change 4639 from feature to improvement An improvement seems more adequate here. --- changelog/{4639.feature.rst => 4639.improvement.rst} | 1 + 1 file changed, 1 insertion(+) rename changelog/{4639.feature.rst => 4639.improvement.rst} (99%) diff --git a/changelog/4639.feature.rst b/changelog/4639.improvement.rst similarity index 99% rename from changelog/4639.feature.rst rename to changelog/4639.improvement.rst index f296f1649..e18b3b619 100644 --- a/changelog/4639.feature.rst +++ b/changelog/4639.improvement.rst @@ -1,3 +1,4 @@ Revert "A warning is now issued when assertions are made for ``None``". + The warning proved to be less useful than initially expected and had quite a few false positive cases. From 10fcac7f908b792264c3e6a402aa1aa01345acc4 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Fri, 13 Dec 2019 08:51:15 -0300 Subject: [PATCH 11/13] Preparing release version 5.3.2 --- changelog/4639.improvement.rst | 4 ---- changelog/5430.bugfix.rst | 1 - changelog/6290.bugfix.rst | 1 - changelog/6301.bugfix.rst | 1 - doc/en/announce/index.rst | 1 + doc/en/announce/release-5.3.2.rst | 27 +++++++++++++++++++++++++++ doc/en/changelog.rst | 29 ++++++++++++++++++++++++----- doc/en/example/parametrize.rst | 8 ++++---- doc/en/example/reportingdemo.rst | 4 ++-- doc/en/example/simple.rst | 4 ++-- doc/en/getting-started.rst | 2 +- 11 files changed, 61 insertions(+), 21 deletions(-) delete mode 100644 changelog/4639.improvement.rst delete mode 100644 changelog/5430.bugfix.rst delete mode 100644 changelog/6290.bugfix.rst delete mode 100644 changelog/6301.bugfix.rst create mode 100644 doc/en/announce/release-5.3.2.rst diff --git a/changelog/4639.improvement.rst b/changelog/4639.improvement.rst deleted file mode 100644 index e18b3b619..000000000 --- a/changelog/4639.improvement.rst +++ /dev/null @@ -1,4 +0,0 @@ -Revert "A warning is now issued when assertions are made for ``None``". - -The warning proved to be less useful than initially expected and had quite a -few false positive cases. diff --git a/changelog/5430.bugfix.rst b/changelog/5430.bugfix.rst deleted file mode 100644 index 734685063..000000000 --- a/changelog/5430.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -junitxml: Logs for failed test are now passed to junit report in case the test fails during call phase. diff --git a/changelog/6290.bugfix.rst b/changelog/6290.bugfix.rst deleted file mode 100644 index f6f1560d4..000000000 --- a/changelog/6290.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -The supporting files in the ``.pytest_cache`` directory are kept with ``--cache-clear``, which only clears cached values now. diff --git a/changelog/6301.bugfix.rst b/changelog/6301.bugfix.rst deleted file mode 100644 index f13c83343..000000000 --- a/changelog/6301.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix assertion rewriting for egg-based distributions and ``editable`` installs (``pip install --editable``). diff --git a/doc/en/announce/index.rst b/doc/en/announce/index.rst index 7d8c4c5ac..e44ab212e 100644 --- a/doc/en/announce/index.rst +++ b/doc/en/announce/index.rst @@ -6,6 +6,7 @@ Release announcements :maxdepth: 2 + release-5.3.2 release-5.3.1 release-5.3.0 release-5.2.4 diff --git a/doc/en/announce/release-5.3.2.rst b/doc/en/announce/release-5.3.2.rst new file mode 100644 index 000000000..a1b37a18a --- /dev/null +++ b/doc/en/announce/release-5.3.2.rst @@ -0,0 +1,27 @@ +pytest-5.3.2 +======================================= + +pytest 5.3.2 has just been released to PyPI. + +This is a bug-fix release, being a drop-in replacement. To upgrade:: + + pip install --upgrade pytest + +The full changelog is available at https://docs.pytest.org/en/latest/changelog.html. + +Thanks to all who contributed to this release, among them: + +* Anthony Sottile +* Bruno Oliveira +* Claudio Madotto +* Daniel Hahler +* Jared Vasquez +* Michael Rose +* Ran Benita +* Ronny Pfannschmidt +* Zac Hatfield-Dodds +* zupermanzupereroe + + +Happy testing, +The pytest Development Team diff --git a/doc/en/changelog.rst b/doc/en/changelog.rst index 972ebf177..46fa240e0 100644 --- a/doc/en/changelog.rst +++ b/doc/en/changelog.rst @@ -24,13 +24,32 @@ with advance notice in the **Deprecations** section of releases. .. include:: _changelog_towncrier_draft.rst - - - - - .. towncrier release notes start +pytest 5.3.2 (2019-12-13) +========================= + +Improvements +------------ + +- `#4639 `_: Revert "A warning is now issued when assertions are made for ``None``". + + The warning proved to be less useful than initially expected and had quite a + few false positive cases. + + + +Bug Fixes +--------- + +- `#5430 `_: junitxml: Logs for failed test are now passed to junit report in case the test fails during call phase. + + +- `#6290 `_: The supporting files in the ``.pytest_cache`` directory are kept with ``--cache-clear``, which only clears cached values now. + + +- `#6301 `_: Fix assertion rewriting for egg-based distributions and ``editable`` installs (``pip install --editable``). + pytest 5.3.1 (2019-11-25) ========================= diff --git a/doc/en/example/parametrize.rst b/doc/en/example/parametrize.rst index 7230f2b00..15593b28a 100644 --- a/doc/en/example/parametrize.rst +++ b/doc/en/example/parametrize.rst @@ -475,10 +475,10 @@ Running it results in some skips if we don't have all the python interpreters in .. code-block:: pytest . $ pytest -rs -q multipython.py - ssssssssssssssssssssssss... [100%] + ssssssssssss...ssssssssssss [100%] ========================= short test summary info ========================== SKIPPED [12] $REGENDOC_TMPDIR/CWD/multipython.py:29: 'python3.5' not found - SKIPPED [12] $REGENDOC_TMPDIR/CWD/multipython.py:29: 'python3.6' not found + SKIPPED [12] $REGENDOC_TMPDIR/CWD/multipython.py:29: 'python3.7' not found 3 passed, 24 skipped in 0.12s Indirect parametrization of optional implementations/imports @@ -604,13 +604,13 @@ Then run ``pytest`` with verbose mode and with only the ``basic`` marker: platform linux -- Python 3.x.y, pytest-5.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python cachedir: $PYTHON_PREFIX/.pytest_cache rootdir: $REGENDOC_TMPDIR - collecting ... collected 18 items / 15 deselected / 3 selected + collecting ... collected 17 items / 14 deselected / 3 selected test_pytest_param_example.py::test_eval[1+7-8] PASSED [ 33%] test_pytest_param_example.py::test_eval[basic_2+4] PASSED [ 66%] test_pytest_param_example.py::test_eval[basic_6*9] XFAIL [100%] - =============== 2 passed, 15 deselected, 1 xfailed in 0.12s ================ + =============== 2 passed, 14 deselected, 1 xfailed in 0.12s ================ As the result: diff --git a/doc/en/example/reportingdemo.rst b/doc/en/example/reportingdemo.rst index eb978c5ea..1c06782f6 100644 --- a/doc/en/example/reportingdemo.rst +++ b/doc/en/example/reportingdemo.rst @@ -436,7 +436,7 @@ Here is a nice run of several failures and how ``pytest`` presents things: items = [1, 2, 3] print("items is {!r}".format(items)) > a, b = items.pop() - E TypeError: cannot unpack non-iterable int object + E TypeError: 'int' object is not iterable failure_demo.py:181: TypeError --------------------------- Captured stdout call --------------------------- @@ -516,7 +516,7 @@ Here is a nice run of several failures and how ``pytest`` presents things: def test_z2_type_error(self): items = 3 > a, b = items - E TypeError: cannot unpack non-iterable int object + E TypeError: 'int' object is not iterable failure_demo.py:222: TypeError ______________________ TestMoreErrors.test_startswith ______________________ diff --git a/doc/en/example/simple.rst b/doc/en/example/simple.rst index c1e13e3b1..05ccbc9b2 100644 --- a/doc/en/example/simple.rst +++ b/doc/en/example/simple.rst @@ -442,8 +442,8 @@ Now we can profile which test functions execute the slowest: ========================= slowest 3 test durations ========================= 0.30s call test_some_are_slow.py::test_funcslow2 - 0.21s call test_some_are_slow.py::test_funcslow1 - 0.11s call test_some_are_slow.py::test_funcfast + 0.20s call test_some_are_slow.py::test_funcslow1 + 0.10s call test_some_are_slow.py::test_funcfast ============================ 3 passed in 0.12s ============================= incremental testing - test steps diff --git a/doc/en/getting-started.rst b/doc/en/getting-started.rst index 97347f126..59197d0d7 100644 --- a/doc/en/getting-started.rst +++ b/doc/en/getting-started.rst @@ -28,7 +28,7 @@ Install ``pytest`` .. code-block:: bash $ pytest --version - This is pytest version 5.x.y, imported from $PYTHON_PREFIX/lib/python3.7/site-packages/pytest.py + This is pytest version 5.x.y, imported from $PYTHON_PREFIX/lib/python3.6/site-packages/pytest/__init__.py .. _`simpletest`: From f7409f86851f95c42af2b881b56ab60657107bd0 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Fri, 13 Dec 2019 09:17:12 -0300 Subject: [PATCH 12/13] Improve warning about incoming change to 'junitxml_family' default Fix #6265 --- src/_pytest/deprecated.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/_pytest/deprecated.py b/src/_pytest/deprecated.py index 5a7066041..09861be64 100644 --- a/src/_pytest/deprecated.py +++ b/src/_pytest/deprecated.py @@ -37,5 +37,6 @@ FIXTURE_POSITIONAL_ARGUMENTS = PytestDeprecationWarning( JUNIT_XML_DEFAULT_FAMILY = PytestDeprecationWarning( "The 'junit_family' default value will change to 'xunit2' in pytest 6.0.\n" - "Add 'junit_family=legacy' to your pytest.ini file to silence this warning and make your suite compatible." + "Add 'junit_family=xunit1' to your pytest.ini file to keep the current format " + "in future versions of pytest and silence this warning." ) From 7f24cc2feb87af41e95d2c0aee59fc81a44dbea8 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Sat, 14 Dec 2019 10:06:59 -0300 Subject: [PATCH 13/13] Remove duplicated user from announcement --- doc/en/announce/release-5.3.2.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/en/announce/release-5.3.2.rst b/doc/en/announce/release-5.3.2.rst index a1b37a18a..dbd657da3 100644 --- a/doc/en/announce/release-5.3.2.rst +++ b/doc/en/announce/release-5.3.2.rst @@ -20,7 +20,6 @@ Thanks to all who contributed to this release, among them: * Ran Benita * Ronny Pfannschmidt * Zac Hatfield-Dodds -* zupermanzupereroe Happy testing,