GSoC Idea: Tools - Winetest Scripting Interface

Zhenbo Li litimetal at gmail.com
Mon Mar 7 09:12:47 CST 2016


2016-03-07 4:38 GMT+08:00 Henri Verbeet <hverbeet at gmail.com>:
>>>> With improved wine test suite, her workflow can be
>>>> 1. Edit graphics driver
>>>> 2. wine_test_suite --test_dll d3dx9_36 d3d9 d3d8 etc. --output result.txt
>>>> 3. Edit graphics driver again
>>>> 4. wine_test_suite --test_dll d3dx9_36 d3d9 d3d8 etc. --compare result.txt
>>>> And the script will tell Alice whether she had introduced, or fixed a bug.
>>>>
>>> winetest can do this.
>>>
>>
>> Do you mean setting the filter in winetest?
>>
> To stick with the example, you'd do something like
>     winetest -c -t <tag> -m <email> -o result.txt d3dx9_36 d3d9 d3d8 etc.
>

So we can do

winetest -c -t <tag> -m <email> -o result_with_old_driver.txt d3dx9_36
d3d9 d3d8 etc.
blah...
winetest -c -t <tag> -m <email> -o result_with_new_driver.txt d3dx9_36
d3d9 d3d8 etc.

Then compare these two results with external tools(like diff or vimdiff)

Or do you have a better solution for this need?

>> This sounds good. A straight approach is to scan Makefile.in, and
>> generate a dependence tree from IMPORT and DELAYIMPORTS. However, I'm
>> wondering how to handle the dynamic dependencies. For example, in
>> dlls/mshtml/xmlhttprequest.c, we have
>>     hres = CoCreateInstance(&CLSID_DOMDocument, NULL,
>> CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument, (void**)&xmldoc);
>> And the development for msxml really affected mshtml.dll's behavior.
>>
> Yeah, that would be a problem. (Provided we care about those. For
> Direct3D it's generally not an issue.)

Will it be too complicated if we allow developers to declare dynamic
dependency manually?
For example, I can add a line
## DEPENDENCY msxml3
in dlls/mshtml/Makefile.in
to declare that mshtml.dll will depend on msxml3.dll dynamically.

Also, we need to handle the redirection in spec file. For example,
almost all the function calls for d3dx9_* are redirected to
d3dx9_36.dll



-- 
Have a nice day!
Zhenbo Li



More information about the wine-devel mailing list