8e4800e
Fixup readmedc1efca
2.1.0 releasedd9d608
Add custom hooks specifications for overriding setup_timeout and teardown_tim...ed8ecd6
module names, they're difficult3ab4319
Add changelog4f7ebae
Replace deprecated py.io.get_terminal_width() with shutil.get_terminal_size()...b8a2fa6
Prep release951972d
Update changelog748a9c3
Making detection of whether a debugger is currently attached more flexible. (...f8a46a1
Github removed the git protocol (#112)Sourced from asgiref's changelog.
3.5.0 (2022-01-22)
Python 3.6 is no longer supported, and asyncio calls have been changed to use only the modern versions of the APIs as a result
Several causes of RuntimeErrors in cases where an event loop was assigned to a thread but not running
Speed improvements in the Local class
3.4.1 (2021-07-01)
- Fixed an issue with the deadlock detection where it had false positives during exception handling.
3.4.0 (2021-06-27)
Calling sync_to_async directly from inside itself (which causes a deadlock when in the default, thread-sensitive mode) now has deadlock detection.
asyncio usage has been updated to use the new versions of get_event_loop, ensure_future, wait and gather, avoiding deprecation warnings in Python 3.10. Python 3.6 installs continue to use the old versions; this is only for 3.7+
sync_to_async and async_to_sync now have improved type hints that pass through the underlying function type correctly.
All Websocket* types are now spelled WebSocket, to match our specs and the official spelling. The old names will work until release 3.5.0, but will raise deprecation warnings.
The typing for WebSocketScope and HTTPScope's
extensions
key has been fixed.3.3.4 (2021-04-06)
- The async_to_sync type error is now a warning due the high false negative rate when trying to detect coroutine-returning callables in Python.
3.3.3 (2021-04-06)
... (truncated)
8b61513
Releasing 3.5.0b2e1c9d
Fixed pytest_asyncio deprecation warning.2eda551
Added testing for Python 3.10.02fecb6
Drop Python 3.6 (#307)6689c0a
Added stacklevel to warning in AsyncToSync.4364f9b
Changed how StatelessServer handles event loops7bc055c
Update implementations.rst (#295)c758984
Move current_task import choice to module definition timedfe87b2
Fixed #292: Use get_event_loop in class-level codeb3a65e3
Removed class variable which has been unused since a0bbe90Sourced from pytest's releases.
7.0.0
pytest 7.0.0 (2022-02-03)
(Please see the full set of changes for this release also in the 7.0.0rc1 notes below)
Deprecations
#9488: If custom subclasses of nodes like
pytest.Item
{.interpreted-text role="class"} override the__init__
method, they should take**kwargs
. Seeuncooperative-constructors-deprecated
{.interpreted-text role="ref"} for details.Note that a deprection warning is only emitted when there is a conflict in the arguments pytest expected to pass. This deprecation was already part of pytest 7.0.0rc1 but wasn't documented.
Bug Fixes
- #9355: Fixed error message prints function decorators when using assert in Python 3.8 and above.
- #9396: Ensure
pytest.Config.inifile
{.interpreted-text role="attr"} is available during thepytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>
{.interpreted-text role="func"} hook (regression during7.0.0rc1
).Improved Documentation
- #9404: Added extra documentation on alternatives to common misuses of [pytest.warns(None)]{.title-ref} ahead of its deprecation.
- #9505: Clarify where the configuration files are located. To avoid confusions documentation mentions that configuration file is located in the root of the repository.
Trivial/Internal Changes
- #9521: Add test coverage to assertion rewrite path.
pytest 7.0.0rc1 (2021-12-06)
Breaking Changes
#7259: The
Node.reportinfo() <non-python tests>
{.interpreted-text role="ref"} function first return value type has been expanded from [py.path.local | str]{.title-ref} to [os.PathLike[str] | str]{.title-ref}.Most plugins which refer to [reportinfo()]{.title-ref} only define it as part of a custom
pytest.Item
{.interpreted-text role="class"} implementation. Since [py.path.local]{.title-ref} is a [os.PathLike[str]]{.title-ref}, these plugins are unaffacted.Plugins and users which call [reportinfo()]{.title-ref}, use the first return value and interact with it as a [py.path.local]{.title-ref}, would need to adjust by calling [py.path.local(fspath)]{.title-ref}. Although preferably, avoid the legacy [py.path.local]{.title-ref} and use [pathlib.Path]{.title-ref}, or use [item.location]{.title-ref} or [item.path]{.title-ref}, instead.
Note: pytest was not able to provide a deprecation period for this change.
... (truncated)
3554b83
Add note to changelog6ea7f99
Prepare release version 7.0.0737b220
[7.0.x] releasing: Add template for major releases (#9597)7fa3972
[7.0.x] releasing: Always set doc_version (#9590)b304499
[7.0.x] Make 'warnings' and 'deselected' in assert_outcomes optional (#9566)f17525d
[7.0.x] doc: Add ellipsis to warning usecase list (#9562)0a7be97
ci: Bump up timeout (#9565)c17908c
[7.0.x] doc: Recategorize 7.0.0 changelog items (#9564)ab549bb
[7.0.x] Add missing cooperative constructor changelog (#9563)4b1707f
[7.0.x] Autouse linearization graph (#9557)Sourced from pytest-asyncio's releases.
pytest-asyncio 0.18.0
title: 'pytest-asyncio: pytest support for asyncio'
pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.
asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.
@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res
pytest-asyncio has been strongly influenced by pytest-tornado.
Features
- fixtures for creating and injecting versions of the asyncio event loop
- fixtures for injecting unused tcp/udp ports
- pytest markers for treating tests as asyncio coroutines
- easy testing with non-default event loops
- support for [async def]{.title-ref} fixtures and async generator fixtures
- support auto mode to handle all async fixtures and tests automatically by asyncio; provide strict mode if a test suite should work with different async frameworks simultaneously, e.g.
asyncio
andtrio
.Installation
... (truncated)
07e9922
Prepare release of v0.18.0 (#282)a92d894
Relax dependency on typing-extensions (#284)e78b59d
Fix setuptools_scm configuration (#279)d8efa64
Support parametrized event_loop fixture (#278)dab3b51
Raise a warning if @​pytest
.mark.asyncio is applied to non-async function (#275)048a6ed
Code cleanup: drop 'request' argument from async fixtures (#270)4353327
Update changelogc919fd7
Remove unconditional test item attribute access (#268)39c6d0c
Update README547933d
Require typing-extensions on py<3.8 only (#269)