Preparing release version 3.1.3
This commit is contained in:
		
							parent
							
								
									8a8687122d
								
							
						
					
					
						commit
						b63f6770a1
					
				|  | @ -8,6 +8,52 @@ | ||||||
| 
 | 
 | ||||||
| .. towncrier release notes start | .. towncrier release notes start | ||||||
| 
 | 
 | ||||||
|  | Pytest 3.1.3 (2017-07-03) | ||||||
|  | ========================= | ||||||
|  | 
 | ||||||
|  | Bug Fixes | ||||||
|  | --------- | ||||||
|  | 
 | ||||||
|  | - Fix decode error in Python 2 for doctests in docstrings. (`#2434 | ||||||
|  |   <https://github.com/pytest-dev/pytest/issues/2434>`_) | ||||||
|  | 
 | ||||||
|  | - Exceptions raised during teardown by finalizers are now suppressed until all | ||||||
|  |   finalizers are called, with the initial exception reraised. (`#2440 | ||||||
|  |   <https://github.com/pytest-dev/pytest/issues/2440>`_) | ||||||
|  | 
 | ||||||
|  | - Fix incorrect "collected items" report when specifying tests on the command- | ||||||
|  |   line. (`#2464 <https://github.com/pytest-dev/pytest/issues/2464>`_) | ||||||
|  | 
 | ||||||
|  | - ``deprecated_call`` in context-manager form now captures deprecation warnings | ||||||
|  |   even if the same warning has already been raised. Also, ``deprecated_call`` | ||||||
|  |   will always produce the same error message (previously it would produce | ||||||
|  |   different messages in context-manager vs. function-call mode). (`#2469 | ||||||
|  |   <https://github.com/pytest-dev/pytest/issues/2469>`_) | ||||||
|  | 
 | ||||||
|  | - Fix issue where paths collected by pytest could have triple leading ``/`` | ||||||
|  |   characters. (`#2475 <https://github.com/pytest-dev/pytest/issues/2475>`_) | ||||||
|  | 
 | ||||||
|  | - Fix internal error when trying to detect the start of a recursive traceback. | ||||||
|  |   (`#2486 <https://github.com/pytest-dev/pytest/issues/2486>`_) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Improved Documentation | ||||||
|  | ---------------------- | ||||||
|  | 
 | ||||||
|  | - Explicitly state for which hooks the calls stop after the first non-None | ||||||
|  |   result. (`#2493 <https://github.com/pytest-dev/pytest/issues/2493>`_) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Trivial/Internal Changes | ||||||
|  | ------------------------ | ||||||
|  | 
 | ||||||
|  | - Create invoke tasks for updating the vendored packages. (`#2474 | ||||||
|  |   <https://github.com/pytest-dev/pytest/issues/2474>`_) | ||||||
|  | 
 | ||||||
|  | - Update copyright dates in LICENSE, README.rst and in the documentation. | ||||||
|  |   (`#2499 <https://github.com/pytest-dev/pytest/issues/2499>`_) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| Pytest 3.1.2 (2017-06-08) | Pytest 3.1.2 (2017-06-08) | ||||||
| ========================= | ========================= | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Fix decode error in Python 2 for doctests in docstrings. |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Exceptions raised during teardown by finalizers are now suppressed until all finalizers are called, with the initial exception reraised. |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Fix incorrect "collected items" report when specifying tests on the command-line. |  | ||||||
|  | @ -1,4 +0,0 @@ | ||||||
| ``deprecated_call`` in context-manager form now captures deprecation warnings even if |  | ||||||
| the same warning has already been raised. Also, ``deprecated_call`` will always produce |  | ||||||
| the same error message (previously it would produce different messages in context-manager vs. |  | ||||||
| function-call mode). |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Create invoke tasks for updating the vendored packages. |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Fix issue where paths collected by pytest could have triple leading ``/`` characters. |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Fix internal error when trying to detect the start of a recursive traceback. |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Explicitly state for which hooks the calls stop after the first non-None result. |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| Update copyright dates in LICENSE, README.rst and in the documentation. |  | ||||||
|  | @ -6,6 +6,7 @@ Release announcements | ||||||
|    :maxdepth: 2 |    :maxdepth: 2 | ||||||
| 
 | 
 | ||||||
|     |     | ||||||
|  |    release-3.1.3 | ||||||
|    release-3.1.2 |    release-3.1.2 | ||||||
|    release-3.1.1 |    release-3.1.1 | ||||||
|    release-3.1.0 |    release-3.1.0 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,23 @@ | ||||||
|  | pytest-3.1.3 | ||||||
|  | ======================================= | ||||||
|  | 
 | ||||||
|  | pytest 3.1.3 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 http://doc.pytest.org/en/latest/changelog.html. | ||||||
|  | 
 | ||||||
|  | Thanks to all who contributed to this release, among them: | ||||||
|  | 
 | ||||||
|  | * Antoine Legrand | ||||||
|  | * Bruno Oliveira | ||||||
|  | * Max Moroz | ||||||
|  | * Raphael Pierzina | ||||||
|  | * Ronny Pfannschmidt | ||||||
|  | * Ryan Fitzpatrick | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Happy testing, | ||||||
|  | The pytest Development Team | ||||||
|  | @ -28,7 +28,7 @@ you will see the return value of the function call:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_assert1.py F |     test_assert1.py F | ||||||
|      |      | ||||||
|  | @ -172,7 +172,7 @@ if you run this module:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_assert2.py F |     test_assert2.py F | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ then you can just invoke ``pytest`` without command line options:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini |     rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     mymodule.py . |     mymodule.py . | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -69,7 +69,7 @@ tests based on their module, class, method, or function name:: | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.5 |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.5 | ||||||
|     cachedir: .cache |     cachedir: .cache | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collecting ... collected 5 items |     collecting ... collected 1 item | ||||||
|      |      | ||||||
|     test_server.py::TestClass::test_method PASSED |     test_server.py::TestClass::test_method PASSED | ||||||
|      |      | ||||||
|  | @ -82,7 +82,7 @@ You can also select on the class:: | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.5 |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.5 | ||||||
|     cachedir: .cache |     cachedir: .cache | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collecting ... collected 4 items |     collecting ... collected 1 item | ||||||
|      |      | ||||||
|     test_server.py::TestClass::test_method PASSED |     test_server.py::TestClass::test_method PASSED | ||||||
|      |      | ||||||
|  | @ -95,7 +95,7 @@ Or select multiple nodes:: | ||||||
|   platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.5 |   platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.5 | ||||||
|   cachedir: .cache |   cachedir: .cache | ||||||
|   rootdir: $REGENDOC_TMPDIR, inifile: |   rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|   collecting ... collected 8 items |   collecting ... collected 2 items | ||||||
|    |    | ||||||
|   test_server.py::TestClass::test_method PASSED |   test_server.py::TestClass::test_method PASSED | ||||||
|   test_server.py::test_send_http PASSED |   test_server.py::test_send_http PASSED | ||||||
|  | @ -354,7 +354,7 @@ the test needs:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_someenv.py s |     test_someenv.py s | ||||||
|      |      | ||||||
|  | @ -366,7 +366,7 @@ and here is one that specifies exactly the environment needed:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_someenv.py . |     test_someenv.py . | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -336,7 +336,7 @@ The result of this test will be successful:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|     <Module 'test_indirect_list.py'> |     <Module 'test_indirect_list.py'> | ||||||
|       <Function 'test_indirect[a-b]'> |       <Function 'test_indirect[a-b]'> | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -72,7 +72,7 @@ marked ``smtp`` fixture function.  Running the test looks like this:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_smtpsimple.py F |     test_smtpsimple.py F | ||||||
|      |      | ||||||
|  | @ -471,7 +471,7 @@ So let's just do another run:: | ||||||
|             response, msg = smtp.ehlo() |             response, msg = smtp.ehlo() | ||||||
|             assert response == 250 |             assert response == 250 | ||||||
|     >       assert b"smtp.gmail.com" in msg |     >       assert b"smtp.gmail.com" in msg | ||||||
|     E       AssertionError: assert b'smtp.gmail.com' in b'mail.python.org\nSIZE 51200000\nETRN\nSTARTTLS\nENHANCEDSTATUSCODES\n8BITMIME\nDSN\nSMTPUTF8' |     E       AssertionError: assert b'smtp.gmail.com' in b'mail.python.org\nPIPELINING\nSIZE 51200000\nETRN\nSTARTTLS\nAUTH DIGEST-MD5 NTLM CRAM-MD5\nENHANCEDSTATUSCODES\n8BITMIME\nDSN\nSMTPUTF8' | ||||||
|      |      | ||||||
|     test_module.py:5: AssertionError |     test_module.py:5: AssertionError | ||||||
|     -------------------------- Captured stdout setup --------------------------- |     -------------------------- Captured stdout setup --------------------------- | ||||||
|  |  | ||||||
|  | @ -48,7 +48,7 @@ That's it. You can execute the test function now:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_sample.py F |     test_sample.py F | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -27,7 +27,7 @@ To execute it:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_sample.py F |     test_sample.py F | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -31,7 +31,7 @@ Running this would result in a passed test except for the last | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_tmpdir.py F |     test_tmpdir.py F | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -24,7 +24,7 @@ Running pytest now produces this output:: | ||||||
|     ======= test session starts ======== |     ======= test session starts ======== | ||||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y |     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y | ||||||
|     rootdir: $REGENDOC_TMPDIR, inifile: |     rootdir: $REGENDOC_TMPDIR, inifile: | ||||||
|     collected 1 items |     collected 1 item | ||||||
|      |      | ||||||
|     test_show_warnings.py . |     test_show_warnings.py . | ||||||
|      |      | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue