Am Tuesday 20 April 2010 07:59:22 schrieb Paul Vriens:
On 04/19/2010 11:44 PM, Stefan Leichter wrote:
include/wine/test.h | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
Hi Stefan,
What's the idea/thought behind this (or what problem are you trying to solve)?
Hi Paul,
the problem is the "command line parsing" of ShellExecuteEx, see bug19666 (http://bugs.winehq.org/show_bug.cgi?id=19666#c3).
When a directory contains two executables where the name of the first, without extension, is the leading part of the name of the second and the second file have a blank at the position where the first file has the dot, wine implementation of ShellExecuteEx starts the first executable when the name of the second given to ShellExecuteEx.
If a unittest call the second executable via ShellExecuteEx, the first executable is started and the test target is the trailing part of the filename including the extension. This causes a test failure because the test target does not exist.
Example: test file.exe test file two.exe
Builtin ShellExecuteEx starts always "test file.exe". If "test file two.exe" was passed as name to be ShellExecuteEx argv[1] will be "two.exe".
To get around this problem and make a valid unittest without fixing the problem, i looked for another way to pass the test target to the executable.
Finaly to perform the same flow as the program in bug 19666 does, ShellExecuteEx needs to be called without any parameter.