https://bugs.winehq.org/show_bug.cgi?id=39244
Bug ID: 39244 Summary: sccrun:filesystem fails in the Korean locale Product: Wine Version: unspecified Hardware: x86 OS: Windows Status: NEW Severity: normal Priority: P2 Component: scrrun Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
The following failure only happens in a Korean locale, such as on the fg-win7u64-1spie9-ko WineTest box:
filesystem.c:1423: Test failed: got L"\f8f7", expected L"\f8f7?"
See: https://test.winehq.org/data/tests/scrrun:filesystem.html
https://bugs.winehq.org/show_bug.cgi?id=39244
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source, testcase
https://bugs.winehq.org/show_bug.cgi?id=39244
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |35765
https://bugs.winehq.org/show_bug.cgi?id=39244
--- Comment #1 from François Gouget fgouget@codeweavers.com --- Note that this failure also happens on the newtb-wvistau64-zh-cn TestBot VM which makes it easy to reproduce.
This Traditional Chinese VM also has two extra failures for a total of three:
filesystem.c:1530: Test failed: got L"\f8f5", expected L"\f8f5?" filesystem.c:1659: Test failed: got L"\f8f5\fa0f", 125 filesystem.c:1806: Test failed: got L"\f8f5\fa0f", expected L"\f8f5?"
See the matching source: https://source.winehq.org/git/wine.git/?a=blob;f=dlls/scrrun/tests/filesyste...
https://bugs.winehq.org/show_bug.cgi?id=39244
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|sccrun:filesystem fails in |scrrun:filesystem fails in |the Korean locale |the Korean locale
https://bugs.winehq.org/show_bug.cgi?id=39244
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|download | Summary|scrrun:filesystem fails in |scrrun:filesystem BOM tests |the Korean locale |fail in the Korean and | |Chinese locales
https://bugs.winehq.org/show_bug.cgi?id=39244
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sloper42@yahoo.com
--- Comment #2 from Robert Wilhelm sloper42@yahoo.com --- In dlls/scrrun/filesystem.c append_read_data() we check if last char in buf is IsDBCSLeadByte and move it to next read. But if last char in textstream is LeadByte, it will be ignored.
Tests behave different, we do not check for leadbyte here.
This leads to test failure because second bom byte (0xFE) is Leadbyte in e.g. CN locale.
https://bugs.winehq.org/show_bug.cgi?id=39244
--- Comment #3 from Robert Wilhelm sloper42@yahoo.com --- This is also reproducible on Linux, same results as Windows VM. Therefore I think tests need to be fixed.
$ cd dlls/scrrun/tests $ export LANG=zh_CN $ make test tools/runtest -q -P wine -T . -M scrrun.dll -p dlls/scrrun/tests/scrrun_test.exe filesystem && touch dlls/scrrun/tests/filesystem.ok 00f8:fixme:scrrun:textstream_get_AtEndOfLine (0049ED88)->(0031FDC8): stub 00f8:fixme:scrrun:textstream_get_AtEndOfLine (0049ED88)->(0031FDC8): stub filesystem.c:1529: Test failed: got L"\f8f5", expected L"\f8f5?" filesystem.c:1658: Test failed: got L"\f8f5\fa0f", 93 filesystem.c:1802: Test failed: got L"\f8f5\fa0f", expected L"\f8f5?"
https://bugs.winehq.org/show_bug.cgi?id=39244
--- Comment #4 from François Gouget fgouget@codeweavers.com --- Do you know how to fix the test?
https://bugs.winehq.org/show_bug.cgi?id=39244
--- Comment #5 from Robert Wilhelm sloper42@yahoo.com --- I plan to submit fixes for tests once my current patch https://source.winehq.org/patches/data/220837 is accepted.
filesystem.c:1529 could use same method as in this patch using ReadFile() to check contents of file.
For filesystem.c:1658: Test failed: got L"\f8f5\fa0f", 93 filesystem.c:1802: Test failed: got L"\f8f5\fa0f", expected L"\f8f5?" we have to take chars after BOM into account, because 0xfe is LeadByte in zh_CN locale.
https://bugs.winehq.org/show_bug.cgi?id=39244
--- Comment #6 from François Gouget fgouget@codeweavers.com --- Perfect!
https://bugs.winehq.org/show_bug.cgi?id=39244
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #7 from Robert Wilhelm sloper42@yahoo.com --- Patches are here:
https://source.winehq.org/patches/data/221268 https://source.winehq.org/patches/data/221269 https://source.winehq.org/patches/data/221270
https://bugs.winehq.org/show_bug.cgi?id=39244
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Regression SHA1| |b167df37776c12c6ec999973a6b | |23484b06cb0f9
--- Comment #8 from Robert Wilhelm sloper42@yahoo.com --- Patches got committed yesterday and testbot errors are gone after
https://source.winehq.org/git/wine.git/commit/b167df37776c12c6ec999973a6b234...
See https://test.winehq.org/data/835dfaab023175028161974c5cd8585b77df101c
https://bugs.winehq.org/show_bug.cgi?id=39244
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b167df37776c12c6ec999973a6b | |23484b06cb0f9 Regression SHA1|b167df37776c12c6ec999973a6b | |23484b06cb0f9 |
https://bugs.winehq.org/show_bug.cgi?id=39244
--- Comment #9 from François Gouget fgouget@codeweavers.com --- Looks good. Thanks for the patches.
https://bugs.winehq.org/show_bug.cgi?id=39244
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.0-rc1.