-
-
Notifications
You must be signed in to change notification settings - Fork 402
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
No CI for Python 3.10 yet #2274
Comments
Is there a reason not to just update to pytest 7? It seems to mostly work on 3.10, save 10 of these:
|
Those are pretty weird ones. WTF? |
Yeah, no idea. I tried to dig into it but got confused trying to figure out how sopel tests |
It sounds similar to what people were describing in that issue I linked, where pytest rewrites stuff it shouldn't or otherwise gets confused by namespaces. They seem to think it's |
Same errors on python 3.9.2 / pytest 7.1.2 though 🤔 |
🤔 Maybe we should ask @Exirel to take a look? He wrote the pytest plugin that generates/handles the |
@half-duplex I dug around a bit and to me the errors seem monkeypatch-related. There aren't any notable (again, to me) changes to that part of pytest though, not since 6.2.x, so idk why it's broken. Nonetheless, that breakage doesn't appear to be py3.10-related. Upgrading to |
Something something pytest support nose, and it considers any Long story short: use |
We (OK, mostly @Exirel) pinned down a way to get the tests working on Python 3.10 and pytest 7: diff --git a/setup.cfg b/setup.cfg
index b64a8e4b..c3df75a1 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -69,5 +69,5 @@ show_error_codes = True
[tool:pytest]
python_files = *.py
-addopts = --tb=short
+addopts = --tb=short -p no:nose
norecursedirs = contrib That should let us upgrade pytest, add Python 3.10 to CI, and finally resolve the conflict that has kept this from happening sooner between "new pytest breaks stuff" and "old pytest is broken on 3.10". The short story is, pytest added new behavior treating any module-level function named Said |
Tin. We've still not enabled a CI job for Python 3.10 because of various errors encountered along the way while attempting to do so.
Ultimately, the cause is probably related to pytest-dev/pytest#9174, an issue that was closed but it seems not confirmed fixed. Uncertainty remains as to whether fixing this problem is up to the pytest team or the core Python developers. It looks like a regression (breaking something that worked in Python 3.9 and prior versions) but it appears to be taking longer to sort out than the
argparse
stuff we dealt with a while back.While we believe Sopel should run just fine on Python 3.10 in most cases, it's not currently possible to test Sopel on that version.
Log from last attempt (CPython 3.10.4, pytest 6.2.5
The text was updated successfully, but these errors were encountered: