Release history¶
pytest-trio 0.8.0 (2022-11-01)¶
Features¶
If a test raises an
ExceptionGroup
(or nestedExceptionGroup
s) with only a single ‘leaf’ exception frompytest.xfail()
orpytest.skip()
, we now unwrap it to have the desired effect on Pytest.ExceptionGroup
s with two or more leaf exceptions, even of the same type, are not changed and will be treated as ordinary test failures.See pytest-dev/pytest#9680 for design discussion. This feature is particularly useful if you’ve enabled the new strict_exception_groups=True option. (#104)
Bugfixes¶
Fix an issue where if two fixtures are being set up concurrently, and one crashes and the other hangs, then the test as a whole would hang, rather than being cancelled and unwound after the crash. (#120)
Misc¶
Trio 0.22.0 deprecated
MultiError
in favor of the standard-library (or backported)ExceptionGroup
type;pytest-trio
now usesExceptionGroup
exclusively and therefore requires Trio 0.22.0 or later. (#128)Dropped support for end-of-life Python 3.6, and the
async_generator
library necessary to support it, and started testing on Python 3.10 and 3.11. (#129)
pytest-trio 0.7.0 (2020-10-15)¶
Features¶
Support added for alternative Trio run functions via the
trio_run
configuration variable and@pytest.mark.trio(run=...)
. Presently supports Trio and QTrio. (#105)
Deprecations and Removals¶
Python 3.5 support removed. (#96)
pytest-trio 0.6.0 (2020-05-20)¶
Features¶
Incompatible change: if you use
yield
inside a Trio fixture, and theyield
gets cancelled (for example, due to a background task crashing), then theyield
will now raisetrio.Cancelled
. See An important note about yield fixtures for details. Also, in this same case, pytest-trio will now reliably mark the test as failed, even if the fixture doesn’t go on to raise an exception. (#75)Updated for compatibility with Trio v0.15.0.
pytest-trio 0.5.2 (2019-02-13)¶
Features¶
pytest-trio now makes the Trio scheduler deterministic while running inside a Hypothesis test. Hopefully you won’t see any change, but if you had scheduler-dependent bugs Hypothesis will be more effective now. (#73)
Updated for compatibility with trio v0.11.0.
pytest-trio 0.5.1 (2018-09-28)¶
Bugfixes¶
The pytest 3.8.1 release broke pytest-trio’s handling of trio tests defined as class methods. We fixed it again. (#64)
pytest-trio 0.5.0 (2018-08-26)¶
This is a major release, including a rewrite of large portions of the internals. We believe it should be backwards compatible with existing projects. Major new features include:
“trio mode”: no more writing
@pytest.mark.trio
everywhere!it’s now safe to use nurseries inside fixtures (#55)
new
@trio_fixture
decorator to explicitly mark a fixture as a trio fixturea number of easy-to-make mistakes are now caught and raise informative errors
the
nursery
fixture is now 87% more magical
For more details, see the manual. Oh right, speaking of which: we finally have a manual! You should read it.
pytest-trio 0.4.2 (2018-06-29)¶
Features¶
pytest-trio now integrates with Hypothesis to support
@given
on async tests using Trio. (#42)
pytest-trio 0.4.1 (2018-04-14)¶
No significant changes.
pytest-trio 0.4.0 (2018-04-14)¶
Fix compatibility with trio 0.4.0 (#25)
pytest-trio 0.3.0 (2018-01-03)¶
Features¶
Add
nursery
fixture and improve teardown handling for yield fixture (#25)
pytest-trio 0.2.0 (2017-12-15)¶
Heavy improvements, add async yield fixture, fix bugs, add tests etc. (#17)
Deprecations and Removals¶
Remove unused_tcp_port{,_factory} fixtures (#15)
pytest-trio 0.1.1 (2017-12-08)¶
Disable intersphinx for trio (cause crash in CI for the moment due to 404 in readthedoc).
pytest-trio 0.1.0 (2017-12-08)¶
Initial release.