You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I build CPython 3.13.5 on my Linux workstation in my home directory, test_sqlite3 fails. If I build CPython 3.13.5 in /tmp, test_sqlite3 works fine. My /home partition uses ZFS, which is somewhat rare, so I'm betting that's why it fails for me.
I ran the test using
% ./python -m test -v test_sqlite3
Here's the output of that program when run in my home directory.
It appears that undecodable paths are not supported on ZFS. Could it be your current locale or your fs config that only accepts ASCII chars?
It might also be on our side where we should skip tests on filesystems that don't support wide characters in filenames (it appears that we can create the file but we can't delete it for some reason so it could also be an issue with unlink itself or the way we cleanup resources).
I may suspect that there is maybe a PyUnicode_DecodeFS() call that doesn't work. What are the other tests that are failing? are they failing for similar reasons?
Activity
brianschubert commentedon Jul 4, 2025
I'm getting an error page for the attached output file. Could you try re-uploading or adding the output inline in a
<details>block?larryhastings commentedon Jul 4, 2025
Sure, here's just the errors part of the log.
picnixz commentedon Jul 5, 2025
It appears that undecodable paths are not supported on ZFS. Could it be your current locale or your fs config that only accepts ASCII chars?
It might also be on our side where we should skip tests on filesystems that don't support wide characters in filenames (it appears that we can create the file but we can't delete it for some reason so it could also be an issue with unlink itself or the way we cleanup resources).
I may suspect that there is maybe a PyUnicode_DecodeFS() call that doesn't work. What are the other tests that are failing? are they failing for similar reasons?
oskar-skog commentedon Jul 5, 2025
Related: #81765
I don't think this is a locale issue, it appears that ZFS can be configured to not allow invalid UTF-8 in filenames.
emmatyping commentedon Jul 5, 2025
Yeah, zfs has
normalizationandutf8onlyproperties (https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#normalization), which limit the filenames to only valid utf8 sequences. I am a bit surprised that the test suite would be able to create a file in this mode that it couldn't read.StanFromIreland commentedon Jul 5, 2025
We have had issues like this before (#133677).
I am unable to reproduce even with my filesystem encoding as ascii.
From this comment it appears it is possible, on Windows at least.
cpython/Lib/test/support/os_helper.py
Lines 125 to 129 in 5dac137
cc @serhiy-storchaka
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…
serhiy-storchaka commentedon Jul 5, 2025
Please test #136326.
gh-136289: Fix test_sqlite3 on platforms with strict UTF-8 filesystem (…
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…
larryhastings commentedon Jul 7, 2025
Tested. It works great for me,
test_sqlite3now passes all tests. Thanks, Serhiy![3.13] gh-136289: Fix test_sqlite3 on platforms with strict UTF-8 fil…
[3.14] gh-136289: Fix test_sqlite3 on platforms with strict UTF-8 fil…
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…
pythongh-136289: Fix test_sqlite3 on platforms with strict UTF-8 file…