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