shell32/tests: Fix IShellFolderView test failure under Windows 7.

James McKenzie jjmckenzie51 at
Sun Nov 7 19:49:24 CST 2010

On 11/7/10 6:41 PM, David Hedberg wrote:
> On Mon, Nov 8, 2010 at 01:22, Vitaliy Margolen<wine-devel at>  wrote:
>>> -    ok(hr == S_OK, "got (0x%08x)\n", hr);
>>> +    ok(hr == S_OK || hr == E_FAIL /* Win7 */, "got (0x%08x)\n", hr);
>> This can't be correct. It either works or it fails. Can't be both at the
>> same time. You should look into why it's failing on Win7 and correct the
>> test so it succeeds.
> I guess it makes the test a bit less useful for catching any errors,
> but reading between the lines at msdn makes me suspect that passing
> NULL for the pidl here simply doesn't work under Windows 7. I just
> tried the same thing on a IShellFolderView created from the windows
> directory and it gave the same result (still the default shellview I
> guess).
> Assuming for the moment that this is indeed the only result you'd ever
> get, should I find a way to skip it on windows 7 or mark one of the
> results as broken? I don't quite see either alternative as very
> helpful in this case, but I might be wrong.
Just my .02 USD (in other words, 2 cents) as a long term QA person, not 
as a Wine Developer.  A test should not fail unless that is the desired 
result.  However, marking an existing test as having new failure 
condition is not correct.  Now, it may be true that the test passes up 
to and including Windows2008 but now fails on Windows7.  Thus a second 
test case needs to be developed that is only for Windows7 and the 
remaining test skipped for Windows7.   Something like what we do for 
Unicode tests for Windows9x/ME.  This is not the first test that a 
failure will be a pass on Windows7 where a failure is not desired on 
prior versions of Windows.

Unfortunately, I don't know what to do at this point, but maybe there is 
a new function that exists only in Windows7 for shell32 that can be used 
for the test.

James McKenzie

More information about the wine-devel mailing list