Hello!
I was showing a little bit of schadenfreude on #winehackers that Alexandre has now failing Wine tests on his brand new computer. So I thought to do a full run of the Wine tests on my machine and report the errors. Maybe Alexandre will fix this bugs too ;) while at it.
Test setup: - 3 GHz P4 with HT enabled - FC6 up2date box, self baked kernel (2.6.20.14 SMP) - GeForce FX 5200 with NVidia binary driver 1.0-9746 - EMU10k1 SB Live sound card - Out of source tree build wine and installed (make install).
Running the tests: make testclean rm -rf ~/.wine wineprefixcreate make test When a test fails, run it a second time and if it still fails manually touch the offending *.ok file and run make test again. While make test was running I didn't touch the keyboard or the mouse.
Results: Not as bad as I thought: "officially" only 3 files with failing tests. But there is one test that crashes, winedebug is run automatically, does a backtrace and returns with return code 0 thus make won't detect it as error: /home/michi/work/wine/tools/runtest -q -P wine -M mshtml.dll -T ../../.. -p mshtml_test.exe.so /home/michi/work/wine/dlls/mshtml/tests/dom.c && touch dom.ok Could not load Mozilla. HTML rendering will be disabled. wine: Unhandled page fault on read access to 0x00000000 at address 0x604e9914 (thread 0023), starting debugger... Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x604e9914). ... Backtrace: =>1 0x604e9914 test_doc_elem+0xd4(doc=0x165468) [/home/michi/work/wine/dlls/mshtml/tests/dom.c:66] in mshtml_test (0x0033fdf8) ...
The "normal" test failures:
/home/michi/work/wine/tools/runtest -q -P wine -M comctl32.dll -T ../../.. -p comctl32_test.exe.so /home/michi/work/wine/dlls/comctl32/tests/monthcal.c && touch monthcal.ok monthcal.c:773: Test succeeded inside todo block: Expected 65536, got 65536 make[2]: *** [monthcal.ok] Error 1
/home/michi/work/wine/tools/runtest -q -P wine -M gdi32.dll -T ../../.. -p gdi32_test.exe.so /home/michi/work/wine/dlls/gdi32/tests/font.c && touch font.ok font.c:1574: Test failed: A: tmDefaultChar for Goha-Tibeb Zemen 20 != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f make[2]: *** [font.ok] Error 10
/home/michi/work/wine/tools/runtest -q -P wine -M user32.dll -T ../../.. -p user32_test.exe.so /home/michi/work/wine/dlls/user32/tests/msg.c && touch msg.ok msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0104 was expected, but got msg 0x0021 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0104 was expected, but got msg 0x0021 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0201 was expected, but got msg 0x0104 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0201 was expected, but got msg 0x0104 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0202 was expected, but got msg 0x0201 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0202 was expected, but got msg 0x0201 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0105 was expected, but got msg 0x0202 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg 0x0105 was expected, but got msg 0x0202 instead msg.c:5878: Test failed: Alt+MouseButton press/release: the msg sequence is not complete: expected 0000 - actual 0105 make[2]: *** [msg.ok] Error 9
bye michael
On Thu, 5 Jul 2007, Michael Stefaniuc wrote: [...]
But there is one test that crashes, winedebug is run automatically, does a backtrace and returns with return code 0 thus make won't detect it as error: /home/michi/work/wine/tools/runtest -q -P wine -M mshtml.dll -T ../../.. -p mshtml_test.exe.so /home/michi/work/wine/dlls/mshtml/tests/dom.c && touch dom.ok Could not load Mozilla. HTML rendering will be disabled. wine: Unhandled page fault on read access to 0x00000000 at address 0x604e9914 (thread 0023), starting debugger... Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x604e9914). ... Backtrace: =>1 0x604e9914 test_doc_elem+0xd4(doc=0x165468) [/home/michi/work/wine/dlls/mshtml/tests/dom.c:66] in mshtml_test (0x0033fdf8) ...
Yes, that's pretty bad. I'd need to be able to detect Wine crashes too and this is preventing it. On Windows it seems the process exit code is set to the exception code, typically 0xc0000005.
[...]
/home/michi/work/wine/tools/runtest -q -P wine -M gdi32.dll -T ../../.. -p gdi32_test.exe.so /home/michi/work/wine/dlls/gdi32/tests/font.c && touch font.ok font.c:1574: Test failed: A: tmDefaultChar for Goha-Tibeb Zemen 20 != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f font.c:1574: Test failed: A: tmDefaultChar for Lucida Sans Typewriter ff != 0x1f
I've looked into this one too and it's a big can of worms. Essentially Windows does not always trust the OS/2 TTF table so that the tmDefaultChar, tmFirstChar and tmLastChar Wine returns don't always match what Windows returns. Also some rules used by the test are incorrect (like tmLastChar == 0xf0ff for symbol fonts).
Unfortunately I've had to go back to other things and I'm about to lose my internet connection for a while. So I'm not sure when I'll be able to finish this and submit patches...
Just for reference, here's my list of 'make test' failures. I'm not saying they are all worthy of investigation, but at least if you're getting these errors too, then you know you're not alone...
../../../tools/runtest -q -P wine -M advpack.dll -T ../../.. -p advpack_test.exe.so files.c && touch files.ok files.c:178: Test failed: Expected ini file to not be hidden files.c:179: Test failed: Expected ini contents to not match files.c:180: Test failed: Expected path to not exist files.c:186: Test failed: Expected ini file to be hidden files.c:188: Test failed: Expected path to exist
../../../tools/runtest -q -P wine -M d3d8.dll -T ../../.. -p d3d8_test.exe.so visual.c && touch visual.ok visual.c:316: Test failed: Clear rectangle 3(pos, neg) has color 00ff0000 visual.c:318: Test failed: Clear rectangle 1(pos, pos) has color 00ffffff visual.c:508: Test failed: Present failed: Got color 0x00ffffff, expected 0x00ff0000.
../../../tools/runtest -q -P wine -M ddraw.dll -T ../../.. -p ddraw_test.exe.so visual.c && touch visual.ok visual.c:341: Test failed: Clear rectangle 3(pos, neg) has color 00ff0000 visual.c:343: Test failed: Clear rectangle 1(pos, pos) has color 00ffffff
../../../tools/runtest -q -P wine -M dsound.dll -T ../../.. -p dsound_test.exe.so dsound.c && touch dsound.ok dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x2 WAVE_FORMAT_PCM) failed: E_FAIL dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x16x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x16x2 WAVE_FORMAT_PCM) failed: E_FAIL dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x2 WAVE_FORMAT_PCM) failed: E_FAIL dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x16x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound.c:567: Test failed: IDirectSoundBuffer_SetFormat(96000x16x2 WAVE_FORMAT_PCM) failed: E_FAIL
../../../tools/runtest -q -P wine -M dsound.dll -T ../../.. -p dsound_test.exe.so dsound8.c && touch dsound8.ok dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x2 WAVE_FORMAT_PCM) failed: E_FAIL dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x16x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x16x2 WAVE_FORMAT_PCM) failed: E_FAIL dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x 8x2 WAVE_FORMAT_PCM) failed: E_FAIL dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x16x1 WAVE_FORMAT_PCM) failed: E_FAIL dsound8.c:600: Test failed: IDirectSoundBuffer_SetFormat(96000x16x2 WAVE_FORMAT_PCM) failed: E_FAIL
../../../tools/runtest -q -P wine -M gdi32.dll -T ../../.. -p gdi32_test.exe.so font.c && touch font.ok I've hacked this one too much to report the results.
../../../tools/runtest -q -P wine -M user32.dll -T ../../.. -p user32_test.exe.so msg.c && touch msg.ok msg.c:8995: Test failed: 13: ShowWindow(SW_SHOWNOACTIVATE): in msg 0x0047 expecting wParam 0x8070 got 0x9072 msg.c:8995: Test failed: 13: ShowWindow(SW_SHOWNOACTIVATE): the msg 0x0003 was expected, but got msg 0x0005 instead msg.c:8995: Test failed: 13: ShowWindow(SW_SHOWNOACTIVATE): the msg sequence is not complete: expected 0005 - actual 0000 msg.c:4934: Test failed: InvalidateErase: in msg 0x0085 expecting wParam 0x1 got 0x266c msg.c:4947: Test failed: InvalidateErase: in msg 0x0085 expecting wParam 0x1 got 0x26e4