Ondřej Súkup
206af1b767
- update to pytest-3.6.3 - drop python_mock.patch * Fix ImportWarning triggered by explicit relative imports in assertion-rewritten package modules. * Fix error in pytest.approx when dealing with 0-dimension numpy arrays. * No longer raise ValueError when using the get_marker API. * Fix problem where log messages with non-ascii characters would not appear in the output log file. * No longer raise AttributeError when legacy marks can't be stored in functions. - update to pytest-3.6.3 - drop python_mock.patch * Fix ImportWarning triggered by explicit relative imports in assertion-rewritten package modules. * Fix error in pytest.approx when dealing with 0-dimension numpy arrays. * No longer raise ValueError when using the get_marker API. * Fix problem where log messages with non-ascii characters would not appear in the output log file. * No longer raise AttributeError when legacy marks can't be stored in functions. OBS-URL: https://build.opensuse.org/request/show/622958 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=5
1189 lines
64 KiB
Plaintext
1189 lines
64 KiB
Plaintext
-------------------------------------------------------------------
|
||
Mon Jul 16 00:17:40 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- update to pytest-3.6.3
|
||
- drop python_mock.patch
|
||
* Fix ImportWarning triggered by explicit relative imports in assertion-rewritten
|
||
package modules.
|
||
* Fix error in pytest.approx when dealing with 0-dimension numpy arrays.
|
||
* No longer raise ValueError when using the get_marker API.
|
||
* Fix problem where log messages with non-ascii characters would not appear
|
||
in the output log file.
|
||
* No longer raise AttributeError when legacy marks can't be stored in functions.
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Jun 22 15:47:28 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- update to 3.6.2
|
||
- add python-mock to buildrequires
|
||
- fix test command
|
||
- add python_mock.patch to use stdlib mock library on py3
|
||
|
||
-------------------------------------------------------------------
|
||
Thu May 31 04:42:41 UTC 2018 - toddrme2178@gmail.com
|
||
|
||
- Update to version 3.6.0
|
||
+ Features
|
||
* Revamp the internals of the ``pytest.mark`` implementation with correct per
|
||
node handling which fixes a number of long standing bugs caused by the old
|
||
design. This introduces new ``Node.iter_markers(name)`` and
|
||
``Node.get_closest_mark(name)`` APIs. Users are **strongly encouraged** to
|
||
read the `reasons for the revamp in the docs
|
||
<https://docs.pytest.org/en/latest/mark.html#marker-revamp-and-iteration>`_,
|
||
or jump over to details about `updating existing code to use the new APIs
|
||
<https://docs.pytest.org/en/latest/mark.html#updating-code>`_. (`#3317
|
||
<https://github.com/pytest-dev/pytest/issues/3317>`_)
|
||
* Now when ``@pytest.fixture`` is applied more than once to the same function a
|
||
``ValueError`` is raised. This buggy behavior would cause surprising problems
|
||
and if was working for a test suite it was mostly by accident. (`#2334
|
||
<https://github.com/pytest-dev/pytest/issues/2334>`_)
|
||
* Support for Python 3.7's builtin ``breakpoint()`` method, see `Using the
|
||
builtin breakpoint function
|
||
<https://docs.pytest.org/en/latest/usage.html#breakpoint-builtin>`_ for
|
||
details. (`#3180 <https://github.com/pytest-dev/pytest/issues/3180>`_)
|
||
* ``monkeypatch`` now supports a ``context()`` function which acts as a context
|
||
manager which undoes all patching done within the ``with`` block. (`#3290
|
||
<https://github.com/pytest-dev/pytest/issues/3290>`_)
|
||
* The ``--pdb`` option now causes KeyboardInterrupt to enter the debugger,
|
||
instead of stopping the test session. On python 2.7, hitting CTRL+C again
|
||
exits the debugger. On python 3.2 and higher, use CTRL+D. (`#3299
|
||
<https://github.com/pytest-dev/pytest/issues/3299>`_)
|
||
* pytest not longer changes the log level of the root logger when the
|
||
``log-level`` parameter has greater numeric value than that of the level of
|
||
the root logger, which makes it play better with custom logging configuration
|
||
in user code. (`#3307 <https://github.com/pytest-dev/pytest/issues/3307>`_)
|
||
+ Bug Fixes
|
||
* A rare race-condition which might result in corrupted ``.pyc`` files on
|
||
Windows has been hopefully solved. (`#3008
|
||
<https://github.com/pytest-dev/pytest/issues/3008>`_)
|
||
* Also use iter_marker for discovering the marks applying for marker
|
||
expressions from the cli to avoid the bad data from the legacy mark storage.
|
||
(`#3441 <https://github.com/pytest-dev/pytest/issues/3441>`_)
|
||
* When showing diffs of failed assertions where the contents contain only
|
||
whitespace, escape them using ``repr()`` first to make it easy to spot the
|
||
differences. (`#3443 <https://github.com/pytest-dev/pytest/issues/3443>`_)
|
||
+ Improved Documentation
|
||
* Change documentation copyright year to a range which auto-updates itself each
|
||
time it is published. (`#3303
|
||
<https://github.com/pytest-dev/pytest/issues/3303>`_)
|
||
+ Trivial/Internal Changes
|
||
* ``pytest`` now depends on the `python-atomicwrites
|
||
<https://github.com/untitaker/python-atomicwrites>`_ library. (`#3008
|
||
<https://github.com/pytest-dev/pytest/issues/3008>`_)
|
||
* Update all pypi.python.org URLs to pypi.org. (`#3431
|
||
<https://github.com/pytest-dev/pytest/issues/3431>`_)
|
||
* Detect `pytest_` prefixed hooks using the internal plugin manager since
|
||
``pluggy`` is deprecating the ``implprefix`` argument to ``PluginManager``.
|
||
(`#3487 <https://github.com/pytest-dev/pytest/issues/3487>`_)
|
||
* Import ``Mapping`` and ``Sequence`` from ``_pytest.compat`` instead of
|
||
directly from ``collections`` in ``python_api.py::approx``. Add ``Mapping``
|
||
to ``_pytest.compat``, import it from ``collections`` on python 2, but from
|
||
``collections.abc`` on Python 3 to avoid a ``DeprecationWarning`` on Python
|
||
3.7 or newer. (`#3497 <https://github.com/pytest-dev/pytest/issues/3497>`_)
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Apr 28 19:38:40 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 3.5.1:
|
||
* Bug Fixes
|
||
+ Reset sys.last_type, sys.last_value and sys.last_traceback
|
||
before each test executes. Those attributes are added by pytest
|
||
during the test run to aid debugging, but were never reset so
|
||
they would create a leaking reference to the last failing test’s
|
||
frame which in turn could never be reclaimed by the garbage
|
||
collector. (#2798)
|
||
+ pytest.raises now raises TypeError when receiving an unknown
|
||
keyword argument. (#3348)
|
||
+ pytest.raises now works with exception classes that look like
|
||
iterables. (#3372)
|
||
* Improved Documentation
|
||
+ Fix typo in caplog fixture documentation, which incorrectly
|
||
identified certain attributes as methods. (#3406)
|
||
* Trivial/Internal Changes
|
||
+ Added a more indicative error message when parametrizing a
|
||
function whose argument takes a default value. (#3221)
|
||
+ Remove internal _pytest.terminal.flatten function in favor of
|
||
more_itertools.collapse. (#3330)
|
||
+ Import some modules from collections.abc instead of collections
|
||
as the former modules trigger DeprecationWarning in Python
|
||
3.7. (#3339)
|
||
+ record_property is no longer experimental, removing the warnings
|
||
was forgotten. (#3360)
|
||
+ Mention in documentation and CLI help that fixtures with leading
|
||
_ are printed by pytest --fixtures only if the -v option is
|
||
added. (#3398)
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Apr 2 14:07:27 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- add python3-sphinxcontrib-trio to BuildRequires
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Mar 29 13:22:39 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- update to 3.5.0
|
||
- new install dependency python-more-itertools
|
||
- more changes in CHANGELOG.rst
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Mar 9 08:38:59 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- update to 3.4.2
|
||
- more in python-pytest.changes
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Feb 22 20:37:25 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- update to 3.4.1
|
||
* Move import of doctest.UnexpectedException to top-level to avoid possible
|
||
errors when using --pdb.
|
||
* Added printing of captured stdout/stderr before entering pdb, and improved a
|
||
test which was giving false negatives about output capturing.
|
||
* Fix ordering of tests using parametrized fixtures which can lead to fixtures
|
||
being created more than necessary.
|
||
* Fix bug where logging happening at hooks outside of "test run" hooks would
|
||
cause an internal error.
|
||
* Detect arguments injected by unittest.mock.patch decorator correctly when
|
||
pypi mock.patch is installed and imported.
|
||
* Errors shown when a pytest.raises() with match= fails are now cleaner
|
||
on what happened: When no exception was raised, the "matching '...'" part got
|
||
removed as it falsely implies that an exception was raised but it didn't
|
||
match. When a wrong exception was raised, it's now thrown
|
||
instead of complaining about the unmatched text.
|
||
* Add Sphinx parameter docs for match and message args to pytest.raises
|
||
* Rename ParameterSet._for_parameterize() to _for_parametrize() in
|
||
order to comply with the naming convention.
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Feb 10 17:59:11 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 3.4.0:
|
||
* Deprecations and Removals
|
||
+ All pytest classes now subclass object for better Python 2/3
|
||
compatibility. This should not affect user code except in very
|
||
rare edge cases. (#2147)
|
||
* Features
|
||
+ Introduce empty_parameter_set_mark ini option to select which
|
||
mark to apply when @pytest.mark.parametrize is given an empty
|
||
set of parameters. Valid options are skip (default) and
|
||
xfail. Note that it is planned to change the default to xfail in
|
||
future releases as this is considered less error prone. (#2527)
|
||
+ Incompatible change: after community feedback the logging
|
||
functionality has undergone some changes. Please consult the
|
||
logging documentation for details. (#3013)
|
||
+ Console output falls back to “classic” mode when capturing is
|
||
disabled (-s), otherwise the output gets garbled to the point of
|
||
being useless. (#3038)
|
||
+ New pytest_runtest_logfinish hook which is called when a test
|
||
item has finished executing, analogous to
|
||
pytest_runtest_logstart. (#3101)
|
||
+ Improve performance when collecting tests using many
|
||
fixtures. (#3107)
|
||
+ New caplog.get_records(when) method which provides access to the
|
||
captured records for the "setup", "call" and "teardown" testing
|
||
stages. (#3117)
|
||
+ New fixture record_xml_attribute that allows modifying and
|
||
inserting attributes on the <testcase> xml node in JUnit
|
||
reports. (#3130)
|
||
+ The default cache directory has been renamed from .cache to
|
||
.pytest_cache after community feedback that the name .cache did
|
||
not make it clear that it was used by pytest. (#3138)
|
||
+ Colorize the levelname column in the live-log output. (#3142)
|
||
* Bug Fixes
|
||
+ Fix hanging pexpect test on MacOS by using flush() instead of
|
||
wait(). (#2022)
|
||
+ Fix restoring Python state after in-process pytest runs with the
|
||
pytester plugin; this may break tests using multiple inprocess
|
||
pytest runs if later ones depend on earlier ones leaking global
|
||
interpreter changes. (#3016)
|
||
+ Fix skipping plugin reporting hook when test aborted before
|
||
plugin setup hook. (#3074)
|
||
+ Fix progress percentage reported when tests fail during
|
||
teardown. (#3088)
|
||
+ Incompatible change: -o/--override option no longer eats all the
|
||
remaining options, which can lead to surprising behavior: for
|
||
example, pytest -o foo=1 /path/to/test.py would fail because
|
||
/path/to/test.py would be considered as part of the -o
|
||
command-line argument. One consequence of this is that now
|
||
multiple configuration overrides need multiple -o flags: pytest
|
||
-o foo=1 -o bar=2. (#3103)
|
||
* Improved Documentation
|
||
+ Document hooks (defined with historic=True) which cannot be used
|
||
with hookwrapper=True. (#2423)
|
||
+ Clarify that warning capturing doesn’t change the warning filter
|
||
by default. (#2457)
|
||
+ Clarify a possible confusion when using pytest_fixture_setup
|
||
with fixture functions that return None. (#2698)
|
||
+ Fix the wording of a sentence on doctest flags used in
|
||
pytest. (#3076)
|
||
+ Prefer https://*.readthedocs.io over http://*.rtfd.org for links
|
||
in the documentation. (#3092)
|
||
+ Improve readability (wording, grammar) of Getting Started guide
|
||
(#3131)
|
||
+ Added note that calling pytest.main multiple times from the same
|
||
process is not recommended because of import caching. (#3143)
|
||
* Trivial/Internal Changes
|
||
+ Show a simple and easy error when keyword expressions trigger a
|
||
syntax error (for example, "-k foo and import" will show an
|
||
error that you can not use the import keyword in
|
||
expressions). (#2953)
|
||
+ Change parametrized automatic test id generation to use the
|
||
__name__ attribute of functions instead of the fallback argument
|
||
name plus counter. (#2976)
|
||
+ Replace py.std with stdlib imports. (#3067)
|
||
+ Corrected ‘you’ to ‘your’ in logging docs. (#3129)
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Jan 6 05:25:16 UTC 2018 - arun@gmx.de
|
||
|
||
- specfile:
|
||
* update copyright year
|
||
|
||
- update to version 3.3.2:
|
||
* Bug Fixes
|
||
+ pytester: ignore files used to obtain current user metadata in
|
||
the fd leak detector. (#2784)
|
||
+ Fix memory leak where objects returned by fixtures were never
|
||
destructed by the garbage collector. (#2981)
|
||
+ Fix conversion of pyargs to filename to not convert symlinks and
|
||
not use deprecated features on Python 3. (#2985)
|
||
+ PYTEST_DONT_REWRITE is now checked for plugins too rather than
|
||
only for test modules. (#2995)
|
||
* Improved Documentation
|
||
+ Add clarifying note about behavior of multiple parametrized
|
||
arguments (#3001)
|
||
* Trivial/Internal Changes
|
||
+ Code cleanup. (#3015, #3021)
|
||
+ Clean up code by replacing imports and references of _ast to
|
||
ast. (#3018)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Dec 13 09:25:43 UTC 2017 - jengelh@inai.de
|
||
|
||
- Adjust summaries and description of python-pytest to focus on
|
||
the documentation part.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Dec 13 09:12:40 UTC 2017 - ecsos@opensuse.org
|
||
|
||
- Rename BuildRequires python2-funcsigs to python-funcsigs
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Dec 12 16:45:15 UTC 2017 - mimi.vx@gmail.com
|
||
|
||
- Cleanup BuildRequires
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Dec 6 02:55:08 UTC 2017 - arun@gmx.de
|
||
|
||
- update to version 3.3.1:
|
||
* Bug Fixes
|
||
+ Fix issue about -p no:<plugin> having no effect. (#2920)
|
||
+ Fix regression with warnings that contained non-strings in their
|
||
arguments in Python 2. (#2956)
|
||
+ Always escape null bytes when setting
|
||
PYTEST_CURRENT_TEST. (#2957)
|
||
+ Fix ZeroDivisionError when using the testmon plugin when no
|
||
tests were actually collected. (#2971)
|
||
+ Bring back TerminalReporter.writer as an alias to
|
||
TerminalReporter._tw. This alias was removed by accident in the
|
||
3.3.0 release. (#2984)
|
||
+ The pytest-capturelog plugin is now also blacklisted, avoiding
|
||
errors when running pytest with it still installed. (#3004)
|
||
* Improved Documentation
|
||
+ Fix broken link to plugin pytest-localserver. (#2963)
|
||
* Trivial/Internal Changes
|
||
+ Update github “bugs” link in CONTRIBUTING.rst (#2949)
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Nov 28 18:58:11 UTC 2017 - arun@gmx.de
|
||
|
||
- specfile:
|
||
* add requirement for attr and pluggy
|
||
* add requirement for funcsigs for python2 only
|
||
|
||
- update to version 3.3.0:
|
||
* Deprecations and Removals
|
||
+ Pytest no longer supports Python 2.6 and 3.3. Those Python
|
||
versions are EOL for some time now and incur maintenance and
|
||
compatibility costs on the pytest core team, and following up
|
||
with the rest of the community we decided that they will no
|
||
longer be supported starting on this version. Users which still
|
||
require those versions should pin pytest to <3.3. (#2812)
|
||
+ Remove internal _preloadplugins() function. This removal is part
|
||
of the pytest_namespace() hook deprecation. (#2636)
|
||
+ Internally change CallSpec2 to have a list of marks instead of a
|
||
broken mapping of keywords. This removes the keywords attribute
|
||
of the internal CallSpec2 class. (#2672)
|
||
+ Remove ParameterSet.deprecated_arg_dict - its not a public api
|
||
and the lack of the underscore was a naming error. (#2675)
|
||
+ Remove the internal multi-typed attribute Node._evalskip and
|
||
replace it with the boolean Node._skipped_by_mark. (#2767)
|
||
* Features
|
||
+ pytest_fixture_post_finalizer hook can now receive a request
|
||
argument. (#2124)
|
||
+ Replace the old introspection code in compat.py that determines
|
||
the available arguments of fixtures with inspect.signature on
|
||
Python 3 and funcsigs.signature on Python 2. This should respect
|
||
__signature__ declarations on functions. (#2267)
|
||
+ Report tests with global pytestmark variable only once. (#2549)
|
||
+ Now pytest displays the total progress percentage while running
|
||
tests. The previous output style can be set by configuring the
|
||
console_output_style setting to classic. (#2657)
|
||
+ Match warns signature to raises by adding match keyword. (#2708)
|
||
+ Pytest now captures and displays output from the standard
|
||
logging module. The user can control the logging level to be
|
||
captured by specifying options in pytest.ini, the command line
|
||
and also during individual tests using markers. Also, a caplog
|
||
fixture is available that enables users to test the captured log
|
||
during specific tests (similar to capsys for example). For more
|
||
information, please see the logging docs. This feature was
|
||
introduced by merging the popular pytest-catchlog plugin, thanks
|
||
to Thomas Hisch. Be advised that during the merging the backward
|
||
compatibility interface with the defunct pytest-capturelog has
|
||
been dropped. (#2794)
|
||
+ Add allow_module_level kwarg to pytest.skip(), enabling to skip
|
||
the whole module. (#2808)
|
||
+ Allow setting file_or_dir, -c, and -o in PYTEST_ADDOPTS. (#2824)
|
||
+ Return stdout/stderr capture results as a namedtuple, so out and
|
||
err can be accessed by attribute. (#2879)
|
||
+ Add capfdbinary, a version of capfd which returns bytes from
|
||
readouterr(). (#2923)
|
||
+ Add capsysbinary a version of capsys which returns bytes from
|
||
readouterr(). (#2934)
|
||
+ Implement feature to skip setup.py files when run with
|
||
--doctest-modules. (#502)
|
||
* Bug Fixes
|
||
+ Resume output capturing after capsys/capfd.disabled() context
|
||
manager. (#1993)
|
||
+ pytest_fixture_setup and pytest_fixture_post_finalizer hooks are
|
||
now called for all conftest.py files. (#2124)
|
||
+ If an exception happens while loading a plugin, pytest no longer
|
||
hides the original traceback. In python2 it will show the
|
||
original traceback with a new message that explains in which
|
||
plugin. In python3 it will show 2 canonized exceptions, the
|
||
original exception while loading the plugin in addition to an
|
||
exception that PyTest throws about loading a plugin. (#2491)
|
||
+ capsys and capfd can now be used by other fixtures. (#2709)
|
||
+ Internal pytester plugin properly encodes bytes arguments to
|
||
utf-8. (#2738)
|
||
+ testdir now uses use the same method used by tmpdir to create
|
||
its temporary directory. This changes the final structure of the
|
||
testdir directory slightly, but should not affect usage in
|
||
normal scenarios and avoids a number of potential
|
||
problems. (#2751)
|
||
+ Pytest no longer complains about warnings with unicode messages
|
||
being non-ascii compatible even for ascii-compatible
|
||
messages. As a result of this, warnings with unicode messages
|
||
are converted first to an ascii representation for
|
||
safety. (#2809)
|
||
+ Change return value of pytest command when --maxfail is reached
|
||
from 2 (interrupted) to 1 (failed). (#2845)
|
||
+ Fix issue in assertion rewriting which could lead it to rewrite
|
||
modules which should not be rewritten. (#2939)
|
||
+ Handle marks without description in pytest.ini. (#2942)
|
||
* Trivial/Internal Changes
|
||
+ pytest now depends on attrs for internal structures to ease code
|
||
maintainability. (#2641)
|
||
+ Refactored internal Python 2/3 compatibility code to use
|
||
six. (#2642)
|
||
+ Stop vendoring pluggy - we’re missing out on its latest changes
|
||
for not much benefit (#2719)
|
||
+ Internal refactor: simplify ascii string escaping by using the
|
||
backslashreplace error handler in newer Python 3
|
||
versions. (#2734)
|
||
+ Remove unnecessary mark evaluator in unittest plugin (#2767)
|
||
+ Calls to Metafunc.addcall now emit a deprecation warning. This
|
||
function is scheduled to be removed in pytest-4.0. (#2876)
|
||
+ Internal move of the parameterset extraction to a more
|
||
maintainable place. (#2877)
|
||
+ Internal refactoring to simplify scope node lookup. (#2910)
|
||
+ Configure pytest to prevent pip from installing pytest in
|
||
unsupported Python versions. (#2922)
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Nov 15 12:18:45 UTC 2017 - mimi.vx@gmail.com
|
||
|
||
- update to 3.2.5
|
||
* don't limit py<1.5
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Nov 15 07:04:29 UTC 2017 - arun@gmx.de
|
||
|
||
- update to version 3.2.4:
|
||
* Bug Fixes
|
||
+ Fix the bug where running with --pyargs will result in items
|
||
with empty parent.nodeid if run from a different root
|
||
directory. (#2775)
|
||
+ Fix issue with @pytest.parametrize if argnames was specified as
|
||
keyword arguments. (#2819)
|
||
+ Strip whitespace from marker names when reading them from INI
|
||
config. (#2856)
|
||
+ Show full context of doctest source in the pytest output, if the
|
||
line number of failed example in the docstring is < 9. (#2882)
|
||
* Improved Documentation
|
||
+ Introduce a dedicated section about conftest.py. (#1505)
|
||
+ Explicitly mention xpass in the documentation of xfail. (#1997)
|
||
+ Append example for pytest.param in the example/parametrize
|
||
document. (#2658)
|
||
+ Clarify language of proposal for fixtures parameters (#2893)
|
||
+ List python 3.6 in the documented supported versions in the
|
||
getting started document. (#2903)
|
||
+ Clarify the documentation of available fixture scopes. (#538)
|
||
+ Add documentation about the python -m pytest invocation adding
|
||
the current directory to sys.path. (#911)
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Oct 5 16:16:23 UTC 2017 - arun@gmx.de
|
||
|
||
- update to version 3.2.3:
|
||
* Bug Fixes
|
||
+ Fix crash in tab completion when no prefix is given. (#2748)
|
||
+ The equality checking function (__eq__) of MarkDecorator returns
|
||
False if one object is not an instance of MarkDecorator. (#2758)
|
||
+ When running pytest --fixtures-per-test: don’t crash if an item
|
||
has no _fixtureinfo attribute (e.g. doctests) (#2788)
|
||
* Improved Documentation
|
||
+ In help text of -k option, add example of using not to not
|
||
select certain tests whose names match the provided
|
||
expression. (#1442)
|
||
+ Add note in parametrize.rst about calling metafunc.parametrize
|
||
multiple times. (#1548)
|
||
* Trivial/Internal Changes
|
||
+ Set xfail_strict=True in pytest’s own test suite to catch
|
||
expected failures as soon as they start to pass. (#2722)
|
||
+ Fix typo in example of passing a callable to markers (in
|
||
example/markers.rst) (#2765)
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Sep 28 21:25:37 UTC 2017 - sean.marlow@suse.com
|
||
|
||
- Fix python-py version requirement.
|
||
- Update to 3.2.2:
|
||
* Bug Fixes
|
||
- Calling the deprecated request.getfuncargvalue() now shows the
|
||
source of the call. (#2681)
|
||
- Allow tests declared as @staticmethod to use fixtures. (#2699)
|
||
- Fixed edge-case during collection: attributes which raised
|
||
pytest.fail when accessed would abort the entire collection.
|
||
(#2707)
|
||
- Fix ReprFuncArgs with mixed unicode and UTF-8 args. (#2731)
|
||
* Improved Documentation
|
||
- In examples on working with custom markers, add examples
|
||
demonstrating the usage of pytest.mark.MARKER_NAME.with_args
|
||
in comparison with pytest.mark.MARKER_NAME.__call__ (#2604)
|
||
- In one of the simple examples, use
|
||
pytest_collection_modifyitems() to skip tests based on a
|
||
command-line option, allowing its sharing while preventing a
|
||
user error when acessing pytest.config before the argument
|
||
parsing. (#2653)
|
||
* Trivial/Internal Changes
|
||
- Fixed minor error in 'Good Practices/Manual Integration' code
|
||
snippet. (#2691)
|
||
- Fixed typo in goodpractices.rst. (#2721)
|
||
- Improve user guidance regarding --resultlog deprecation.
|
||
(#2739)
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Aug 25 10:01:52 UTC 2017 - sebix+novell.com@sebix.at
|
||
|
||
- update to 3.2.1, shortened changelogs:
|
||
* Pytest 3.2.1 (2017-08-08)
|
||
* Bug Fixes
|
||
- Fixed small terminal glitch when collecting a single test item. (#2579)
|
||
- Correctly consider / as the file separator to automatically mark plugin
|
||
files for rewrite on Windows. (#2591)
|
||
- Properly escape test names when setting PYTEST_CURRENT_TEST environment
|
||
variable. (#2644)
|
||
- Fix error on Windows and Python 3.6+ when sys.stdout has been replaced
|
||
with a stream-like object which does not implement the full io module
|
||
buffer protocol. In particular this affects pytest-xdist users on the
|
||
aforementioned platform. (#2666)
|
||
* Improved Documentation
|
||
- Explicitly document which pytest features work with unittest. (#2626)
|
||
* Pytest 3.2.0 (2017-07-30)
|
||
* Deprecations and Removals
|
||
- pytest.approx no longer supports >, >=, < and <=
|
||
operators to avoid surprising/inconsistent behavior. See the docs
|
||
<https://docs.pytest.org/en/latest/builtin.html#pytest.approx> for more
|
||
information. (#2003)
|
||
- All old-style specific behavior in current classes in the pytest's API is
|
||
considered deprecated at this point and will be removed in a future release.
|
||
This affects Python 2 users only and in rare situations. (#2147)
|
||
- A deprecation warning is now raised when using marks for parameters
|
||
in pytest.mark.parametrize. Use pytest.param to apply marks to
|
||
parameters instead. (#2427)
|
||
* Features
|
||
- Add support for numpy arrays (and dicts) to approx. (#1994)
|
||
- Now test function objects have a pytestmark attribute containing a list
|
||
of marks applied directly to the test function, as opposed to marks inherited
|
||
from parent classes or modules. (#2516)
|
||
- Collection ignores local virtualenvs by default; `--collect-in-virtualenv`
|
||
overrides this behavior. (#2518)
|
||
- Allow class methods decorated as @staticmethod to be candidates for
|
||
collection as a test function. (Only for Python 2.7 and above. Python 2.6
|
||
will still ignore static methods.) (#2528)
|
||
- Introduce mark.with_args in order to allow passing functions/classes as
|
||
sole argument to marks. (#2540)
|
||
- New cache_dir ini option: sets the directory where the contents of the
|
||
cache plugin are stored. Directory may be relative or absolute path: if relative path, then
|
||
directory is created relative to rootdir, otherwise it is used as is.
|
||
Additionally path may contain environment variables which are expanded during
|
||
runtime. (#2543)
|
||
- Introduce the PYTEST_CURRENT_TEST environment variable that is set with
|
||
the nodeid and stage (setup, call and teardown) of the test
|
||
being currently executed. See the documentation
|
||
<https://docs.pytest.org/en/latest/example/simple.html#pytest-current-test-
|
||
environment-variable> for more info. (#2583)
|
||
- Introduced @pytest.mark.filterwarnings mark which allows overwriting the
|
||
warnings filter on a per test, class or module level. See the docs
|
||
<https://docs.pytest.org/en/latest/warnings.html#pytest-mark-
|
||
filterwarnings> for more information. (#2598)
|
||
- --last-failed now remembers forever when a test has failed and only
|
||
forgets it if it passes again. This makes it easy to fix a test suite by
|
||
selectively running files and fixing tests incrementally. (#2621)
|
||
- New pytest_report_collectionfinish hook which allows plugins to add
|
||
messages to the terminal reporting after collection has been finished
|
||
successfully. (#2622)
|
||
- Added support for PEP-415's <https://www.python.org/dev/peps/pep-0415/>
|
||
Exception.__suppress_context__. Now if a raise exception from None is
|
||
caught by pytest, pytest will no longer chain the context in the test report.
|
||
The behavior now matches Python's traceback behavior. (#2631)
|
||
- Exceptions raised by pytest.fail, pytest.skip and pytest.xfail
|
||
now subclass BaseException, making them harder to be caught unintentionally
|
||
by normal code. (#580)
|
||
* Bug Fixes
|
||
- Set stdin to a closed PIPE in pytester.py.Testdir.popen() for
|
||
avoid unwanted interactive pdb (#2023)
|
||
- Add missing encoding attribute to sys.std* streams when using
|
||
capsys capture mode. (#2375)
|
||
- Fix terminal color changing to black on Windows if colorama is imported
|
||
in a conftest.py file. (#2510)
|
||
- Fix line number when reporting summary of skipped tests. (#2548)
|
||
- capture: ensure that EncodedFile.name is a string. (#2555)
|
||
- The options --fixtures and --fixtures-per-test will now keep
|
||
indentation within docstrings. (#2574)
|
||
- doctests line numbers are now reported correctly, fixing pytest-sugar#122
|
||
<https://github.com/Frozenball/pytest-sugar/issues/122>. (#2610)
|
||
- Fix non-determinism in order of fixture collection. Adds new dependency
|
||
(ordereddict) for Python 2.6. (#920)
|
||
* Improved Documentation
|
||
- Clarify pytest_configure hook call order. (#2539)
|
||
- Extend documentation for testing plugin code with the pytester plugin.
|
||
(#971)
|
||
* Pytest 3.1.3 (2017-07-03)
|
||
* Bug Fixes
|
||
- Fix decode error in Python 2 for doctests in docstrings. (#2434)
|
||
- Exceptions raised during teardown by finalizers are now suppressed until all
|
||
finalizers are called, with the initial exception reraised. (#2440)
|
||
- Fix incorrect "collected items" report when specifying tests on the command-
|
||
line. (#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)
|
||
- Fix issue where paths collected by pytest could have triple leading /
|
||
characters. (#2475)
|
||
- Fix internal error when trying to detect the start of a recursive traceback.
|
||
(#2486)
|
||
* Improved Documentation
|
||
- Explicitly state for which hooks the calls stop after the first non-None
|
||
result. (#2493)
|
||
* Pytest 3.1.2 (2017-06-08)
|
||
* Bug Fixes
|
||
- Required options added via pytest_addoption will no longer prevent using
|
||
--help without passing them. (#1999)
|
||
- Respect python_files in assertion rewriting. (#2121)
|
||
- Fix recursion error detection when frames in the traceback contain objects
|
||
that can't be compared (like numpy arrays). (#2459)
|
||
- UnicodeWarning is issued from the internal pytest warnings plugin only
|
||
when the message contains non-ascii unicode (Python 2 only). (#2463)
|
||
- Added a workaround for Python 3.6 WindowsConsoleIO breaking due to Pytests's
|
||
FDCapture. Other code using console handles might still be affected by the
|
||
very same issue and might require further workarounds/fixes, i.e. colorama.
|
||
(#2467)
|
||
* Improved Documentation
|
||
- Fix internal API links to pluggy objects. (#2331)
|
||
- Make it clear that pytest.xfail stops test execution at the calling point
|
||
and improve overall flow of the skipping docs. (#810)
|
||
* Pytest 3.1.1 (2017-05-30)
|
||
* Bug Fixes
|
||
- pytest warning capture no longer overrides existing warning filters. The
|
||
previous behaviour would override all filters and caused regressions in test
|
||
suites which configure warning filters to match their needs. Note that as a
|
||
side-effect of this is that DeprecationWarning and
|
||
PendingDeprecationWarning are no longer shown by default. (#2430)
|
||
- Fix issue with non-ascii contents in doctest text files. (#2434)
|
||
- Fix encoding errors for unicode warnings in Python 2. (#2436)
|
||
- pytest.deprecated_call now captures PendingDeprecationWarning in
|
||
context manager form. (#2441)
|
||
* Improved Documentation
|
||
- Addition of towncrier for changelog management. (#2390)
|
||
* 3.1.0 (2017-05-22)
|
||
* New Features
|
||
* The pytest-warnings plugin has been integrated into the core and now pytest automatically
|
||
captures and displays warnings at the end of the test session.
|
||
.. warning::
|
||
This feature may disrupt test suites which apply and treat warnings themselves, and can be
|
||
disabled in your pytest.ini:
|
||
.. code-block:: ini
|
||
[pytest]
|
||
addopts = -p no:warnings
|
||
See the warnings documentation page <https://docs.pytest.org/en/latest/warnings.html> for more
|
||
information.
|
||
Thanks @nicoddemus for the PR.
|
||
* Added junit_suite_name ini option to specify root <testsuite> name for JUnit XML reports (#533).
|
||
* Added an ini option doctest_encoding to specify which encoding to use for doctest files.
|
||
Thanks @wheerd for the PR (#2101).
|
||
* pytest.warns now checks for subclass relationship rather than
|
||
class equality. Thanks @lesteve for the PR (#2166)
|
||
* pytest.raises now asserts that the error message matches a text or regex
|
||
with the match keyword argument. Thanks @Kriechi for the PR.
|
||
* pytest.param can be used to declare test parameter sets with marks and test ids.
|
||
Thanks @RonnyPfannschmidt for the PR.
|
||
* Changes
|
||
* remove all internal uses of pytest_namespace hooks,
|
||
this is to prepare the removal of preloadconfig in pytest 4.0
|
||
Thanks to @RonnyPfannschmidt for the PR.
|
||
* pytest now warns when a callable ids raises in a parametrized test. Thanks @fogo for the PR.
|
||
* It is now possible to skip test classes from being collected by setting a
|
||
__test__ attribute to False in the class body (#2007). Thanks
|
||
to @syre for the report and @lwm for the PR.
|
||
* Change junitxml.py to produce reports that comply with Junitxml schema.
|
||
If the same test fails with failure in call and then errors in teardown
|
||
we split testcase element into two, one containing the error and the other
|
||
the failure. (#2228) Thanks to @kkoukiou for the PR.
|
||
* Testcase reports with a url attribute will now properly write this to junitxml.
|
||
Thanks @fushi for the PR (#1874).
|
||
* Remove common items from dict comparision output when verbosity=1. Also update
|
||
the truncation message to make it clearer that pytest truncates all
|
||
assertion messages if verbosity < 2 (#1512).
|
||
Thanks @mattduck for the PR
|
||
* --pdbcls no longer implies --pdb. This makes it possible to use
|
||
addopts=--pdbcls=module.SomeClass on pytest.ini. Thanks @davidszotten for
|
||
the PR (#1952).
|
||
* fix #2013: turn RecordedWarning into namedtuple,
|
||
to give it a comprehensible repr while preventing unwarranted modification.
|
||
* fix #2208: ensure a iteration limit for _pytest.compat.get_real_func.
|
||
Thanks @RonnyPfannschmidt for the report and PR.
|
||
* Hooks are now verified after collection is complete, rather than right after loading installed plugins. This
|
||
makes it easy to write hooks for plugins which will be loaded during collection, for example using the
|
||
pytest_plugins special variable (#1821).
|
||
Thanks @nicoddemus for the PR.
|
||
* Modify pytest_make_parametrize_id() hook to accept argname as an
|
||
additional parameter.
|
||
Thanks @unsignedint for the PR.
|
||
* Add venv to the default norecursedirs setting.
|
||
Thanks @The-Compiler for the PR.
|
||
* PluginManager.import_plugin now accepts unicode plugin names in Python 2.
|
||
Thanks @reutsharabani for the PR.
|
||
* fix #2308: When using both --lf and --ff, only the last failed tests are run.
|
||
Thanks @ojii for the PR.
|
||
* Replace minor/patch level version numbers in the documentation with placeholders.
|
||
This significantly reduces change-noise as different contributors regnerate
|
||
the documentation on different platforms.
|
||
Thanks @RonnyPfannschmidt for the PR.
|
||
* fix #2391: consider pytest_plugins on all plugin modules
|
||
Thanks @RonnyPfannschmidt for the PR.
|
||
* Bug Fixes
|
||
* Fix AttributeError on sys.stdout.buffer / sys.stderr.buffer
|
||
while using capsys fixture in python 3. (#1407).
|
||
Thanks to @asottile.
|
||
* Change capture.py's DontReadFromInput class to throw io.UnsupportedOperation errors rather
|
||
than ValueErrors in the fileno method (#2276).
|
||
Thanks @metasyn and @vlad-dragos for the PR.
|
||
* Fix exception formatting while importing modules when the exception message
|
||
contains non-ascii characters (#2336).
|
||
Thanks @fabioz for the report and @nicoddemus for the PR.
|
||
* Added documentation related to issue (#1937)
|
||
Thanks @skylarjhdownes for the PR.
|
||
* Allow collecting files with any file extension as Python modules (#2369).
|
||
Thanks @Kodiologist for the PR.
|
||
* Show the correct error message when collect "parametrize" func with wrong args (#2383).
|
||
Thanks @The-Compiler for the report and @robin0371 for the PR.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Mar 30 09:29:28 UTC 2017 - aloisio@gmx.com
|
||
|
||
- Update to version 3.0.7
|
||
* Fix issue in assertion rewriting breaking due to modules
|
||
silently discarding other modules when importing fails
|
||
Notably, importing the `anydbm` module is fixed.
|
||
(`#2248`_). Thanks `@pfhayes`_ for the PR.
|
||
* junitxml: Fix problematic case where system-out tag
|
||
occured twice per testcase element in the XML report.
|
||
Thanks `@kkoukiou`_ for the PR.
|
||
* Fix regression, pytest now skips unittest correctly if run
|
||
with ``--pdb`` (`#2137`_). Thanks to `@gst`_ for the report
|
||
and `@mbyt`_ for the PR.
|
||
* Ignore exceptions raised from descriptors (e.g.
|
||
properties) during Python test collection (`#2234`_).
|
||
Thanks to `@bluetech`_.
|
||
* ``--override-ini`` now correctly overrides some
|
||
fundamental options like ``python_files`` (`#2238`_).
|
||
Thanks `@sirex`_ for the report and `@nicoddemus`_ for the
|
||
PR.
|
||
* Replace ``raise StopIteration`` usages in the code by
|
||
simple ``returns`` to finish generators, in accordance to
|
||
`PEP-479`_ (`#2160`_). Thanks `@tgoodlet`_ for the report
|
||
and `@nicoddemus`_ for the PR.
|
||
* Fix internal errors when an unprintable ``AssertionError``
|
||
is raised inside a test. Thanks `@omerhadari`_ for the PR.
|
||
* Skipping plugin now also works with test items generated
|
||
by custom collectors (`#2231`_). Thanks to `@vidartf`_.
|
||
* Fix trailing whitespace in console output if no .ini file
|
||
presented (`#2281`_). Thanks `@fbjorn`_ for the PR.
|
||
* Conditionless ``xfail`` markers no longer rely on the
|
||
underlying test item being an instance of ``PyobjMixin``,
|
||
and can therefore apply to tests not collected by the
|
||
built-in python test collector. Thanks `@barneygale`_ for
|
||
the PR.
|
||
|
||
- Updated source URL
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Feb 23 14:40:25 UTC 2017 - jmatejek@suse.com
|
||
|
||
- update for singlespec
|
||
- update to 3.0.6
|
||
* fixed tests in python 3.6
|
||
- only use Python 3 to build docs
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Sep 16 14:25:04 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- Fix download url.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Sep 15 22:20:01 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- update to version 3.0.2
|
||
* Improve error message when passing non-string ids to ``pytest.mark.parametrize`` (`#1857`_).
|
||
Thanks `@okken`_ for the report and `@nicoddemus`_ for the PR.
|
||
* Add ``buffer`` attribute to stdin stub class ``pytest.capture.DontReadFromInput``
|
||
Thanks `@joguSD`_ for the PR.
|
||
* Fix ``UnicodeEncodeError`` when string comparison with unicode has failed. (`#1864`_)
|
||
Thanks `@AiOO`_ for the PR.
|
||
* ``pytest_plugins`` is now handled correctly if defined as a string (as opposed as
|
||
a sequence of strings) when modules are considered for assertion rewriting.
|
||
Due to this bug, much more modules were being rewritten than necessary
|
||
if a test suite uses ``pytest_plugins`` to load internal plugins (`#1888`_).
|
||
Thanks `@jaraco`_ for the report and `@nicoddemus`_ for the PR (`#1891`_).
|
||
* Do not call tearDown and cleanups when running tests from
|
||
``unittest.TestCase`` subclasses with ``--pdb``
|
||
enabled. This allows proper post mortem debugging for all applications
|
||
which have significant logic in their tearDown machinery (`#1890`_). Thanks
|
||
`@mbyt`_ for the PR.
|
||
* Fix use of deprecated ``getfuncargvalue`` method in the internal doctest plugin.
|
||
Thanks `@ViviCoder`_ for the report (`#1898`_).
|
||
- update to version 3.0.1
|
||
* Fix regression when ``importorskip`` is used at module level (`#1822`_).
|
||
Thanks `@jaraco`_ and `@The-Compiler`_ for the report and `@nicoddemus`_ for the PR.
|
||
* Fix parametrization scope when session fixtures are used in conjunction
|
||
with normal parameters in the same call (`#1832`_).
|
||
Thanks `@The-Compiler`_ for the report, `@Kingdread`_ and `@nicoddemus`_ for the PR.
|
||
* Fix internal error when parametrizing tests or fixtures using an empty ``ids`` argument (`#1849`_).
|
||
Thanks `@OPpuolitaival`_ for the report and `@nicoddemus`_ for the PR.
|
||
* Fix loader error when running ``pytest`` embedded in a zipfile.
|
||
Thanks `@mbachry`_ for the PR.
|
||
- update to version 3.0.0
|
||
+ Incompatible changes
|
||
* Reinterpretation mode has now been removed. Only plain and rewrite
|
||
mode are available, consequently the ``--assert=reinterp`` option is
|
||
no longer available. Thanks `@flub`_ for the PR.
|
||
* The following deprecated commandline options were removed:
|
||
* ``--genscript``: no longer supported;
|
||
> ``--no-assert``: use ``--assert=plain`` instead;
|
||
> ``--nomagic``: use ``--assert=plain`` instead;
|
||
> ``--report``: use ``-r`` instead;
|
||
* ImportErrors in plugins now are a fatal error instead of issuing a
|
||
pytest warning (`#1479`_). Thanks to `@The-Compiler`_ for the PR.
|
||
* Removed support code for Python 3 versions < 3.3 (`#1627`_).
|
||
* Removed all ``py.test-X*`` entry points. The versioned, suffixed entry points
|
||
were never documented and a leftover from a pre-virtualenv era. These entry
|
||
points also created broken entry points in wheels, so removing them also
|
||
removes a source of confusion for users (`#1632`_).
|
||
Thanks `@obestwalter`_ for the PR.
|
||
* ``pytest.skip()`` now raises an error when used to decorate a test function,
|
||
as opposed to its original intent (to imperatively skip a test inside a test function). Previously
|
||
this usage would cause the entire module to be skipped (`#607`_).
|
||
Thanks `@omarkohl`_ for the complete PR (`#1519`_).
|
||
* Exit tests if a collection error occurs. A poll indicated most users will hit CTRL-C
|
||
anyway as soon as they see collection errors, so pytest might as well make that the default behavior (`#1421`_).
|
||
A ``--continue-on-collection-errors`` option has been added to restore the previous behaviour.
|
||
Thanks `@olegpidsadnyi`_ and `@omarkohl`_ for the complete PR (`#1628`_).
|
||
* Renamed the pytest ``pdb`` module (plugin) into ``debugging`` to avoid clashes with the builtin ``pdb`` module.
|
||
* Raise a helpful failure message when requesting a parametrized fixture at runtime,
|
||
e.g. with ``request.getfixturevalue``. Previously these parameters were simply
|
||
never defined, so a fixture decorated like ``@pytest.fixture(params=[0, 1, 2])``
|
||
only ran once (`#460`_).
|
||
Thanks to `@nikratio`_ for the bug report, `@RedBeardCode`_ and `@tomviner`_ for the PR.
|
||
* ``_pytest.monkeypatch.monkeypatch`` class has been renamed to ``_pytest.monkeypatch.MonkeyPatch``
|
||
so it doesn't conflict with the ``monkeypatch`` fixture.
|
||
* ``--exitfirst / -x`` can now be overridden by a following ``--maxfail=N``
|
||
and is just a synonym for ``--maxfail=1``.
|
||
+ New Features
|
||
* Support nose-style ``__test__`` attribute on methods of classes,
|
||
including unittest-style Classes. If set to ``False``, the test will not be
|
||
collected.
|
||
* New ``doctest_namespace`` fixture for injecting names into the
|
||
namespace in which doctests run.
|
||
Thanks `@milliams`_ for the complete PR (`#1428`_).
|
||
* New ``--doctest-report`` option available to change the output format of diffs
|
||
when running (failing) doctests (implements `#1749`_).
|
||
Thanks `@hartym`_ for the PR.
|
||
* New ``name`` argument to ``pytest.fixture`` decorator which allows a custom name
|
||
for a fixture (to solve the funcarg-shadowing-fixture problem).
|
||
Thanks `@novas0x2a`_ for the complete PR (`#1444`_).
|
||
* New ``approx()`` function for easily comparing floating-point numbers in
|
||
tests.
|
||
Thanks `@kalekundert`_ for the complete PR (`#1441`_).
|
||
* Ability to add global properties in the final xunit output file by accessing
|
||
the internal ``junitxml`` plugin (experimental).
|
||
Thanks `@tareqalayan`_ for the complete PR `#1454`_).
|
||
* New ``ExceptionInfo.match()`` method to match a regular expression on the
|
||
string representation of an exception (`#372`_).
|
||
Thanks `@omarkohl`_ for the complete PR (`#1502`_).
|
||
* ``__tracebackhide__`` can now also be set to a callable which then can decide
|
||
whether to filter the traceback based on the ``ExceptionInfo`` object passed
|
||
to it. Thanks `@The-Compiler`_ for the complete PR (`#1526`_).
|
||
* New ``pytest_make_parametrize_id(config, val)`` hook which can be used by plugins to provide
|
||
friendly strings for custom types.
|
||
Thanks `@palaviv`_ for the PR.
|
||
* ``capsys`` and ``capfd`` now have a ``disabled()`` context-manager method, which
|
||
can be used to temporarily disable capture within a test.
|
||
Thanks `@nicoddemus`_ for the PR.
|
||
* New cli flag ``--fixtures-per-test``: shows which fixtures are being used
|
||
for each selected test item. Features doc strings of fixtures by default.
|
||
Can also show where fixtures are defined if combined with ``-v``.
|
||
Thanks `@hackebrot`_ for the PR.
|
||
* Introduce ``pytest`` command as recommended entry point. Note that ``py.test``
|
||
still works and is not scheduled for removal. Closes proposal
|
||
`#1629`_. Thanks `@obestwalter`_ and `@davehunt`_ for the complete PR
|
||
(`#1633`_).
|
||
* New cli flags:
|
||
> ``--setup-plan``: performs normal collection and reports
|
||
the potential setup and teardown and does not execute any fixtures and tests;
|
||
> ``--setup-only``: performs normal collection, executes setup and teardown of
|
||
fixtures and reports them;
|
||
> ``--setup-show``: performs normal test execution and additionally shows
|
||
setup and teardown of fixtures;
|
||
> ``--keep-duplicates``: py.test now ignores duplicated paths given in the command
|
||
line. To retain the previous behavior where the same test could be run multiple
|
||
times by specifying it in the command-line multiple times, pass the ``--keep-duplicates``
|
||
argument (`#1609`_);
|
||
Thanks `@d6e`_, `@kvas-it`_, `@sallner`_, `@ioggstream`_ and `@omarkohl`_ for the PRs.
|
||
* New CLI flag ``--override-ini``/``-o``: overrides values from the ini file.
|
||
For example: ``"-o xfail_strict=True"``'.
|
||
Thanks `@blueyed`_ and `@fengxx`_ for the PR.
|
||
* New hooks:
|
||
> ``pytest_fixture_setup(fixturedef, request)``: executes fixture setup;
|
||
> ``pytest_fixture_post_finalizer(fixturedef)``: called after the fixture's
|
||
finalizer and has access to the fixture's result cache.
|
||
Thanks `@d6e`_, `@sallner`_.
|
||
* Issue warnings for asserts whose test is a tuple literal. Such asserts will
|
||
never fail because tuples are always truthy and are usually a mistake
|
||
(see `#1562`_). Thanks `@kvas-it`_, for the PR.
|
||
* Allow passing a custom debugger class (e.g. ``--pdbcls=IPython.core.debugger:Pdb``).
|
||
Thanks to `@anntzer`_ for the PR.
|
||
+ Changes
|
||
* Plugins now benefit from assertion rewriting. Thanks
|
||
`@sober7`_, `@nicoddemus`_ and `@flub`_ for the PR.
|
||
* Change ``report.outcome`` for ``xpassed`` tests to ``"passed"`` in non-strict
|
||
mode and ``"failed"`` in strict mode. Thanks to `@hackebrot`_ for the PR
|
||
(`#1795`_) and `@gprasad84`_ for report (`#1546`_).
|
||
* Tests marked with ``xfail(strict=False)`` (the default) now appear in
|
||
JUnitXML reports as passing tests instead of skipped.
|
||
Thanks to `@hackebrot`_ for the PR (`#1795`_).
|
||
* Highlight path of the file location in the error report to make it easier to copy/paste.
|
||
Thanks `@suzaku`_ for the PR (`#1778`_).
|
||
* Fixtures marked with ``@pytest.fixture`` can now use ``yield`` statements exactly like
|
||
those marked with the ``@pytest.yield_fixture`` decorator. This change renders
|
||
``@pytest.yield_fixture`` deprecated and makes ``@pytest.fixture`` with ``yield`` statements
|
||
the preferred way to write teardown code (`#1461`_).
|
||
Thanks `@csaftoiu`_ for bringing this to attention and `@nicoddemus`_ for the PR.
|
||
* Explicitly passed parametrize ids do not get escaped to ascii (`#1351`_).
|
||
Thanks `@ceridwen`_ for the PR.
|
||
* Fixtures are now sorted in the error message displayed when an unknown
|
||
fixture is declared in a test function.
|
||
Thanks `@nicoddemus`_ for the PR.
|
||
* ``pytest_terminal_summary`` hook now receives the ``exitstatus``
|
||
of the test session as argument. Thanks `@blueyed`_ for the PR (`#1809`_).
|
||
* Parametrize ids can accept ``None`` as specific test id, in which case the
|
||
automatically generated id for that argument will be used.
|
||
Thanks `@palaviv`_ for the complete PR (`#1468`_).
|
||
* The parameter to xunit-style setup/teardown methods (``setup_method``,
|
||
``setup_module``, etc.) is now optional and may be omitted.
|
||
Thanks `@okken`_ for bringing this to attention and `@nicoddemus`_ for the PR.
|
||
* Improved automatic id generation selection in case of duplicate ids in
|
||
parametrize.
|
||
Thanks `@palaviv`_ for the complete PR (`#1474`_).
|
||
* Now pytest warnings summary is shown up by default. Added a new flag
|
||
``--disable-pytest-warnings`` to explicitly disable the warnings summary (`#1668`_).
|
||
* Make ImportError during collection more explicit by reminding
|
||
the user to check the name of the test module/package(s) (`#1426`_).
|
||
Thanks `@omarkohl`_ for the complete PR (`#1520`_).
|
||
* Add ``build/`` and ``dist/`` to the default ``--norecursedirs`` list. Thanks
|
||
`@mikofski`_ for the report and `@tomviner`_ for the PR (`#1544`_).
|
||
* ``pytest.raises`` in the context manager form accepts a custom
|
||
``message`` to raise when no exception occurred.
|
||
Thanks `@palaviv`_ for the complete PR (`#1616`_).
|
||
* ``conftest.py`` files now benefit from assertion rewriting; previously it
|
||
was only available for test modules. Thanks `@flub`_, `@sober7`_ and
|
||
`@nicoddemus`_ for the PR (`#1619`_).
|
||
* Text documents without any doctests no longer appear as "skipped".
|
||
Thanks `@graingert`_ for reporting and providing a full PR (`#1580`_).
|
||
* Ensure that a module within a namespace package can be found when it
|
||
is specified on the command line together with the ``--pyargs``
|
||
option. Thanks to `@taschini`_ for the PR (`#1597`_).
|
||
* Always include full assertion explanation during assertion rewriting. The previous behaviour was hiding
|
||
sub-expressions that happened to be ``False``, assuming this was redundant information.
|
||
Thanks `@bagerard`_ for reporting (`#1503`_). Thanks to `@davehunt`_ and
|
||
`@tomviner`_ for the PR.
|
||
* ``OptionGroup.addoption()`` now checks if option names were already
|
||
added before, to make it easier to track down issues like `#1618`_.
|
||
Before, you only got exceptions later from ``argparse`` library,
|
||
giving no clue about the actual reason for double-added options.
|
||
* ``yield``-based tests are considered deprecated and will be removed in pytest-4.0.
|
||
Thanks `@nicoddemus`_ for the PR.
|
||
* ``[pytest]`` sections in ``setup.cfg`` files should now be named ``[tool:pytest]``
|
||
to avoid conflicts with other distutils commands (see `#567`_). ``[pytest]`` sections in
|
||
``pytest.ini`` or ``tox.ini`` files are supported and unchanged.
|
||
Thanks `@nicoddemus`_ for the PR.
|
||
* Using ``pytest_funcarg__`` prefix to declare fixtures is considered deprecated and will be
|
||
removed in pytest-4.0 (`#1684`_).
|
||
Thanks `@nicoddemus`_ for the PR.
|
||
* Passing a command-line string to ``pytest.main()`` is considered deprecated and scheduled
|
||
for removal in pytest-4.0. It is recommended to pass a list of arguments instead (`#1723`_).
|
||
* Rename ``getfuncargvalue`` to ``getfixturevalue``. ``getfuncargvalue`` is
|
||
still present but is now considered deprecated. Thanks to `@RedBeardCode`_ and `@tomviner`_
|
||
for the PR (`#1626`_).
|
||
* ``optparse`` type usage now triggers DeprecationWarnings (`#1740`_).
|
||
* ``optparse`` backward compatibility supports float/complex types (`#457`_).
|
||
* Refined logic for determining the ``rootdir``, considering only valid
|
||
paths which fixes a number of issues: `#1594`_, `#1435`_ and `#1471`_.
|
||
Updated the documentation according to current behavior. Thanks to
|
||
`@blueyed`_, `@davehunt`_ and `@matthiasha`_ for the PR.
|
||
* Always include full assertion explanation. The previous behaviour was hiding
|
||
sub-expressions that happened to be False, assuming this was redundant information.
|
||
Thanks `@bagerard`_ for reporting (`#1503`_). Thanks to `@davehunt`_ and
|
||
`@tomviner`_ for PR.
|
||
* Better message in case of not using parametrized variable (see `#1539`_).
|
||
Thanks to `@tramwaj29`_ for the PR.
|
||
* Updated docstrings with a more uniform style.
|
||
* Add stderr write for ``pytest.exit(msg)`` during startup. Previously the message was never shown.
|
||
Thanks `@BeyondEvil`_ for reporting `#1210`_. Thanks to `@JonathonSonesen`_ and
|
||
`@tomviner`_ for the PR.
|
||
* No longer display the incorrect test deselection reason (`#1372`_).
|
||
Thanks `@ronnypfannschmidt`_ for the PR.
|
||
* The ``--resultlog`` command line option has been deprecated: it is little used
|
||
and there are more modern and better alternatives (see `#830`_).
|
||
Thanks `@nicoddemus`_ for the PR.
|
||
* Improve error message with fixture lookup errors: add an 'E' to the first
|
||
line and '>' to the rest. Fixes `#717`_. Thanks `@blueyed`_ for reporting and
|
||
a PR, `@eolo999`_ for the initial PR and `@tomviner`_ for his guidance during
|
||
EuroPython2016 sprint.
|
||
+ Bug Fixes
|
||
* Parametrize now correctly handles duplicated test ids.
|
||
* Fix internal error issue when the ``method`` argument is missing for
|
||
``teardown_method()`` (`#1605`_).
|
||
* Fix exception visualization in case the current working directory (CWD) gets
|
||
deleted during testing (`#1235`_). Thanks `@bukzor`_ for reporting. PR by
|
||
`@marscher`_.
|
||
* Improve test output for logical expression with brackets (`#925`_).
|
||
Thanks `@DRMacIver`_ for reporting and `@RedBeardCode`_ for the PR.
|
||
* Create correct diff for strings ending with newlines (`#1553`_).
|
||
Thanks `@Vogtinator`_ for reporting and `@RedBeardCode`_ and
|
||
`@tomviner`_ for the PR.
|
||
* ``ConftestImportFailure`` now shows the traceback making it easier to
|
||
identify bugs in ``conftest.py`` files (`#1516`_). Thanks `@txomon`_ for
|
||
the PR.
|
||
* Text documents without any doctests no longer appear as "skipped".
|
||
Thanks `@graingert`_ for reporting and providing a full PR (`#1580`_).
|
||
* Fixed collection of classes with custom ``__new__`` method.
|
||
Fixes `#1579`_. Thanks to `@Stranger6667`_ for the PR.
|
||
* Fixed scope overriding inside metafunc.parametrize (`#634`_).
|
||
Thanks to `@Stranger6667`_ for the PR.
|
||
* Fixed the total tests tally in junit xml output (`#1798`_).
|
||
Thanks to `@cryporchild`_ for the PR.
|
||
* Fixed off-by-one error with lines from ``request.node.warn``.
|
||
Thanks to `@blueyed`_ for the PR.
|
||
- update to version 2.9.2:
|
||
* fix #510: skip tests where one parameterize dimension was empty
|
||
thanks Alex Stapleton for the Report and @RonnyPfannschmidt for
|
||
the PR
|
||
* Fix Xfail does not work with condition keyword argument. Thanks
|
||
@astraw38 for reporting the issue (#1496) and @tomviner for PR the
|
||
(#1524).
|
||
* Fix win32 path issue when puttinging custom config file with
|
||
absolute path in pytest.main("-c your_absolute_path").
|
||
* Fix maximum recursion depth detection when raised error class is
|
||
not aware of unicode/encoded bytes. Thanks @prusse-martin for the
|
||
PR (#1506).
|
||
* Fix pytest.mark.skip mark when used in strict mode. Thanks
|
||
@pquentin for the PR and @RonnyPfannschmidt for showing how to fix
|
||
the bug.
|
||
* Minor improvements and fixes to the documentation. Thanks
|
||
@omarkohl for the PR.
|
||
* Fix --fixtures to show all fixture definitions as opposed to just
|
||
one per fixture name. Thanks to @hackebrot for the PR.
|
||
- update to version 2.9.1:
|
||
* Improve error message when a plugin fails to load. Thanks
|
||
@nicoddemus for the PR.
|
||
* Fix (#1178): pytest.fail with non-ascii characters raises an
|
||
internal pytest error. Thanks @nicoddemus for the PR.
|
||
* Fix (#469): junit parses report.nodeid incorrectly, when params
|
||
IDs contain ::. Thanks @tomviner for the PR (#1431).
|
||
* Fix (#578): SyntaxErrors containing non-ascii lines at the point
|
||
of failure generated an internal py.test error. Thanks @asottile
|
||
for the report and @nicoddemus for the PR.
|
||
* Fix (#1437): When passing in a bytestring regex pattern to
|
||
parameterize attempt to decode it as utf-8 ignoring errors.
|
||
* Fix (#649): parametrized test nodes cannot be specified to run on
|
||
the command line.
|
||
- update to version 2.9.0:
|
||
* New Features
|
||
+ New pytest.mark.skip mark, which unconditionally skips marked
|
||
tests. Thanks @MichaelAquilina for the complete PR (#1040).
|
||
+ --doctest-glob may now be passed multiple times in the
|
||
command-line. Thanks @jab and @nicoddemus for the PR.
|
||
+ New -rp and -rP reporting options give the summary and full
|
||
output of passing tests, respectively. Thanks to @codewarrior0 for
|
||
the PR.
|
||
+ pytest.mark.xfail now has a strict option which makes XPASS
|
||
tests to fail the test suite, defaulting to False. There’s also a
|
||
xfail_strict ini option that can be used to configure it
|
||
project-wise. Thanks @rabbbit for the request and @nicoddemus for
|
||
the PR (#1355).
|
||
+ Parser.addini now supports options of type bool. Thanks
|
||
@nicoddemus for the PR.
|
||
+ New ALLOW_BYTES doctest option strips b prefixes from byte
|
||
strings in doctest output (similar to ALLOW_UNICODE). Thanks
|
||
@jaraco for the request and @nicoddemus for the PR (#1287).
|
||
+ give a hint on KeyboardInterrupt to use the –fulltrace option to
|
||
show the errors, this fixes #1366. Thanks to @hpk42 for the report
|
||
and @RonnyPfannschmidt for the PR.
|
||
+ catch IndexError exceptions when getting exception source
|
||
location. This fixes pytest internal error for dynamically
|
||
generated code (fixtures and tests) where source lines are fake by
|
||
intention
|
||
* Changes
|
||
+ Important: py.code has been merged into the pytest repository as
|
||
pytest._code. This decision was made because py.code had very few
|
||
uses outside pytest and the fact that it was in a different
|
||
repository made it difficult to fix bugs on its code in a timely
|
||
manner. The team hopes with this to be able to better refactor out
|
||
and improve that code. This change shouldn’t affect users, but it
|
||
is useful to let users aware if they encounter any strange
|
||
behavior.
|
||
+ Keep in mind that the code for pytest._code is private and
|
||
experimental, so you definitely should not import it explicitly!
|
||
+ Please note that the original py.code is still available in
|
||
pylib.
|
||
+ pytest_enter_pdb now optionally receives the pytest config
|
||
object. Thanks @nicoddemus for the PR.
|
||
+ Removed code and documentation for Python 2.5 or lower versions,
|
||
including removal of the obsolete _pytest.assertion.oldinterpret
|
||
module. Thanks @nicoddemus for the PR (#1226).
|
||
+ Comparisons now always show up in full when CI or BUILD_NUMBER
|
||
is found in the environment, even when -vv isn’t used. Thanks
|
||
@The-Compiler for the PR.
|
||
+ --lf and --ff now support long names: --last-failed and
|
||
--failed-first respectively. Thanks @MichaelAquilina for the PR.
|
||
+ Added expected exceptions to pytest.raises fail message
|
||
+ Collection only displays progress (“collecting X items”) when in
|
||
a terminal. This avoids cluttering the output when using
|
||
--color=yes to obtain colors in CI integrations systems (#1397).
|
||
* Bug Fixes
|
||
+ The -s and -c options should now work under xdist;
|
||
Config.fromdictargs now represents its input much more
|
||
faithfully. Thanks to @bukzor for the complete PR (#680).
|
||
+ Fix (#1290): support Python 3.5’s @ operator in assertion
|
||
rewriting. Thanks @Shinkenjoe for report with test case and
|
||
@tomviner for the PR.
|
||
+ Fix formatting utf-8 explanation messages (#1379). Thanks @biern
|
||
for the PR.
|
||
+ Fix traceback style docs to describe all of the available
|
||
options (auto/long/short/line/native/no), with auto being the
|
||
default since v2.6. Thanks @hackebrot for the PR.
|
||
+ Fix (#1422): junit record_xml_property doesn’t allow multiple
|
||
records with same name.
|
||
- Move %check to -doc subpackage to avoid dependency loop
|
||
with new python3-hypothesis test dependency.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Feb 1 11:02:42 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- update to version 2.8.7:
|
||
* fix #1338: use predictable object resolution for monkeypatch
|
||
- changes from version 2.8.6:
|
||
* fix #1259: allow for double nodeids in junitxml, this was a
|
||
regression failing plugins combinations like pytest-pep8 +
|
||
pytest-flakes
|
||
* Workaround for exception that occurs in pyreadline when using
|
||
--pdb with standard I/O capture enabled. Thanks Erik M. Bray for
|
||
the PR.
|
||
* fix #900: Better error message in case the target of a monkeypatch
|
||
call raises an ImportError.
|
||
* fix #1292: monkeypatch calls (setattr, setenv, etc.) are now
|
||
O(1). Thanks David R. MacIver for the report and Bruno Oliveira
|
||
for the PR.
|
||
* fix #1223: captured stdout and stderr are now properly displayed
|
||
before entering pdb when --pdb is used instead of being thrown
|
||
away. Thanks Cal Leeming for the PR.
|
||
* fix #1305: pytest warnings emitted during pytest_terminal_summary
|
||
are now properly displayed. Thanks Ionel Maries Cristian for the
|
||
report and Bruno Oliveira for the PR.
|
||
* fix #628: fixed internal UnicodeDecodeError when doctests contain
|
||
unicode. Thanks Jason R. Coombs for the report and Bruno Oliveira
|
||
for the PR.
|
||
* fix #1334: Add captured stdout to jUnit XML report on setup
|
||
error. Thanks Georgy Dyuldin for the PR.
|
||
- Update to version 2.8.5
|
||
* fix #1243: fixed issue where class attributes injected during
|
||
collection could break pytest.
|
||
fix #1074: precompute junitxml chunks instead of storing the
|
||
whole tree in objects
|
||
fix #1238: fix pytest.deprecated_call() receiving multiple
|
||
arguments (Regression introduced in 2.8.4).
|
||
- update to version 2.8.4:
|
||
* fix #1190: deprecated_call() now works when the deprecated
|
||
function has been already called by another test in the same
|
||
module. Thanks Mikhail Chernykh for the report and Bruno Oliveira
|
||
for the PR.
|
||
* fix #1198: --pastebin option now works on Python 3. Thanks Mehdy
|
||
Khoshnoody for the PR.
|
||
* fix #1219: --pastebin now works correctly when captured output
|
||
contains non-ascii characters. Thanks Bruno Oliveira for the PR.
|
||
* fix #1204: another error when collecting with a nasty
|
||
__getattr__(). Thanks Florian Bruhin for the PR.
|
||
* fix the summary printed when no tests did run. Thanks Florian
|
||
Bruhin for the PR.
|
||
* a number of documentation modernizations wrt good
|
||
practices. Thanks Bruno Oliveira for the PR.
|
||
- update to version 2.8.3:
|
||
* fix #1169: add __name__ attribute to testcases in TestCaseFunction
|
||
to support the @unittest.skip decorator on functions and methods.
|
||
Thanks Lee Kamentsky for the PR.
|
||
* fix #1035: collecting tests if test module level obj has
|
||
__getattr__(). Thanks Suor for the report and Bruno Oliveira /
|
||
Tom Viner for the PR.
|
||
* fix #331: don't collect tests if their failure cannot be reported
|
||
correctly e.g. they are a callable instance of a class.
|
||
* fix #1133: fixed internal error when filtering tracebacks where
|
||
one entry belongs to a file which is no longer available. Thanks
|
||
Bruno Oliveira for the PR.
|
||
* enhancement made to highlight in red the name of the failing tests
|
||
so they stand out in the output. Thanks Gabriel Reis for the PR.
|
||
* add more talks to the documentation
|
||
* extend documentation on the --ignore cli option
|
||
* use pytest-runner for setuptools integration
|
||
* minor fixes for interaction with OS X El Capitan system integrity
|
||
protection (thanks Florian)
|
||
|
||
-------------------------------------------------------------------
|
||
Sun May 24 10:57:07 UTC 2015 - toddrme2178@gmail.com
|
||
|
||
- Split documentation into separate package to avoid build loop
|
||
|