2017-09-08 13:05:52 by Adam Ciarcinski | Files touched by this commit (2) |
Log message:
Pytest 3.2.2:
Bug Fixes
* Calling the deprecated request.getfuncargvalue() now shows the source of the call.
* Allow tests declared as @staticmethod to use fixtures.
* Fixed edge-case during collection: attributes which raised pytest.fail when \
accessed would abort the entire collection.
* Fix ReprFuncArgs with mixed unicode and UTF-8 args.
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__
* 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.
Trivial/Internal Changes
* Fixed minor error in ‘Good Practices/Manual Integration’ code snippet.
* Fixed typo in goodpractices.rst.
* Improve user guidance regarding --resultlog deprecation.
|
2017-08-13 11:48:54 by Adam Ciarcinski | Files touched by this commit (2) |
Log message:
Pytest 3.2.1
Bug Fixes:
* Fixed small terminal glitch when collecting a single test item.
* Correctly consider / as the file separator to automatically mark plugin files \
for rewrite on Windows.
* Properly escape test names when setting PYTEST_CURRENT_TEST environment variable.
* 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.
Improved Documentation
* Explicitly document which pytest features work with unittest.
|
2017-08-03 09:44:11 by Adam Ciarcinski | Files touched by this commit (3) |
Log message:
Pytest 3.2.0:
Deprecations and Removals
pytest.approx no longer supports >, >=, < and <= operators to avoid \
surprising/inconsistent behavior. See the docs for more information.
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.
A deprecation warning is now raised when using marks for parameters in \
pytest.mark.parametrize. Use pytest.param to apply marks to parameters instead.
Features
Add support for numpy arrays (and dicts) to approx.
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.
Collection ignores local virtualenvs by default; âcollect-in-virtualenv \
overrides this behavior.
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.)
Introduce mark.with_args in order to allow passing functions/classes as sole \
argument to marks.
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.
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 for more info.
Introduced @pytest.mark.filterwarnings mark which allows overwriting the \
warnings filter on a per test, class or module level. See the docs for more \
information.
--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.
New pytest_report_collectionfinish hook which allows plugins to add messages to \
the terminal reporting after collection has been finished successfully.
Added support for PEP-415âs 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.
Exceptions raised by pytest.fail, pytest.skip and pytest.xfail now subclass \
BaseException, making them harder to be caught unintentionally by normal code.
Bug Fixes
Set stdin to a closed PIPE in pytester.py.Testdir.popen() for avoid unwanted \
interactive pdb
Add missing encoding attribute to sys.std* streams when using capsys capture mode.
Fix terminal color changing to black on Windows if colorama is imported in a \
conftest.py file.
Fix line number when reporting summary of skipped tests.
capture: ensure that EncodedFile.name is a string.
The options --fixtures and --fixtures-per-test will now keep indentation within \
docstrings.
doctests line numbers are now reported correctly, fixing pytest-sugar.
Fix non-determinism in order of fixture collection. Adds new dependency \
(ordereddict) for Python 2.6.
|
2017-07-05 17:33:29 by Adam Ciarcinski | Files touched by this commit (2) |
Log message:
Pytest 3.1.3:
Bug Fixes
* Fix decode error in Python 2 for doctests in docstrings.
* Exceptions raised during teardown by finalizers are now suppressed until all \
finalizers are called, with the initial exception reraised.
* Fix incorrect âcollected itemsâ report when specifying tests on the \
command- line.
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).
* Fix issue where paths collected by pytest could have triple leading / characters.
* Fix internal error when trying to detect the start of a recursive traceback.
Improved Documentation
* Explicitly state for which hooks the calls stop after the first non-None result.
Trivial/Internal Changes
* Create invoke tasks for updating the vendored packages.
* Update copyright dates in LICENSE, README.rst and in the documentation.
|
2017-06-10 21:22:12 by Adam Ciarcinski | Files touched by this commit (2) |
Log message:
Pytest 3.1.2 (2017-06-08)
Bug Fixes
* Required options added via pytest_addoption will no longer prevent using \
âhelp without passing them.
* Respect python_files in assertion rewriting.
* Fix recursion error detection when frames in the traceback contain objects \
that canât be compared (like numpy arrays).
* UnicodeWarning is issued from the internal pytest warnings plugin only when \
the message contains non-ascii unicode (Python 2 only).
* 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.
|
2017-06-01 09:14:32 by Adam Ciarcinski | Files touched by this commit (2) |
Log message:
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.
* Fix issue with non-ascii contents in doctest text files.
* Fix encoding errors for unicode warnings in Python 2.
* pytest.deprecated_call now captures PendingDeprecationWarning in context \
manager form.
Improved Documentation
* Addition of towncrier for changelog management.
|
2017-05-28 12:44:48 by Thomas Klausner | Files touched by this commit (1) |
Log message:
Add build dependency on py-setuptools_scm.
|
2017-05-23 10:30:11 by Adam Ciarcinski | Files touched by this commit (3) |
Log message:
Chages 3.1.0:
New Features
* The ``pytest-warnings`` plugin has been integrated into the core, so now \
``pytest`` automatica
lly
captures and displays warnings at the end of the test session.
* Added ``junit_suite_name`` ini option to specify root `<testsuite>` name \
for JUnit XML reports
* Added an ini option ``doctest_encoding`` to specify which encoding to use for \
doctest files.
* ``pytest.warns`` now checks for subclass relationship rather than
class equality.
* ``pytest.raises`` now asserts that the error message matches a text or regex
with the ``match`` keyword argument.
* ``pytest.param`` can be used to declare test parameter sets with marks and \
test ids.
|
2017-03-20 14:56:18 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Updated py-test to 3.0.7.
3.0.7 (2017-03-14)
==================
* 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.
|
2017-02-05 20:10:30 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Updated py-test to 3.0.6.
3.0.6 (2017-01-29)
=======================
* pytest no longer generates ``PendingDeprecationWarning`` from its own \
operations, which was introduced by mistake in version ``3.0.5`` (`#2118`_).
Thanks to `@nicoddemus`_ for the report and `@RonnyPfannschmidt`_ for the PR.
* pytest no longer recognizes coroutine functions as yield tests (`#2129`_).
Thanks to `@malinoff`_ for the PR.
* Plugins loaded by the ``PYTEST_PLUGINS`` environment variable are now automatically
considered for assertion rewriting (`#2185`_).
Thanks `@nicoddemus`_ for the PR.
* Improve error message when pytest.warns fails (`#2150`_). The type(s) of the
expected warnings and the list of caught warnings is added to the
error message. Thanks `@lesteve`_ for the PR.
* Fix ``pytester`` internal plugin to work correctly with latest versions of
``zope.interface`` (`#1989`_). Thanks `@nicoddemus`_ for the PR.
* Assert statements of the ``pytester`` plugin again benefit from assertion \
rewriting (`#1920`_).
Thanks `@RonnyPfannschmidt`_ for the report and `@nicoddemus`_ for the PR.
* Specifying tests with colons like ``test_foo.py::test_bar`` for tests in
subdirectories with ini configuration files now uses the correct ini file
(`#2148`_). Thanks `@pelme`_.
* Fail ``testdir.runpytest().assert_outcomes()`` explicitly if the pytest
terminal output it relies on is missing. Thanks to `@eli-b`_ for the PR.
|