Most common winetest failures on wine

Paul Vriens paul.vriens.wine at gmail.com
Mon May 19 12:43:38 CDT 2008


Dan Kegel wrote:
> Thanks to everybody who responded to Jeremy's call
> to run winetest using the 'dotests' script at
>    http://wiki.winehq.org/MakeTestFailures
> 
> We now have 35 reports, and have some good data on
> which test failures are common.  See the
> Most Common Failures section at the bottom.
> Here's what it says right now:
> 
> The skipgood script above now also tallies tests by how many people
> they fail for. Currently, it shows:
> 
> 35 shell32:shelllink
> 32 user32:msg
> 16 user32:input
> 14 ntdll:info
> 13 d3d9:visual
> 10 user32:win
> 8 ddraw:visual
> 7 urlmon:protocol
> 5 gdi32:font
> 4 winmm:wave
> 3 d3d9:query urlmon:url wininet:url
> 2 comctl32:tooltips ddraw:dsurface msxml3:domdoc quartz:referenceclock
> wininet:http
> 1 d3d8:visual d3d9:device dinput:device dsound:ds3d dsound:ds3d8
> dsound:dsound ...
> 
> Let's ignore the tests that only fail for one person for the moment,
> and look at the others.
> 
> shell32:shelllink fails on all winetest reports from all machines,
> including on real Windows. Yet "make test" in shell32 succeeds on this
> test. Could somebody have a look at why it reliably fails under
> winetest? I filed this as bug 13311.
> 

I had a look at this one.

The problem as far as I can see lies with the fact that when we run 'make 
shelllink.ok' we eventually end up in UNIXFS_build_shitemid (shfldr_unixfs.c) 
where the trace shows:

trace:shell:UNIXFS_build_shitemid 
(pszUnixPath="/wine/wine-git/dlls/shell32/tests/shell32_test.exe", pIDL=0x12793a)

This shell32_test.exe doesn't exist (it's shell32_test.exe.so).

So when you do (in the test directory):

ln -s shell32_test.exe.so shell32_test.exe
rm shelllink.ok
make shelllink.ok

You will see the exact same errors as with winetest.

Winetest unpacks all it's executables in a temp directory and in this case (for 
me on the last run) it's showing in the trace:

trace:shell:UNIXFS_build_shitemid 
(pszUnixPath="/tmp/wctSkl1EH/shell32_test.exe", pIDL=0x127712)

And that file really exists.

So I guess this issue is with this piece of code in shfldr_unixfs.c:

  509     /* We are only interested in regular files and directories. */
  510     if (stat(pszUnixPath, &fileStat)) return NULL;

Now we only need a solution :-)

-- 
Cheers,

Paul.



More information about the wine-devel mailing list