Merge pull request #4171 from RonnyPfannschmidt/release-3.9.1
Release 3.9.1
This commit is contained in:
		
						commit
						7931b5b489
					
				
							
								
								
									
										157
									
								
								CHANGELOG.rst
								
								
								
								
							
							
						
						
									
										157
									
								
								CHANGELOG.rst
								
								
								
								
							| 
						 | 
					@ -18,6 +18,163 @@ with advance notice in the **Deprecations** section of releases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. towncrier release notes start
 | 
					.. towncrier release notes start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pytest 3.9.1 (2018-10-16)
 | 
				
			||||||
 | 
					=========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Features
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4159 <https://github.com/pytest-dev/pytest/issues/4159>`_: For test-suites containing test classes, the information about the subclassed
 | 
				
			||||||
 | 
					  module is now output only if a higher verbosity level is specified (at least
 | 
				
			||||||
 | 
					  "-vv").
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pytest 3.9.0 (2018-10-15 - not published due to a release automation bug)
 | 
				
			||||||
 | 
					=========================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Deprecations
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3616 <https://github.com/pytest-dev/pytest/issues/3616>`_: The following accesses have been documented as deprecated for years, but are now actually emitting deprecation warnings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  * Access of ``Module``, ``Function``, ``Class``, ``Instance``, ``File`` and ``Item`` through ``Node`` instances. Now
 | 
				
			||||||
 | 
					    users will this warning::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          usage of Function.Module is deprecated, please use pytest.Module instead
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Users should just ``import pytest`` and access those objects using the ``pytest`` module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  * ``request.cached_setup``, this was the precursor of the setup/teardown mechanism available to fixtures. You can
 | 
				
			||||||
 | 
					    consult `funcarg comparision section in the docs <https://docs.pytest.org/en/latest/funcarg_compare.html>`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  * Using objects named ``"Class"`` as a way to customize the type of nodes that are collected in ``Collector``
 | 
				
			||||||
 | 
					    subclasses has been deprecated. Users instead should use ``pytest_collect_make_item`` to customize node types during
 | 
				
			||||||
 | 
					    collection.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    This issue should affect only advanced plugins who create new collection types, so if you see this warning
 | 
				
			||||||
 | 
					    message please contact the authors so they can change the code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  * The warning that produces the message below has changed to ``RemovedInPytest4Warning``::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          getfuncargvalue is deprecated, use getfixturevalue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3988 <https://github.com/pytest-dev/pytest/issues/3988>`_: Add a Deprecation warning for pytest.ensuretemp as it was deprecated since a while.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Features
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#2293 <https://github.com/pytest-dev/pytest/issues/2293>`_: Improve usage errors messages by hiding internal details which can be distracting and noisy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  This has the side effect that some error conditions that previously raised generic errors (such as
 | 
				
			||||||
 | 
					  ``ValueError`` for unregistered marks) are now raising ``Failed`` exceptions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3332 <https://github.com/pytest-dev/pytest/issues/3332>`_: Improve the error displayed when a ``conftest.py`` file could not be imported.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  In order to implement this, a new ``chain`` parameter was added to ``ExceptionInfo.getrepr``
 | 
				
			||||||
 | 
					  to show or hide chained tracebacks in Python 3 (defaults to ``True``).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3849 <https://github.com/pytest-dev/pytest/issues/3849>`_: Add ``empty_parameter_set_mark=fail_at_collect`` ini option for raising an exception when parametrize collects an empty set.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3964 <https://github.com/pytest-dev/pytest/issues/3964>`_: Log messages generated in the collection phase are shown when
 | 
				
			||||||
 | 
					  live-logging is enabled and/or when they are logged to a file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3985 <https://github.com/pytest-dev/pytest/issues/3985>`_: Introduce ``tmp_path`` as a fixture providing a Path object.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4013 <https://github.com/pytest-dev/pytest/issues/4013>`_: Deprecation warnings are now shown even if you customize the warnings filters yourself. In the previous version
 | 
				
			||||||
 | 
					  any customization would override pytest's filters and deprecation warnings would fall back to being hidden by default.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4073 <https://github.com/pytest-dev/pytest/issues/4073>`_: Allow specification of timeout for ``Testdir.runpytest_subprocess()`` and ``Testdir.run()``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4098 <https://github.com/pytest-dev/pytest/issues/4098>`_: Add returncode argument to pytest.exit() to exit pytest with a specific return code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4102 <https://github.com/pytest-dev/pytest/issues/4102>`_: Reimplement ``pytest.deprecated_call`` using ``pytest.warns`` so it supports the ``match='...'`` keyword argument.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  This has the side effect that ``pytest.deprecated_call`` now raises ``pytest.fail.Exception`` instead
 | 
				
			||||||
 | 
					  of ``AssertionError``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4149 <https://github.com/pytest-dev/pytest/issues/4149>`_: Require setuptools>=30.3 and move most of the metadata to ``setup.cfg``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bug Fixes
 | 
				
			||||||
 | 
					---------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#2535 <https://github.com/pytest-dev/pytest/issues/2535>`_: Improve error message when test functions of ``unittest.TestCase`` subclasses use a parametrized fixture.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3057 <https://github.com/pytest-dev/pytest/issues/3057>`_: ``request.fixturenames`` now correctly returns the name of fixtures created by ``request.getfixturevalue()``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3946 <https://github.com/pytest-dev/pytest/issues/3946>`_: Warning filters passed as command line options using ``-W`` now take precedence over filters defined in ``ini``
 | 
				
			||||||
 | 
					  configuration files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4066 <https://github.com/pytest-dev/pytest/issues/4066>`_: Fix source reindenting by using ``textwrap.dedent`` directly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4102 <https://github.com/pytest-dev/pytest/issues/4102>`_: ``pytest.warn`` will capture previously-warned warnings in Python 2. Previously they were never raised.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4108 <https://github.com/pytest-dev/pytest/issues/4108>`_: Resolve symbolic links for args.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  This fixes running ``pytest tests/test_foo.py::test_bar``, where ``tests``
 | 
				
			||||||
 | 
					  is a symlink to ``project/app/tests``:
 | 
				
			||||||
 | 
					  previously ``project/app/conftest.py`` would be ignored for fixtures then.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4132 <https://github.com/pytest-dev/pytest/issues/4132>`_: Fix duplicate printing of internal errors when using ``--pdb``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4135 <https://github.com/pytest-dev/pytest/issues/4135>`_: pathlib based tmpdir cleanup now correctly handles symlinks in the folder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4152 <https://github.com/pytest-dev/pytest/issues/4152>`_: Display the filename when encountering ``SyntaxWarning``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Improved Documentation
 | 
				
			||||||
 | 
					----------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3713 <https://github.com/pytest-dev/pytest/issues/3713>`_: Update usefixtures documentation to clarify that it can't be used with fixture functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4058 <https://github.com/pytest-dev/pytest/issues/4058>`_: Update fixture documentation to specify that a fixture can be invoked twice in the scope it's defined for.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4064 <https://github.com/pytest-dev/pytest/issues/4064>`_: According to unittest.rst, setUpModule and tearDownModule were not implemented, but it turns out they are. So updated the documentation for unittest.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4151 <https://github.com/pytest-dev/pytest/issues/4151>`_: Add tempir testing example to CONTRIBUTING.rst guide
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Trivial/Internal Changes
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#2293 <https://github.com/pytest-dev/pytest/issues/2293>`_: The internal ``MarkerError`` exception has been removed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#3988 <https://github.com/pytest-dev/pytest/issues/3988>`_: Port the implementation of tmpdir to pathlib.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4063 <https://github.com/pytest-dev/pytest/issues/4063>`_: Exclude 0.00 second entries from ``--duration`` output unless ``-vv`` is passed on the command-line.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#4093 <https://github.com/pytest-dev/pytest/issues/4093>`_: Fixed formatting of string literals in internal tests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pytest 3.8.2 (2018-10-02)
 | 
					pytest 3.8.2 (2018-10-02)
 | 
				
			||||||
=========================
 | 
					=========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
Improve usage errors messages by hiding internal details which can be distracting and noisy.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This has the side effect that some error conditions that previously raised generic errors (such as
 | 
					 | 
				
			||||||
``ValueError`` for unregistered marks) are now raising ``Failed`` exceptions.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
The internal ``MarkerError`` exception has been removed.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Improve error message when test functions of ``unittest.TestCase`` subclasses use a parametrized fixture.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
``request.fixturenames`` now correctly returns the name of fixtures created by ``request.getfixturevalue()``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
Improve the error displayed when a ``conftest.py`` file could not be imported.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
In order to implement this, a new ``chain`` parameter was added to ``ExceptionInfo.getrepr``
 | 
					 | 
				
			||||||
to show or hide chained tracebacks in Python 3 (defaults to ``True``).
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,22 +0,0 @@
 | 
				
			||||||
The following accesses have been documented as deprecated for years, but are now actually emitting deprecation warnings.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Access of ``Module``, ``Function``, ``Class``, ``Instance``, ``File`` and ``Item`` through ``Node`` instances. Now
 | 
					 | 
				
			||||||
  users will this warning::
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        usage of Function.Module is deprecated, please use pytest.Module instead
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Users should just ``import pytest`` and access those objects using the ``pytest`` module.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* ``request.cached_setup``, this was the precursor of the setup/teardown mechanism available to fixtures. You can
 | 
					 | 
				
			||||||
  consult `funcarg comparision section in the docs <https://docs.pytest.org/en/latest/funcarg_compare.html>`_.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Using objects named ``"Class"`` as a way to customize the type of nodes that are collected in ``Collector``
 | 
					 | 
				
			||||||
  subclasses has been deprecated. Users instead should use ``pytest_collect_make_item`` to customize node types during
 | 
					 | 
				
			||||||
  collection.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  This issue should affect only advanced plugins who create new collection types, so if you see this warning
 | 
					 | 
				
			||||||
  message please contact the authors so they can change the code.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* The warning that produces the message below has changed to ``RemovedInPytest4Warning``::
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        getfuncargvalue is deprecated, use getfixturevalue
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Update usefixtures documentation to clarify that it can't be used with fixture functions.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Add ``empty_parameter_set_mark=fail_at_collect`` ini option for raising an exception when parametrize collects an empty set.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
Warning filters passed as command line options using ``-W`` now take precedence over filters defined in ``ini``
 | 
					 | 
				
			||||||
configuration files.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
Log messages generated in the collection phase are shown when
 | 
					 | 
				
			||||||
live-logging is enabled and/or when they are logged to a file.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Introduce ``tmp_path`` as a fixture providing a Path object.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Add a Deprecation warning for pytest.ensuretemp as it was deprecated since a while.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Port the implementation of tmpdir to pathlib.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
Deprecation warnings are now shown even if you customize the warnings filters yourself. In the previous version
 | 
					 | 
				
			||||||
any customization would override pytest's filters and deprecation warnings would fall back to being hidden by default.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Update fixture documentation to specify that a fixture can be invoked twice in the scope it's defined for.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Exclude 0.00 second entries from ``--duration`` output unless ``-vv`` is passed on the command-line.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
According to unittest.rst, setUpModule and tearDownModule were not implemented, but it turns out they are. So updated the documentation for unittest.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Fix source reindenting by using ``textwrap.dedent`` directly.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Allow specification of timeout for ``Testdir.runpytest_subprocess()`` and ``Testdir.run()``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Fixed formatting of string literals in internal tests.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Add returncode argument to pytest.exit() to exit pytest with a specific return code.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
``pytest.warn`` will capture previously-warned warnings in Python 2. Previously they were never raised.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
Reimplement ``pytest.deprecated_call`` using ``pytest.warns`` so it supports the ``match='...'`` keyword argument.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This has the side effect that ``pytest.deprecated_call`` now raises ``pytest.fail.Exception`` instead
 | 
					 | 
				
			||||||
of ``AssertionError``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
Resolve symbolic links for args.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This fixes running ``pytest tests/test_foo.py::test_bar``, where ``tests``
 | 
					 | 
				
			||||||
is a symlink to ``project/app/tests``:
 | 
					 | 
				
			||||||
previously ``project/app/conftest.py`` would be ignored for fixtures then.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Fix duplicate printing of internal errors when using ``--pdb``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
pathlib based tmpdir cleanup now correctly handles symlinks in the folder.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Require setuptools>=30.3 and move most of the metadata to ``setup.cfg``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Add tempir testing example to CONTRIBUTING.rst guide
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Display the filename when encountering ``SyntaxWarning``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
For test-suites containing test classes, the information about the subclassed
 | 
					 | 
				
			||||||
module is now output only if a higher verbosity level is specified (at least
 | 
					 | 
				
			||||||
"-vv").
 | 
					 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,8 @@ Release announcements
 | 
				
			||||||
   :maxdepth: 2
 | 
					   :maxdepth: 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   release-3.9.1
 | 
				
			||||||
 | 
					   release-3.9.0
 | 
				
			||||||
   release-3.8.2
 | 
					   release-3.8.2
 | 
				
			||||||
   release-3.8.1
 | 
					   release-3.8.1
 | 
				
			||||||
   release-3.8.0
 | 
					   release-3.8.0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,43 @@
 | 
				
			||||||
 | 
					pytest-3.9.0
 | 
				
			||||||
 | 
					=======================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The pytest team is proud to announce the 3.9.0 release!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pytest is a mature Python testing tool with more than a 2000 tests
 | 
				
			||||||
 | 
					against itself, passing on many different interpreters and platforms.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This release contains a number of bugs fixes and improvements, so users are encouraged
 | 
				
			||||||
 | 
					to take a look at the CHANGELOG:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    https://docs.pytest.org/en/latest/changelog.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For complete documentation, please visit:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    https://docs.pytest.org/en/latest/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As usual, you can upgrade from pypi via:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    pip install -U pytest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Thanks to all who contributed to this release, among them:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Andrea Cimatoribus
 | 
				
			||||||
 | 
					* Ankit Goel
 | 
				
			||||||
 | 
					* Anthony Sottile
 | 
				
			||||||
 | 
					* Ben Eyal
 | 
				
			||||||
 | 
					* Bruno Oliveira
 | 
				
			||||||
 | 
					* Daniel Hahler
 | 
				
			||||||
 | 
					* Jeffrey Rackauckas
 | 
				
			||||||
 | 
					* Jose Carlos Menezes
 | 
				
			||||||
 | 
					* Kyle Altendorf
 | 
				
			||||||
 | 
					* Niklas JQ
 | 
				
			||||||
 | 
					* Palash Chatterjee
 | 
				
			||||||
 | 
					* Ronny Pfannschmidt
 | 
				
			||||||
 | 
					* Thomas Hess
 | 
				
			||||||
 | 
					* Thomas Hisch
 | 
				
			||||||
 | 
					* Tomer Keren
 | 
				
			||||||
 | 
					* Victor Maryama
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Happy testing,
 | 
				
			||||||
 | 
					The Pytest Development Team
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					pytest-3.9.1
 | 
				
			||||||
 | 
					=======================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pytest 3.9.1 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:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Bruno Oliveira
 | 
				
			||||||
 | 
					* Ronny Pfannschmidt
 | 
				
			||||||
 | 
					* Thomas Hisch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Happy testing,
 | 
				
			||||||
 | 
					The pytest Development Team
 | 
				
			||||||
| 
						 | 
					@ -104,7 +104,9 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
 | 
				
			||||||
        See http://docs.python.org/library/warnings.html for information
 | 
					        See http://docs.python.org/library/warnings.html for information
 | 
				
			||||||
        on warning categories.
 | 
					        on warning categories.
 | 
				
			||||||
    tmpdir_factory
 | 
					    tmpdir_factory
 | 
				
			||||||
        Return a TempdirFactory instance for the test session.
 | 
					        Return a :class:`_pytest.tmpdir.TempdirFactory` instance for the test session.
 | 
				
			||||||
 | 
					    tmp_path_factory
 | 
				
			||||||
 | 
					        Return a :class:`_pytest.tmpdir.TempPathFactory` instance for the test session.
 | 
				
			||||||
    tmpdir
 | 
					    tmpdir
 | 
				
			||||||
        Return a temporary directory path object
 | 
					        Return a temporary directory path object
 | 
				
			||||||
        which is unique to each test function invocation,
 | 
					        which is unique to each test function invocation,
 | 
				
			||||||
| 
						 | 
					@ -113,6 +115,16 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
 | 
				
			||||||
        path object.
 | 
					        path object.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .. _`py.path.local`: https://py.readthedocs.io/en/latest/path.html
 | 
					        .. _`py.path.local`: https://py.readthedocs.io/en/latest/path.html
 | 
				
			||||||
 | 
					    tmp_path
 | 
				
			||||||
 | 
					        Return a temporary directory path object
 | 
				
			||||||
 | 
					        which is unique to each test function invocation,
 | 
				
			||||||
 | 
					        created as a sub directory of the base temporary
 | 
				
			||||||
 | 
					        directory.  The returned object is a :class:`pathlib.Path`
 | 
				
			||||||
 | 
					        object.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .. note::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            in python < 3.6 this is a pathlib2.Path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    no tests ran in 0.12 seconds
 | 
					    no tests ran in 0.12 seconds
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -574,7 +574,7 @@ We can run this::
 | 
				
			||||||
    file $REGENDOC_TMPDIR/b/test_error.py, line 1
 | 
					    file $REGENDOC_TMPDIR/b/test_error.py, line 1
 | 
				
			||||||
      def test_root(db):  # no db here, will error out
 | 
					      def test_root(db):  # no db here, will error out
 | 
				
			||||||
    E       fixture 'db' not found
 | 
					    E       fixture 'db' not found
 | 
				
			||||||
    >       available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, monkeypatch, pytestconfig, record_property, record_xml_attribute, record_xml_property, recwarn, tmpdir, tmpdir_factory
 | 
					    >       available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, monkeypatch, pytestconfig, record_property, record_xml_attribute, record_xml_property, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
 | 
				
			||||||
    >       use 'pytest --fixtures [testpath]' for help on them.
 | 
					    >       use 'pytest --fixtures [testpath]' for help on them.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $REGENDOC_TMPDIR/b/test_error.py:1
 | 
					    $REGENDOC_TMPDIR/b/test_error.py:1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,16 +31,37 @@ created in the `base temporary directory`_.
 | 
				
			||||||
        p = d / "hello.txt"
 | 
					        p = d / "hello.txt"
 | 
				
			||||||
        p.write_text(CONTENT)
 | 
					        p.write_text(CONTENT)
 | 
				
			||||||
        assert p.read_text() == CONTENT
 | 
					        assert p.read_text() == CONTENT
 | 
				
			||||||
        assert len(tmpdir.listdir()) == 1
 | 
					        assert len(list(tmp_path.iterdir())) == 1
 | 
				
			||||||
        assert 0
 | 
					        assert 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Running this would result in a passed test except for the last
 | 
					Running this would result in a passed test except for the last
 | 
				
			||||||
``assert 0`` line which we use to look at values::
 | 
					``assert 0`` line which we use to look at values::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $ pytest test_tmp_path.py
 | 
					    $ pytest test_tmp_path.py
 | 
				
			||||||
    ... #fill fom regendoc
 | 
					    =========================== test session starts ============================
 | 
				
			||||||
 | 
					    platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y
 | 
				
			||||||
 | 
					    rootdir: $REGENDOC_TMPDIR, inifile:
 | 
				
			||||||
 | 
					    collected 1 item
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    test_tmp_path.py F                                                   [100%]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ================================= FAILURES =================================
 | 
				
			||||||
 | 
					    _____________________________ test_create_file _____________________________
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tmp_path = PosixPath('PYTEST_TMPDIR/test_create_file0')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        def test_create_file(tmp_path):
 | 
				
			||||||
 | 
					            d = tmp_path / "sub"
 | 
				
			||||||
 | 
					            d.mkdir()
 | 
				
			||||||
 | 
					            p = d / "hello.txt"
 | 
				
			||||||
 | 
					            p.write_text(CONTENT)
 | 
				
			||||||
 | 
					            assert p.read_text() == CONTENT
 | 
				
			||||||
 | 
					            assert len(list(tmp_path.iterdir())) == 1
 | 
				
			||||||
 | 
					    >       assert 0
 | 
				
			||||||
 | 
					    E       assert 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    test_tmp_path.py:13: AssertionError
 | 
				
			||||||
 | 
					    ========================= 1 failed in 0.12 seconds =========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The ``tmp_path_factory`` fixture
 | 
					The ``tmp_path_factory`` fixture
 | 
				
			||||||
--------------------------------
 | 
					--------------------------------
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -420,9 +420,21 @@ additionally it is possible to copy examples for a example folder before running
 | 
				
			||||||
    ============================= warnings summary =============================
 | 
					    ============================= warnings summary =============================
 | 
				
			||||||
    $REGENDOC_TMPDIR/test_example.py:4: PytestExperimentalApiWarning: testdir.copy_example is an experimental api that may change over time
 | 
					    $REGENDOC_TMPDIR/test_example.py:4: PytestExperimentalApiWarning: testdir.copy_example is an experimental api that may change over time
 | 
				
			||||||
      testdir.copy_example("test_example.py")
 | 
					      testdir.copy_example("test_example.py")
 | 
				
			||||||
 | 
					    $PYTHON_PREFIX/lib/python3.6/site-packages/_pytest/compat.py:321: RemovedInPytest4Warning: usage of Session.Class is deprecated, please use pytest.Class instead
 | 
				
			||||||
 | 
					      return getattr(object, name, default)
 | 
				
			||||||
 | 
					    $PYTHON_PREFIX/lib/python3.6/site-packages/_pytest/compat.py:321: RemovedInPytest4Warning: usage of Session.File is deprecated, please use pytest.File instead
 | 
				
			||||||
 | 
					      return getattr(object, name, default)
 | 
				
			||||||
 | 
					    $PYTHON_PREFIX/lib/python3.6/site-packages/_pytest/compat.py:321: RemovedInPytest4Warning: usage of Session.Function is deprecated, please use pytest.Function instead
 | 
				
			||||||
 | 
					      return getattr(object, name, default)
 | 
				
			||||||
 | 
					    $PYTHON_PREFIX/lib/python3.6/site-packages/_pytest/compat.py:321: RemovedInPytest4Warning: usage of Session.Instance is deprecated, please use pytest.Instance instead
 | 
				
			||||||
 | 
					      return getattr(object, name, default)
 | 
				
			||||||
 | 
					    $PYTHON_PREFIX/lib/python3.6/site-packages/_pytest/compat.py:321: RemovedInPytest4Warning: usage of Session.Item is deprecated, please use pytest.Item instead
 | 
				
			||||||
 | 
					      return getattr(object, name, default)
 | 
				
			||||||
 | 
					    $PYTHON_PREFIX/lib/python3.6/site-packages/_pytest/compat.py:321: RemovedInPytest4Warning: usage of Session.Module is deprecated, please use pytest.Module instead
 | 
				
			||||||
 | 
					      return getattr(object, name, default)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    -- Docs: https://docs.pytest.org/en/latest/warnings.html
 | 
					    -- Docs: https://docs.pytest.org/en/latest/warnings.html
 | 
				
			||||||
    =================== 2 passed, 1 warnings in 0.12 seconds ===================
 | 
					    =================== 2 passed, 7 warnings in 0.12 seconds ===================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For more information about the result object that ``runpytest()`` returns, and
 | 
					For more information about the result object that ``runpytest()`` returns, and
 | 
				
			||||||
the methods that it provides please check out the :py:class:`RunResult
 | 
					the methods that it provides please check out the :py:class:`RunResult
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue