"Jakob Eriksson" jakov@vmlinux.org wrote:
Seems the test fails in non-interactive mode without this patch.
No, the problem seems to be related to a window's visibility. Windows does not play EMF records if the DC was created for a not visible window.
A lot of other tests fail due to exactly that problem: user32/win.c and user32/msg.c are the examples.
The question is what makes the tests create invisible windows? Does winetest run as a service on a not visible desktop? Anything else?
"Dmitry Timoshkov" dmitry@baikal.ru writes:
The question is what makes the tests create invisible windows? Does winetest run as a service on a not visible desktop? Anything else?
Winrash, which invokes winetest in most of the cases, is a service process running on an invisible desktop. Winetest itself can happily run on the real visible desktop, it's just people seldom run it that way (ie. directly).
"Ferenc Wagner" wferi@afavant.elte.hu wrote:
Winrash, which invokes winetest in most of the cases, is a service process running on an invisible desktop. Winetest itself can happily run on the real visible desktop, it's just people seldom run it that way (ie. directly).
Then we need either instruct people to not run the tests from the service or completely remove that possibility altogether.
Dmitry Timoshkov wrote:
"Ferenc Wagner" wferi@afavant.elte.hu wrote:
Winrash, which invokes winetest in most of the cases, is a service process running on an invisible desktop. Winetest itself can happily run on the real visible desktop, it's just people seldom run it that way (ie. directly).
Then we need either instruct people to not run the tests from the service or completely remove that possibility altogether.
Or check the option to "allow service to interact with desktop". But I'd rather see that as many tests as possible can be run from the service as is. There are many APIs out there which do not use a desktop and if we loose the winrash testers we lose maybe 90% of the test reports.
regards, Jakob
Jakob Eriksson jakob@vmlinux.org writes:
Dmitry Timoshkov wrote:
"Ferenc Wagner" wferi@afavant.elte.hu wrote:
Winrash, which invokes winetest in most of the cases, is a service process running on an invisible desktop. Winetest itself can happily run on the real visible desktop, it's just people seldom run it that way (ie. directly).
Then we need either instruct people to not run the tests from the service or completely remove that possibility altogether.
Or check the option to "allow service to interact with desktop".
Is that a service option or what? I don't really know anything about Windows services. If you can fix this issue in winrash please do so.
But I'd rather see that as many tests as possible can be run from the service as is. There are many APIs out there which do not use a desktop and if we loose the winrash testers we lose maybe 90% of the test reports.
I really wonder what share of the reports come from winrash instances, but I don't think you underestimate it. Removing this possibility would hardly buy anything for us, but a flag similar to bRunningUnderWine could be added indeed. Just patch it into winetest or send me some code and I will do the gruntwork.
Ferenc Wagner wrote:
Jakob Eriksson jakob@vmlinux.org writes:
Dmitry Timoshkov wrote:
"Ferenc Wagner" wferi@afavant.elte.hu wrote:
Winrash, which invokes winetest in most of the cases, is a service process running on an invisible desktop. Winetest itself can happily run on the real visible desktop, it's just people seldom run it that way (ie. directly).
Then we need either instruct people to not run the tests from the service or completely remove that possibility altogether.
Or check the option to "allow service to interact with desktop".
Is that a service option or what? I don't really know anything about Windows services. If you can fix this issue in winrash please do so.
You can allow any service in the (Control Panel -> Services) services list to interact with the desktop. Some need it, some don't. But if we enable it by default for winrash, then people will see the test windows, get their explorer.exe restarted and so on a daily basis. Just like it happens on Win9x. Maybe a detterent to NT-based testers, I know I would be a bit annoyed if that happened to my workstation.
But I'd rather see that as many tests as possible can be run from the service as is. There are many APIs out there which do not use a desktop and if we loose the winrash testers we lose maybe 90% of the test reports.
I really wonder what share of the reports come from winrash instances, but I don't think you underestimate it. Removing this possibility would hardly buy anything for us, but a flag similar to bRunningUnderWine could be added indeed. Just patch it into winetest or send me some code and I will do the gruntwork.
I'll look into it... I think it will have to be a winrash install option. Or just educate people to "allow winrash service to interact with desktop". I'll try it on my Win2k, id JakobErikssonBW, to see if the tests run any differently.
Anyway, what I really meant was that it would be beneficial if the wine regression tests didn't fail, but quitted silently if they ran without a desktop. That way at least all the non desktop APIs would get tested, without cluttering the web report with errors.
regards, Jakob