Fixed small terminal glitch when collecting a single test item. (2579 <https://github.com/pytest-dev/pytest/issues/2579>_)
Correctly consider / as the file separator to automatically mark plugin
files for rewrite on Windows. (2591 <https://github.com/pytest- dev/pytest/issues/2591>_)
Properly escape test names when setting PYTEST_CURRENT_TEST environment
variable. (2644 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest- dev/pytest/issues/2666>_)
Improved Documentation
Explicitly document which pytest features work with unittest. (2626 <https://github.com/pytest-dev/pytest/issues/2626>_)
3.2.0
=========================
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.htmlpytest.approx> for more
information. (2003 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/2427>_)
Features
Add support for numpy arrays (and dicts) to approx. (1994 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest- dev/pytest/issues/2516>_)
Collection ignores local virtualenvs by default; --collect-in-virtualenv
overrides this behavior. (2518 <https://github.com/pytest- dev/pytest/issues/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 <https://github.com/pytest- dev/pytest/issues/2528>_)
Introduce mark.with_args in order to allow passing functions/classes as
sole argument to marks. (2540 <https://github.com/pytest- dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/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.htmlpytest-current-test- environment-variable> for more info. (2583 <https://github.com/pytest- dev/pytest/issues/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.htmlpytest-mark- filterwarnings> for more information. (2598 <https://github.com/pytest- dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/2621>_)
New pytest_report_collectionfinish hook which allows plugins to add
messages to the terminal reporting after collection has been finished
successfully. (2622 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/580>_)
Bug Fixes
Set stdin to a closed PIPE in pytester.py.Testdir.popen() for
avoid unwanted interactive pdb (2023 <https://github.com/pytest- dev/pytest/issues/2023>_)
Add missing encoding attribute to sys.std* streams when using
capsys capture mode. (2375 <https://github.com/pytest- dev/pytest/issues/2375>_)
Fix terminal color changing to black on Windows if colorama is imported
in a conftest.py file. (2510 <https://github.com/pytest- dev/pytest/issues/2510>_)
Fix line number when reporting summary of skipped tests. (2548 <https://github.com/pytest-dev/pytest/issues/2548>_)
capture: ensure that EncodedFile.name is a string. (2555 <https://github.com/pytest-dev/pytest/issues/2555>_)
The options --fixtures and --fixtures-per-test will now keep
indentation within docstrings. (2574 <https://github.com/pytest- dev/pytest/issues/2574>_)
doctests line numbers are now reported correctly, fixing pytest-sugar122 <https://github.com/Frozenball/pytest-sugar/issues/122>. (2610 <https://github.com/pytest-dev/pytest/issues/2610>)
Fix non-determinism in order of fixture collection. Adds new dependency
(ordereddict) for Python 2.6. (920 <https://github.com/pytest- dev/pytest/issues/920>_)
Extend documentation for testing plugin code with the pytester plugin.
(971 <https://github.com/pytest-dev/pytest/issues/971>_)
Trivial/Internal Changes
Update help message for --strict to make it clear it only deals with
unregistered markers, not warnings. (2444 <https://github.com/pytest- dev/pytest/issues/2444>_)
Internal code move: move code for pytest.approx/pytest.raises to own files in
order to cut down the size of python.py (2489 <https://github.com/pytest- dev/pytest/issues/2489>_)
Renamed the utility function _pytest.compat._escape_strings to
_ascii_escaped to better communicate the function's purpose. (2533 <https://github.com/pytest-dev/pytest/issues/2533>_)
Improve error message for CollectError with skip/skipif. (2546 <https://github.com/pytest-dev/pytest/issues/2546>_)
Emit warning about yield tests being deprecated only once per generator.
(2562 <https://github.com/pytest-dev/pytest/issues/2562>_)
Ensure final collected line doesn't include artifacts of previous write.
(2571 <https://github.com/pytest-dev/pytest/issues/2571>_)
Fixed all flake8 errors and warnings. (2581 <https://github.com/pytest- dev/pytest/issues/2581>_)
Added fix-lint tox environment to run automatic pep8 fixes on the code.
(2582 <https://github.com/pytest-dev/pytest/issues/2582>_)
Turn warnings into errors in pytest's own test suite in order to catch
regressions due to deprecations more promptly. (2588 <https://github.com/pytest-dev/pytest/issues/2588>_)
Show multiple issue links in CHANGELOG entries. (2620 <https://github.com/pytest-dev/pytest/issues/2620>_)
pytest-sugar 0.8.0 -> 0.9.0
0.9.0
^^^^^^^^^^^^^^^^^^^
Print correct location for doctest failures
Write xdist output on correct lines
pysmb 1.1.19 -> 1.1.20
1.1.20
=========================
Add getSecurity() method to support security descriptors query via SMB2
Improve retrieveFile() and retrieveFileFromOffset() methods to allow file
retrievals over SMB2 even when the file is being locked on the server.
Silently discards NMB SESSION_KEEPALIVE packets instead of raising warnings.
SMB sessionID will be sent in ECHO requests to conform to SMB2 specs.
Updates
Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.
Changelogs
pytest 3.1.3 -> 3.2.1
pytest-sugar 0.8.0 -> 0.9.0
pysmb 1.1.19 -> 1.1.20
That's it for now!
Happy merging! 🤖