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@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev