[1/2] include/wine: add option to specify the unittest target via environment variable

Stefan Leichter Stefan.Leichter at camline.com
Tue Apr 20 13:37:20 CDT 2010


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.

-- 
Bye Stefan



More information about the wine-devel mailing list