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.
Details:

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
http://prdownloads.sourceforge.net/corefonts/courie32.exe
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



Reply via email to