On 8 November 2010 04:45, Austin Lund austin.lund@gmail.com wrote:
On 8 November 2010 11:49, James McKenzie jjmckenzie51@earthlink.net wrote:
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.
Isn't the rule that the tests should only check windows versions before testing behaviour if that is what applications to a similar thing, otherwise the test isn't required?
The rule is not to check Windows version, but to infer the DLL version (e.g. by checking for methods only available in newer versions of Windows). That way, installing a new version of shlwapi.dll via Internet Explorer on older systems does not break those tests.
In this case, the older behaviour is deprecated, so at least needs a:
todo_wine ok(broken(hr == S_OK) /* <= Vista */ || hr == E_FAIL /* Win7 */, ...)
or the test case needs to be removed (as different versions of Windows have conflicting behaviour, so applications cannot rely on either).
If an application requires this to work the test should be:
ok(hr == S_OK /* Required by SomeApp */ || broken(hr == E_FAIL) /* Win7 */, ...)
- Reece