-
-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
bpo-40784: Fix sqlite3 deterministic test #20448
Conversation
Co-authored-by: Victor Stinner <vstinner@python.org>
Maybe if would be safer to run tests on buildbots to check more SQLite versions, before merging this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM if CI pass. As I wrote, it sounds worth it to spawn buildbots tests on this PR.
@erlend-aasland: Please stop touching your PR :-) So we can run more tests (buildbots are likely to use more various SQLite versions).
Oh, it may also help if someone could test manually with SQLite 3.32. |
Already did that, and it passes! 3.32.1 FWIW |
Cool. Thanks! |
Yeah, the Ubuntu job of Azure Pipelines fails. It uses "sqlite3.sqlite_version: 3.11.0" according to its test.pythoninfo. Test failure:
Honestly, I don't think that we should test the error message. Please simply remove the test the error message. IMHO excepting an exception is enough. |
Right. Deterministic functions were allowed in partial indices in sqlite v3.15.0 (2016-10-14). I'll find another way of testing this, then.
Agreed. Error messages are likely to change between versions. |
@vstinner I suggest just keeping the old tests for SQLite pre v3.15.0. From the sqlite release history:
Seven minor versions later:
I'll push the change right away. |
Thank you! |
Thank you, @encukou! |
Some failures might not be related to this change. |
AMD64 Fedora Stable Clang Installed PR, PPC64LE Fedora Stable Clang Installed PR and s390x Fedora Clang Installed PR and x86 Gentoo Installed with X PR failed because of https://bugs.python.org/issue38488 regression (setuptools/chmod) which is unrelated. AMD64 FreeBSD Non-Debug PR failures (test_asyncio, test_venv) are unrelated. AMD64 Windows8.1 Refleaks PR failure (test_socket) is unrelated. |
(this comment is unrelated to test_sqlite)
I reverted the change which introduced this issue: see https://bugs.python.org/issue38488
test_asyncio: test_sock_client_racing() failed, see https://bugs.python.org/issue30064. I created #20485 (merged) to skip the test. The test_venv is also related to https://bugs.python.org/issue38488 that I reverted: I created https://bugs.python.org/issue40808
This one looks like a combo:
|
Thanks for the review, @berkerpeksag & @vstinner ! |
Thanks for the PR! |
Thanks @erlend-aasland for the PR, and @berkerpeksag for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9. |
Thanks @erlend-aasland for the PR, and @berkerpeksag for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8. |
GH-20512 is a backport of this pull request to the 3.8 branch. |
(cherry picked from commit c610d97) Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
GH-20513 is a backport of this pull request to the 3.9 branch. |
Thanks for fixing the encoding/copyright line ;-) |
bpo-40784: Fix sqlite3 deterministic test (pythonGH-20448) (cherry picked from commit c610d97) (cherry picked from commit 00a240b) Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* 'master' of github.com:python/cpython: (497 commits) bpo-40061: Fix a possible refleak in _asynciomodule.c (pythonGH-19748) bpo-40798: Generate a different message for already removed elements (pythonGH-20483) closes bpo-29017: Update the bindings for Qt information with PySide2 (pythonGH-20149) bpo-39885: Make IDLE context menu cut and copy work again (pythonGH-18951) bpo-29882: Add an efficient popcount method for integers (python#771) Further de-linting of zoneinfo module (python#20499) bpo-40780: Fix failure of _Py_dg_dtoa to remove trailing zeros (pythonGH-20435) Indicate that abs() method accept argument that implement __abs__(), just like call() method in the docs (pythonGH-20509) bpo-39040: Fix parsing of email mime headers with whitespace between encoded-words. (pythongh-17620) bpo-40784: Fix sqlite3 deterministic test (pythonGH-20448) bpo-30064: Properly skip unstable loop.sock_connect() racing test (pythonGH-20494) Note the output ordering of combinatoric functions (pythonGH-19732) bpo-40474: Updated coverage.yml to better report coverage stats (python#19851) bpo-40806: Clarify that itertools.product immediately consumes its inpt (pythonGH-20492) bpo-1294959: Try to clarify the meaning of platlibdir (pythonGH-20332) bpo-37878: PyThreadState_DeleteCurrent() was not removed (pythonGH-20489) bpo-40777: Initialize PyDateTime_IsoCalendarDateType.tp_base at run-time (pythonGH-20493) bpo-40755: Add missing multiset operations to Counter() (pythonGH-20339) bpo-25920: Remove socket.getaddrinfo() lock on macOS (pythonGH-20177) bpo-40275: Fix test.support.threading_helper (pythonGH-20488) ...
SQLite 3.38 introduced some breaking changes in Python 3.8.3 tests. This is fixed by a patch for now (patch merged upstream) python/cpython#20448
https://bugs.python.org/issue40784