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 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/2527>_)
Incompatible change: after community feedback the logging <https://docs.pytest.org/en/latest/logging.html> functionality has
undergone some changes. Please consult the logging documentation <https://docs.pytest.org/en/latest/logging.htmlincompatible-changes-in-pytest-3-4>
for details. (3013 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/3038>_)
New pytest_runtest_logfinish <https://docs.pytest.org/en/latest/writing_plugins.html_pytest.hookspec.pytest_runtest_logfinish>_
hook which is called when a test item has finished executing, analogous to
pytest_runtest_logstart <https://docs.pytest.org/en/latest/writing_plugins.html_pytest.hookspec.pytest_runtest_start>.
(3101 <https://github.com/pytest-dev/pytest/issues/3101>)
Improve performance when collecting tests using many fixtures. (3107 <https://github.com/pytest-dev/pytest/issues/3107>_)
New caplog.get_records(when) method which provides access to the captured
records for the "setup", "call" and "teardown"
testing stages. (3117 <https://github.com/pytest-dev/pytest/issues/3117>_)
New fixture record_xml_attribute that allows modifying and inserting
attributes on the <testcase> xml node in JUnit reports. (3130 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/3138>_)
Colorize the levelname column in the live-log output. (3142 <https://github.com/pytest-dev/pytest/issues/3142>_)
Bug Fixes
Fix hanging pexpect test on MacOS by using flush() instead of wait().
(2022 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/3016>_)
Fix skipping plugin reporting hook when test aborted before plugin setup
hook. (3074 <https://github.com/pytest-dev/pytest/issues/3074>_)
Fix progress percentage reported when tests fail during teardown. (3088 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/3103>_)
Improved Documentation
Document hooks (defined with historic=True) which cannot be used with
hookwrapper=True. (2423 <https://github.com/pytest-dev/pytest/issues/2423>_)
Clarify that warning capturing doesn't change the warning filter by default.
(2457 <https://github.com/pytest-dev/pytest/issues/2457>_)
Clarify a possible confusion when using pytest_fixturesetup with fixture
functions that return None. (2698 <https://github.com/pytest-dev/pytest/issues/2698>)
Fix the wording of a sentence on doctest flags used in pytest. (3076 <https://github.com/pytest-dev/pytest/issues/3076>_)
Prefer https://*.readthedocs.io over http://*.rtfd.org for links in
the documentation. (3092 <https://github.com/pytest-dev/pytest/issues/3092>_)
Improve readability (wording, grammar) of Getting Started guide (3131 <https://github.com/pytest-dev/pytest/issues/3131>_)
Added note that calling pytest.main multiple times from the same process is
not recommended because of import caching. (3143 <https://github.com/pytest-dev/pytest/issues/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 <https://github.com/pytest-dev/pytest/issues/2953>_)
Change parametrized automatic test id generation to use the __name__
attribute of functions instead of the fallback argument name plus counter.
(2976 <https://github.com/pytest-dev/pytest/issues/2976>_)
Replace py.std with stdlib imports. (3067 <https://github.com/pytest-dev/pytest/issues/3067>_)
Corrected 'you' to 'your' in logging docs. (3129 <https://github.com/pytest-dev/pytest/issues/3129>_)
3.3.2
=========================
Bug Fixes
pytester: ignore files used to obtain current user metadata in the fd leak
detector. (2784 <https://github.com/pytest-dev/pytest/issues/2784>_)
Fix memory leak where objects returned by fixtures were never destructed
by the garbage collector. (2981 <https://github.com/pytest-dev/pytest/issues/2981>_)
Fix conversion of pyargs to filename to not convert symlinks on Python 2. (2985 <https://github.com/pytest-dev/pytest/issues/2985>_)
PYTEST_DONT_REWRITE is now checked for plugins too rather than only for
test modules. (2995 <https://github.com/pytest-dev/pytest/issues/2995>_)
Improved Documentation
Add clarifying note about behavior of multiple parametrized arguments (3001 <https://github.com/pytest-dev/pytest/issues/3001>_)
Clean up code by replacing imports and references of _ast to ast. (3018 <https://github.com/pytest-dev/pytest/issues/3018>_)
3.3.1
=========================
Bug Fixes
Fix issue about -p no:<plugin> having no effect. (2920 <https://github.com/pytest-dev/pytest/issues/2920>_)
Fix regression with warnings that contained non-strings in their arguments in
Python 2. (2956 <https://github.com/pytest-dev/pytest/issues/2956>_)
Always escape null bytes when setting PYTEST_CURRENT_TEST. (2957 <https://github.com/pytest-dev/pytest/issues/2957>_)
Fix ZeroDivisionError when using the testmon plugin when no tests
were actually collected. (2971 <https://github.com/pytest-dev/pytest/issues/2971>_)
Bring back TerminalReporter.writer as an alias to
TerminalReporter._tw. This alias was removed by accident in the 3.3.0
release. (2984 <https://github.com/pytest-dev/pytest/issues/2984>_)
The pytest-capturelog plugin is now also blacklisted, avoiding errors when
running pytest with it still installed. (3004 <https://github.com/pytest-dev/pytest/issues/3004>_)
Improved Documentation
Fix broken link to plugin pytest-localserver. (2963 <https://github.com/pytest-dev/pytest/issues/2963>_)
Trivial/Internal Changes
Update github "bugs" link in CONTRIBUTING.rst (2949 <https://github.com/pytest-dev/pytest/issues/2949>_)
html5lib 0.999999999 -> 1.0.1
1.0.1
Released on December 7, 2017
Breaking changes:
* Drop support for Python 2.6. (330) (Thank you, Hugo, Will Kahn-Greene!)
* Remove ``utils/spider.py`` (353) (Thank you, Jon Dufresne!)
Features:
* Improve documentation. (300, 307) (Thank you, Jon Dufresne, Tom Most,
Will Kahn-Greene!)
* Add iframe seamless boolean attribute. (Thank you, Ritwik Gupta!)
* Add itemscope as a boolean attribute. (194) (Thank you, Jonathan Vanasco!)
* Support Python 3.6. (333) (Thank you, Jon Dufresne!)
* Add CI support for Windows using AppVeyor. (Thank you, John Vandenberg!)
* Improve testing and CI and add code coverage (323, 334), (Thank you, Jon
Dufresne, John Vandenberg, Geoffrey Sneddon, Will Kahn-Greene!)
* Semver-compliant version number.
Bug fixes:
* Add support for setuptools < 18.5 to support environment markers. (Thank you,
John Vandenberg!)
* Add explicit dependency for six >= 1.9. (Thank you, Eric Amorde!)
* Fix regexes to work with Python 3.7 regex adjustments. (318, 379) (Thank
you, Benedikt Morbach, Ville Skyttä, Mark Vasilkov!)
* Fix alphabeticalattributes filter namespace bug. (324) (Thank you, Will
Kahn-Greene!)
* Include license file in generated wheel package. (350) (Thank you, Jon
Dufresne!)
* Fix annotation-xml typo. (339) (Thank you, Will Kahn-Greene!)
* Allow uppercase hex chararcters in CSS colour check. (377) (Thank you,
Komal Dembla, Hugo!)
### 1.0
Released and unreleased on December 7, 2017. Badly packaged release.
1.0b3
Released on July 24, 2013
* Removed ``RecursiveTreeWalker`` from ``treewalkers._base``. Any
implementation using it should be moved to
``NonRecursiveTreeWalker``, as everything bundled with html5lib has
for years.
* Fix 67 so that ``BufferedStream`` to correctly returns a bytes
object, thereby fixing any case where html5lib is passed a
non-seekable RawIOBase-like object.
### 1.0b2
Released on June 27, 2013
Removed reordering of attributes within the serializer. There is now
an alphabetical_attributes option which preserves the previous
behaviour through a new filter. This allows attribute order to be
preserved through html5lib if the tree builder preserves order.
Removed dom2sax from DOM treebuilders. It has been replaced by
treeadapters.sax.to_sax which is generic and supports any
treewalker; it also resolves all known bugs with dom2sax.
Fix treewalker assertions on hitting bytes strings on
Python 2. Previous to 1.0b1, treewalkers coped with mixed
bytes/unicode data on Python 2; this reintroduces this prior
behaviour on Python 2. Behaviour is unchanged on Python 3.
1.0b1
Released on May 17, 2013
* Implementation updated to implement the `HTML specification
<http://www.whatwg.org/specs/web-apps/current-work/>`_ as of 5th May
2013 (`SVN <http://svn.whatwg.org/webapps/>`_ revision r7867).
* Python 3.2+ supported in a single codebase using the ``six`` library.
* Removed support for Python 2.5 and older.
* Removed the deprecated Beautiful Soup 3 treebuilder.
``beautifulsoup4`` can use ``html5lib`` as a parser instead. Note that
since it doesn't support namespaces, foreign content like SVG and
MathML is parsed incorrectly.
* Removed ``simpletree`` from the package. The default tree builder is
now ``etree`` (using the ``xml.etree.cElementTree`` implementation if
available, and ``xml.etree.ElementTree`` otherwise).
* Removed the ``XHTMLSerializer`` as it never actually guaranteed its
output was well-formed XML, and hence provided little of use.
* Removed default DOM treebuilder, so ``html5lib.treebuilders.dom`` is no
longer supported. ``html5lib.treebuilders.getTreeBuilder("dom")`` will
return the default DOM treebuilder, which uses ``xml.dom.minidom``.
* Optional heuristic character encoding detection now based on
``charade`` for Python 2.6 - 3.3 compatibility.
* Optional ``Genshi`` treewalker support fixed.
* Many bugfixes, including:
* 33: null in attribute value breaks XML AttValue;
* 4: nested, indirect descendant, <button> causes infinite loop;
* `Google Code 215
<http://code.google.com/p/html5lib/issues/detail?id=215>`_: Properly
detect seekable streams;
* `Google Code 206
<http://code.google.com/p/html5lib/issues/detail?id=206>`_: add
support for <video preload=...>, <audio preload=...>;
* `Google Code 205
<http://code.google.com/p/html5lib/issues/detail?id=205>`_: add
support for <video poster=...>;
* `Google Code 202
<http://code.google.com/p/html5lib/issues/detail?id=202>`_: Unicode
file breaks InputStream.
* Source code is now mostly PEP 8 compliant.
* Test harness has been improved and now depends on ``nose``.
* Documentation updated and moved to https://html5lib.readthedocs.io/.
Coverage remained the same at 99.663% when pulling 14545e78a0fa74775e087aa12bb52c5f136be7b4 on pyup-scheduled-update-02-01-2018 into 75141f9fac0c03684081a2087481d0cba7858a59 on master.
Coverage remained the same at 99.663% when pulling 14545e78a0fa74775e087aa12bb52c5f136be7b4 on pyup-scheduled-update-02-01-2018 into 75141f9fac0c03684081a2087481d0cba7858a59 on master.
Coverage remained the same at 99.663% when pulling 14545e78a0fa74775e087aa12bb52c5f136be7b4 on pyup-scheduled-update-02-01-2018 into 75141f9fac0c03684081a2087481d0cba7858a59 on master.
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.3.0 -> 3.4.0
html5lib 0.999999999 -> 1.0.1
That's it for now!
Happy merging! 🤖