I'm not really sure how to submit this collection of patches. Some patches are interdependent of each other but I think you can work this out. Furthermore I'm not sure you will accept everything either so you will probaly have to cut and paste what you want anyway. Take care though and read each description as well as patch carefully. But perhaps I should explain why I did this: Well, I think it is better to just do say "use kernel 32;" and have everything work than to have to do some awkward defintion of each function. Better let and automatic script spec2pm handle this. Another point is that current winetest makes a difference between interger scalars and string scalars that are very confusing for Perl programmers since few (if any) functions make any difference between them (they are there primarily for execution speed). Therefore I had to extract some more information from the .spec files to fix this. Anyway I think you will understand what everything do, whether you like it or not is a different issue... A sidenote, winetest-modules.diff och winetest-tests.diff are primarily examples on how things work with the better calling interface and need not be applied nothing really depends on them. ---8<--- *** winetest * programs/winetest/wine.pm: Added the possibillity (it is optional for backward compabillity) to specify argument types in order to fix a "bug" concerning integer/string scalars. It will probably be useful for other things in the future as well like rejecting wrong number of arguments, currently it only warns about it. *** winetest-runtest * programs/winetest/runtest: Always test the builtin DLL in runtest regardless of the setting in ~/.wine/config. *** winetest-spec2pm * tools/winapi/spec2pm: Added new utillity spec2pm for automatically generating a Perl module for each DLL. *** winetest-make * Make.rules.in: - Added rules for spec2pm and new version of runtest. - Fixed bug in winebuild dependencies. *** winetest-modules * dlls/imm32/.cvsignore, dlls/imm32/imm32.pm, dlls/kernel/.cvsignore, dlls/kernel/kernel32.pm, dlls/user/.cvsignore, dlls/user/user32.pm: Added Perl modules for some of the DLL to add or override things that can't be, or is too complicated to be, correctly automatically generated by spec2pm. *** winetest-tests * dlls/imm32/Makefile.in, dlls/imm32/imm32.pl, dlls/kernel/Makefile.in, dlls/kernel/atom.pl, dlls/kernel/last_error.pl, dlls/user/Makefile.in, dlls/user/keyboard.pl: Added a few new tests using the new framework.
Attachment:
winetest-make.diff
Description: Binary data
Attachment:
winetest-modules.diff
Description: Binary data
Attachment:
winetest-modules.tar
Description: Binary data
Attachment:
winetest-runtest.diff
Description: Binary data
Attachment:
winetest-spec2pm.tar
Description: Binary data
Attachment:
winetest-tests.diff
Description: Binary data
Attachment:
winetest-tests.tar
Description: Binary data
Attachment:
winetest.diff
Description: Binary data