Eric Pouech pouech-eric@wanadoo.fr writes:
The output redirection didn't work from a GUI app: the libc streams weren't initialized and thus the output disappeared. Wouldn't DETACHED_PROCESS result the same? It's not crucial for winetest itself, but making it a console app helped debugging tremendously.
I think the stream (handle) point of view worked, but somehow msvcrt doesn't initialize stdin/err/out when the app is in GUI mode.
Pretty much so. The output simply didn't appear, even if the GUI app was started from a console. No errors here.
It may work if the app would close 0,1,2 and reopen them on standard handles
Do you mean StdHandles a la Windows? I'm not sure a GUI app has them. Even if it had, there's no way to convert them into libc handles or streams AFAIK.
In short, I've got the impression that things are working out now (by using some black magic -- ie. winetest being a CUI -- which I don't understand), so maybe we could simply leave it for now. Or do I miss serious issues?
the only point is that we don't have a consistent basis across platforms were we start the tests from:
- all tests programs are CUI exec
- but, we don't know if it's attached to a console or not
A CLI program is attached to a console unless created with fancy flags, isn't it? Presently I only ask for the window to be hidden, nothing else.
- if attached to a console, we don't know whether other
processes are outputting to the same console (which could impact the tests...)
I never thought of this. If this really can be a problem, we must solve it, thanks for bringing it up. However I seem to recall that the console test pops up a separate console, so maybe isn't affected after all. Other test shouldn't care... But I will soon look into this (may take a couple of days, though).