Preparing release version 3.9.0
This commit is contained in:
		
							parent
							
								
									39a13d7064
								
							
						
					
					
						commit
						2868c31495
					
				
							
								
								
									
										146
									
								
								CHANGELOG.rst
								
								
								
								
							
							
						
						
									
										146
									
								
								CHANGELOG.rst
								
								
								
								
							|  | @ -18,6 +18,152 @@ with advance notice in the **Deprecations** section of releases. | |||
| 
 | ||||
| .. towncrier release notes start | ||||
| 
 | ||||
| pytest 3.9.0 (2018-10-15) | ||||
| ========================= | ||||
| 
 | ||||
| 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) | ||||
| ========================= | ||||
| 
 | ||||
|  |  | |||
|  | @ -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``. | ||||
|  | @ -6,6 +6,7 @@ Release announcements | |||
|    :maxdepth: 2 | ||||
| 
 | ||||
| 
 | ||||
|    release-3.9.0 | ||||
|    release-3.8.2 | ||||
|    release-3.8.1 | ||||
|    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 | ||||
|  | @ -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 | ||||
|         on warning categories. | ||||
|     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 | ||||
|         Return a temporary directory path object | ||||
|         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. | ||||
| 
 | ||||
|         .. _`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 | ||||
| 
 | ||||
|  |  | |||
|  | @ -31,7 +31,7 @@ You can then restrict a test run to only run tests marked with ``webtest``:: | |||
| 
 | ||||
|     $ pytest -v -m webtest | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 4 items / 3 deselected | ||||
|  | @ -44,7 +44,7 @@ Or the inverse, running all tests except the webtest ones:: | |||
| 
 | ||||
|     $ pytest -v -m "not webtest" | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 4 items / 1 deselected | ||||
|  | @ -64,7 +64,7 @@ tests based on their module, class, method, or function name:: | |||
| 
 | ||||
|     $ pytest -v test_server.py::TestClass::test_method | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 1 item | ||||
|  | @ -77,7 +77,7 @@ You can also select on the class:: | |||
| 
 | ||||
|     $ pytest -v test_server.py::TestClass | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 1 item | ||||
|  | @ -90,7 +90,7 @@ Or select multiple nodes:: | |||
| 
 | ||||
|   $ pytest -v test_server.py::TestClass test_server.py::test_send_http | ||||
|   =========================== test session starts ============================ | ||||
|   platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|   platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|   cachedir: .pytest_cache | ||||
|   rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|   collecting ... collected 2 items | ||||
|  | @ -128,7 +128,7 @@ select tests based on their names:: | |||
| 
 | ||||
|     $ pytest -v -k http  # running with the above defined example module | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 4 items / 3 deselected | ||||
|  | @ -141,7 +141,7 @@ And you can also run all tests except the ones that match the keyword:: | |||
| 
 | ||||
|     $ pytest -k "not send_http" -v | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 4 items / 1 deselected | ||||
|  | @ -156,7 +156,7 @@ Or to select "http" and "quick" tests:: | |||
| 
 | ||||
|     $ pytest -k "http or quick" -v | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 4 items / 2 deselected | ||||
|  |  | |||
|  | @ -59,7 +59,7 @@ consulted when reporting in ``verbose`` mode:: | |||
| 
 | ||||
|     nonpython $ pytest -v | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR/nonpython, inifile: | ||||
|     collecting ... collected 2 items | ||||
|  |  | |||
|  | @ -357,7 +357,7 @@ which will add info only when run with "--v":: | |||
| 
 | ||||
|     $ pytest -v | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     info1: did you know that ... | ||||
|     did you? | ||||
|  | @ -574,7 +574,7 @@ We can run this:: | |||
|     file $REGENDOC_TMPDIR/b/test_error.py, line 1 | ||||
|       def test_root(db):  # no db here, will error out | ||||
|     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. | ||||
| 
 | ||||
|     $REGENDOC_TMPDIR/b/test_error.py:1 | ||||
|  |  | |||
|  | @ -732,7 +732,7 @@ Running this test will *skip* the invocation of ``data_set`` with value ``2``:: | |||
| 
 | ||||
|     $ pytest test_fixture_marks.py -v | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 3 items | ||||
|  | @ -775,7 +775,7 @@ Here we declare an ``app`` fixture which receives the previously defined | |||
| 
 | ||||
|     $ pytest -v test_appsetup.py | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 2 items | ||||
|  | @ -844,7 +844,7 @@ Let's run the tests in verbose mode and with looking at the print-output:: | |||
| 
 | ||||
|     $ pytest -v -s test_module.py | ||||
|     =========================== test session starts ============================ | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python | ||||
|     platform linux -- Python 3.x.y, pytest-3.x.y, py-1.x.y, pluggy-0.x.y -- $PYTHON_PREFIX/bin/python3.6 | ||||
|     cachedir: .pytest_cache | ||||
|     rootdir: $REGENDOC_TMPDIR, inifile: | ||||
|     collecting ... collected 8 items | ||||
|  |  | |||
|  | @ -38,9 +38,30 @@ Running this would result in a passed test except for the last | |||
| ``assert 0`` line which we use to look at values:: | ||||
| 
 | ||||
|     $ 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 | ||||
| -------------------------------- | ||||
|  |  | |||
|  | @ -420,9 +420,21 @@ additionally it is possible to copy examples for a example folder before running | |||
|     ============================= warnings summary ============================= | ||||
|     $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") | ||||
|     $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 | ||||
|     =================== 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 | ||||
| the methods that it provides please check out the :py:class:`RunResult | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue