Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test suite fails with pytest 8 #647

Open
simotek opened this issue Aug 29, 2024 · 2 comments
Open

Test suite fails with pytest 8 #647

simotek opened this issue Aug 29, 2024 · 2 comments

Comments

@simotek
Copy link

simotek commented Aug 29, 2024

On openSUSE Tumbleweed when we try and run the test suite, we are seeing failures with the following errors.

[   24s] ==================================== ERRORS ====================================
[   24s] ___________ ERROR at setup of TestAsyncMessages.test_basic_response ____________
[   24s] /usr/lib/python3.10/site-packages/pytest_asyncio/plugin.py:758: in pytest_fixture_setup
[   24s]     warnings.warn(
[   24s] E   DeprecationWarning: The event_loop fixture provided by pytest-asyncio has been redefined in
[   24s] E   /home/abuild/rpmbuild/BUILD/anthropic-0.33.1/tests/conftest.py:20
[   24s] E   Replacing the event_loop fixture with a custom implementation is deprecated
[   24s] E   and will lead to errors in the future.
[   24s] E   If you want to request an asyncio event loop with a scope other than function
[   24s] E   scope, use the "scope" argument to the asyncio mark when marking the tests.
[   24s] E   If you want to return different types of event loops, use the event_loop_policy
[   24s] E   fixture.
[   24s] 
[   24s] During handling of the above exception, another exception occurred:
[   24s] /usr/lib/python3.10/site-packages/_pytest/runner.py:341: in from_call
[   24s]     result: TResult | None = func()
[   24s] /usr/lib/python3.10/site-packages/_pytest/runner.py:242: in <lambda>
[   24s]     lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[   24s] /usr/lib/python3.10/site-packages/pluggy/_hooks.py:513: in __call__
[   24s]     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[   24s] /usr/lib/python3.10/site-packages/pluggy/_manager.py:120: in _hookexec
[   24s]     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[   24s] /usr/lib/python3.10/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_setup
[   24s]     yield from unraisable_exception_runtest_hook()
[   24s] /usr/lib/python3.10/site-packages/_pytest/unraisableexception.py:70: in unraisable_exception_runtest_hook
[   24s]     yield
[   24s] /usr/lib/python3.10/site-packages/_pytest/logging.py:842: in pytest_runtest_setup
[   24s]     yield from self._runtest_for(item, "setup")
[   24s] /usr/lib/python3.10/site-packages/_pytest/logging.py:831: in _runtest_for
[   24s]     yield
[   24s] /usr/lib/python3.10/site-packages/_pytest/capture.py:874: in pytest_runtest_setup
[   24s]     return (yield)
[   24s] /usr/lib/python3.10/site-packages/_pytest/threadexception.py:87: in pytest_runtest_setup
[   24s]     yield from thread_exception_runtest_hook()
[   24s] /usr/lib/python3.10/site-packages/_pytest/threadexception.py:68: in thread_exception_runtest_hook
[   24s]     yield
[   24s] /usr/lib/python3.10/site-packages/_pytest/runner.py:160: in pytest_runtest_setup
[   24s]     item.session._setupstate.setup(item)
[   24s] /usr/lib/python3.10/site-packages/_pytest/runner.py:514: in setup
[   24s]     col.setup()
[   24s] /usr/lib/python3.10/site-packages/_pytest/python.py:1630: in setup
[   24s]     self._request._fillfixtures()
[   24s] /usr/lib/python3.10/site-packages/_pytest/fixtures.py:696: in _fillfixtures
[   24s]     item.funcargs[argname] = self.getfixturevalue(argname)
[   24s] /usr/lib/python3.10/site-packages/_pytest/fixtures.py:531: in getfixturevalue
[   24s]     fixturedef = self._get_active_fixturedef(argname)
[   24s] /usr/lib/python3.10/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef
[   24s]     fixturedef.execute(request=subrequest)
[   24s] /usr/lib/python3.10/site-packages/_pytest/fixtures.py:1090: in execute
[   24s]     result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
[   24s] /usr/lib/python3.10/site-packages/pluggy/_hooks.py:513: in __call__
[   24s]     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[   24s] /usr/lib/python3.10/site-packages/pluggy/_manager.py:120: in _hookexec
[   24s]     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[   24s] /usr/lib/python3.10/site-packages/pluggy/_callers.py:50: in _warn_teardown_exception
[   24s]     warnings.warn(PluggyTeardownRaisedWarning(msg), stacklevel=5)
[   24s] E   pluggy.PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown.
[   24s] E   Plugin: asyncio, Hook: pytest_fixture_setup
[   24s] E   DeprecationWarning: The event_loop fixture provided by pytest-asyncio has been redefined in
[   24s] E   /home/abuild/rpmbuild/BUILD/anthropic-0.33.1/tests/conftest.py:20
[   24s] E   Replacing the event_loop fixture with a custom implementation is deprecated
[   24s] E   and will lead to errors in the future.
[   24s] E   If you want to request an asyncio event loop with a scope other than function
[   24s] E   scope, use the "scope" argument to the asyncio mark when marking the tests.
[   24s] E   If you want to return different types of event loops, use the event_loop_policy
[   24s] E   fixture.
[   24s] E   
[   24s] E   For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning
[   24s] _ ERROR at teardown of test_extract_type_var_generic_subclass_different_ordering_multiple _
[   24s] /usr/lib/python3.10/site-packages/pytest_asyncio/plugin.py:815: in _close_event_loop
[   24s]     warnings.warn(
[   24s] E   DeprecationWarning: pytest-asyncio detected an unclosed event loop when tearing down the event_loop
[   24s] E   fixture: <_UnixSelectorEventLoop running=False closed=False debug=False>
[   24s] E   pytest-asyncio will close the event loop for you, but future versions of the
[   24s] E   library will no longer do so. In order to ensure compatibility with future
[   24s] E   versions, please make sure that:
[   24s] E       1. Any custom "event_loop" fixture properly closes the loop after yielding it
[   24s] E       2. The scopes of your custom "event_loop" fixtures do not overlap
[   24s] E       3. Your code does not modify the event loop in async fixtures or tests
[   24s] =================================== FAILURES ===================================
[   24s] _______________ TestAnthropic.test_proxies_option_is_deprecated ________________
[   24s] tests/test_client.py:700: in test_proxies_option_is_deprecated
[   24s]     with pytest.warns(
[   24s] E   DeprecationWarning: The 'proxies' argument is now deprecated. Use 'proxy' or 'mounts' instead.
[   24s] _____________ TestAsyncAnthropic.test_proxies_option_is_deprecated _____________
[   24s] tests/test_client.py:1588: in test_proxies_option_is_deprecated
[   24s]     with pytest.warns(
[   24s] E   DeprecationWarning: The 'proxies' argument is now deprecated. Use 'proxy' or 'mounts' instead.
[   24s] =========================== short test summary info ============================
[   24s] FAILED tests/test_client.py::TestAnthropic::test_proxies_option_is_deprecated
[   24s] FAILED tests/test_client.py::TestAsyncAnthropic::test_proxies_option_is_deprecated
[   24s] ERROR tests/lib/streaming/test_messages.py::TestAsyncMessages::test_basic_response
[   24s] ERROR tests/test_utils/test_typing.py::test_extract_type_var_generic_subclass_different_ordering_multiple
[   24s] =================== 2 failed, 318 passed, 2 errors in 7.63s ====================
@simotek
Copy link
Author

simotek commented Aug 29, 2024

In our case we are now using the following to suppress the error

Index: anthropic-0.33.1/pyproject.toml
===================================================================
--- anthropic-0.33.1.orig/pyproject.toml
+++ anthropic-0.33.1/pyproject.toml
@@ -142,7 +142,8 @@ addopts = "--tb=short"
 xfail_strict = true
 asyncio_mode = "auto"
 filterwarnings = [
-  "error"
+  "error",
+  "ignore::DeprecationWarning",
 ]

@RobertCraigie
Copy link
Collaborator

RobertCraigie commented Aug 29, 2024

Out of curiosity is there any reason why you aren't using the same dependency versions we are? e.g. you could pip install -r requirements-dev.lock in the root of this repo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants