[ros-dev] Let's push winetests farther!

Timo Kreuzer timo.kreuzer at web.de
Thu Jul 23 07:50:22 EDT 2009


Hi,

Some dlls cannot be properly tested on Window. These are:

ntdll: it uses direct systemcalls and the system call numbers would need
to match the windows system you test it on. If you are very lucky you
could find one version of win2k3 that matches our syscalls, but I
wouldn't bet on that.

kernel32: it's communication with csrss is not Windows compatible. We
would have to fix (rewrite) our csrss, something that would requite lots
of work. And noone loves csrss. (We accept patches. ;-))

gdi32: It loads and partly works on Windows XP, as the handle manager
win32k syscall numbers are now mostly XP compatible. I'm not sure
whether this is still true, as there were some changes recently and I
don't know on what Windows version those were based. But the winetest
results are a desaster, it even fails CreateDC.

user32: Doesn't work, for a lot of reasons. user32 is a major user of
kernel<->usermode shared data. Our data structures are not anywhere like
Windows ones and probably will never be 100%. Same for the handle
manager. Also incompatible is communication with csrss again and several
syscalls that are incompatible to Windows. And finally we don't
(didn't?) properly initialize the kernel callbacks, making it crash on
systemcalls.That may actually be fixed by Jim's recent commits.

Btw: what are the results you sent? kernel32 on windows XP? I wonder how
you managed to get any console output as that wouldn't work with our
kernel32 on Windows. For me it doesn't load, even with your patch.
WinDbg shows the following debug message:

"output-i386\modules\rostests\winetests\kernel32\kernel32.dll
(dll\win32\kernel32\misc\dllmain.c:203) CSR Failed to give us a console"

So I guess you made a mistake ;-)

Regards,
Timo

Jérôme Gardou wrote:
> As you all know, reactos is tested against the wine test suite. While
> this is a great tool, I think this is not enough to be sure that
> ReactOS is fully tested.
>
> I've been trying to fix some kernel32 tests. As you all know, in
> ReactOS it is written on top of ntdll. So I wanted to fix some tests,
> and then a question arose : is it that kernel32 calls ntdll the wrong
> way, or is it that ntdll does the wrong job? The only way to verify
> this would be to test kernel32.dll out of reactOS, meaning replacing
> the windows one with the reactos one, and run the test.
>
> To be brief : I think that a weekly "reactos dlls against windows"
> test would be very helpful to be sure that things are done the right way!
>
> I began with the kernel32:file winetest. I managed to not make it
> crash when used on winXP, the resulting patch is there :
> http://www.reactos.org/bugzilla/show_bug.cgi?id=4728 and the result of
> this test is attached there. As miracles happen, it also fixes some
> tests on ReactOS. Seems like this is a good approach.
>
> Jérôme Gardou (aka zefklop on IRC and forums)
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-dev/attachments/20090723/5bc11096/attachment.htm 


More information about the Ros-dev mailing list