[ros-dev] idea to a test frame work and other changes to win32k

Magnus Olsen magnus at greatlord.com
Sun Sep 2 17:30:12 CEST 2007


Hi
I am thinking of doing this adding a header call ntuser.h
and put it in include/reactos/../ that contain all ntuser* syscall prototypes

next thing we need a good test frame work betwin gdi32.dll and win32k.sys 
so we can check all param from gdi32 comes down to win32k are correct 
or captuers ms gdi32.dll  to achive this so easy as posible 
I am thinking of adding a new config value or define value for win32k
that will always test the input data is correct. 

example 

INT
STDCALL
NtGdiExtEscape(HDC hDC,
                         IN OPTIONAL PWCHAR pDriver,
                         IN INT nDriver,
                         INT Escape,
                         INT InSize,
                         OPTIONAL LPSTR UnsafeInData,
                         INT OutSize,
                         OPTIONAL LPSTR UnsafeOutData)
{
    PDC pDC;
    LPVOID SafeInData = NULL;
    LPVOID SafeOutData = NULL;
    NTSTATUS Status = STATUS_SUCCESS;
    INT Result;

    #if gdi32_testing_on
    test_NtGdiExtEscape(...);   
    #endif
...
...
}

test will testing see if the data should have been sent or not to win32k and vaildate everthing. 
and if any error detects it print out a DPRINT1 msg 
DPRINT1("Testing start");
DPRINT1("Status : fail");
DPRINT1("Status : why :");
DPRINT1("Testing end");
or
DPRINT1("Testing start");
DPRINT1("Status : Sussess");
DPRINT1("Testing end");

it is like this I want adding to win32k and thuse build in test case. 


I hope you all have understanding of good testcase and testframe buildin that can be easy disable and activate.
ofcures the testframe should not be in debug build. we maybe should create a complete new target for it as well
so public can get hold of it easy.





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-dev/attachments/20070902/51283360/attachment.html 


More information about the Ros-dev mailing list