forked from python-pytest/python-pytest
- 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)
- 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
OBS-URL: https://build.opensuse.org/request/show/537603
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=27
754 lines
42 KiB
Plaintext
754 lines
42 KiB
Plaintext
-------------------------------------------------------------------
|
||
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
|
||
|