https://bugs.winehq.org/show_bug.cgi?id=47787
Bug ID: 47787 Summary: Path maniplation bug in cpython 3.5/3.6 but not 3.7 Product: Wine Version: 4.16 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: zzhang@codeweavers.com Distribution: ---
Bug reported by Sebastian M. Ernst on wine-devel mail list.
Found one more odd thing and it might be closely related (if not the same bug). I tested different versions of CPython for Windows on Wine 4.14 and noticed that pytest (a Python test library) was somehow broken on CPython 3.5 and 3.6 but not on CPython 3.7. It can also be traced back to path manipulation:
# CPython 3.5.4 user@comp:/path/to/target> wine python.exe -c "from pathlib import Path; print(Path('.').resolve())" Traceback (most recent call last): File "<string>", line 1, in <module> File "pathlib.py", line 1109, in resolve File "pathlib.py", line 186, in resolve FileNotFoundError: [WinError 2] Datei nicht gefunden: '.'
# CPython 3.6.3 user@comp:/path/to/target> wine python.exe -c "from pathlib import Path; print(Path('.').resolve())" .
# CPython 3.7.4 user@comp:/path/to/target> wine python.exe -c "from pathlib import Path; print(Path('.').resolve())" Z:\path\to\target
CPython 3.7 is correctly resolving the path '.' while CPython 3.5 and 3.6 fail in different ways. All three examples work correctly on Windows 10. "Datei nicht gefunden" translates to "file not found".
If any one wants to take this bug. Please assign it. Thanks.