150 test failures. advapi32 test crashes.

Dan Kegel dank at kegel.com
Mon Nov 8 07:20:48 CST 2004

Dan Kegel wrote:
>I pulled down sources from CVS this morning, and tried
>running the regression tests.  There are about 150 failures.
 >$ grep "Test failed" log | sed 's/:.*//' | uniq -c | sort
 >       1 filtergraph.c
 >       1 rsaenh.c
 >       1 shelllink.c
 >       1 shreg.c
 >       2 typelib.c
 >       4 capture.c
 >       4 wave.c
 >       6 dsound8.c
 >       6 dsound.c
 >       7 vartype.c
 >       8 path.c
 >      15 crypt.c
 >      43 metafile.c
 >      51 shellpath.c

Thanks to suggestions from Dmitry Timoshkov, Michael Jung, and Michael Stefaniuc,
I'm down to only 66 or so unexplained failures now.
I also discovered a bug in GetTempFileName.

I rebooted into single-processor mode out of paranoia,
wiped my .wine directory, and reran.  Here's the new summary:

       2 typelib.c
     397 path.c
      43 metafile.c
      45 shellpath.c
       4 capture.c
       4 wave.c
       6 dsound8.c
       7 vartype.c
So that fixed the dsound, filtergraph, rsaenh, shelllink, shreg, and crypt problems
(guess stale registries are pretty dangerous; we do seem to need versioning...).

The typelib failures are, according to the test failure message,
due to the lack of a copy of stdole32.tlb.

The metafile failures were all due to having no TrueType fonts installed.
Downloading and running
fixed them.

The path failures are all due to t: not existing; when I create
it by hand, those 397 errors go away.
It sounds very much like the startup code that creates c: and z: needs
to also create a t: drive!

I'll look at the rest of the failures later.  I did notice a new bug, though:
GetTempFileName doesn't fail if T: doesn't exist!  Here's the evidence:

The first reported error in path is
path.c:355: Test failed: Couldn't delete the temporary file we just created
but, looking at the output of +all, I see the real first problem is
not caught:
0009: create_file( access=40000000, inherit=0, sharing=00000000, create=2, options=00000050, attrs=00000080, filename="/home/dank/.wine/dosdevices/t:/pat4e0.tmp" )
0009: create_file() = NO_SUCH_FILE { handle=(nil) }
0009:trace:heap:RtlFreeHeap (0x401f0000,00000002,40200bd8): returning TRUE
0009:Ret  ntdll.NtCreateFile() retval=c000000f ret=40356581
0009:warn:file:CreateFileW Unable to create file L"T:\\pat4e0.tmp" (status c000000f)
0009:Call ntdll.RtlNtStatusToDosError(c000000f) ret=403565f5
0009:Ret  ntdll.RtlNtStatusToDosError() retval=00000002 ret=403565f5
0009:Call ntdll.RtlFreeUnicodeString(407af548) ret=4035660d
0009:trace:heap:RtlFreeHeap (0x401f0000,00000002,40200ba0): returning TRUE
0009:Ret  ntdll.RtlFreeUnicodeString() retval=00000001 ret=4035660d
0009:trace:file:CreateFileW returning 0xffffffff
0009:trace:file:GetTempFileNameW returning L"T:\\pat4e0.tmp"

- Dan

Trying to get a job as a c++ developer?  See http://kegel.com/academy/getting-hired.html

More information about the wine-devel mailing list