Closed SnoopJ closed 11 months ago
~After clarifying with @dgw, this seems to happen with Ubuntu 20.04's Python 3.8.10 specifically (i.e. this does not reproduce in a freshly-installed 3.8.10 via pyenv
). We may have just stumbled on a Debian-ism~
Scratch that, it does reproduce, we both missed a silly mistake in the attempted reproduction.
Furthermore, the issue does not occur in 3.8.18 for either of us. Still unclear what's going on.
3.8.10 reproduces, and 3.8.18 (the latest available maintenance release of Python 3.8) does not. Python's "What's New" section says that the security feature this failing test checks was added in 3.8.14.
Maybe we can close this with a note in the OP to "update your Python" if a user runs into this while running tests for some reason? Sopel 8 claims support for Python 3.8+, sure, but we kind of have to assume users will stay up-to-date within each release series. Even 3.8.14 is almost 14 months old at this point.
Nice find. It'd be nice if the test could be skipped on that version, but I can live with "simply don't do that" being the resolution here since 3.8 is not long for this world anyway, and the offending version is pretty old. It'll be annoying for any Debian/Ubuntu users running the affected versions who want to run the test, but not insurmountable. We are, after all, the main people who run the tests.
I suppose it's important to mention that Ubuntu 20.04 is probably the most popular distro release out there with Python 3.8 as the default, and it ships 3.8.10. There are about 18 months left of mainline support on that particular LTS, but "Ubuntu Pro" subscribers will get security updates until 2030.
But we can still most likely just say "don't do that". This only affects developers running the test suite; users merely running the bot might see different behavior, but the difference is non-critical (just changes which error you see when) and won't crash anything.
Description
Starting with d9b6a74,
test_example_roll_4
fails for me locally with Python 3.8:The failure is consistent and does not occur on the parent commit:
Assigning to @dgw since he wrote #2532
Reproduction steps
Checkout d9b6a74, run
python3.8 -m pytest -k "test_example_roll_4"
Expected behavior
The test should behave the same locally as it does in CI.
Relevant logs
No response
Notes
No response
Sopel version
d9b6a74f
Installation method
pip install
Python version
3.8
Operating system
Ubuntu 20.04
IRCd
No response
Relevant plugins
dice