[PATCH 1/3 resend] setupapi/tests: Change return values from coinst functions.

Zebediah Figura z.figura12 at gmail.com
Fri Jul 24 11:09:46 CDT 2020



On 7/24/20 11:08 AM, Jeff Smith wrote:
> On Fri, Jul 24, 2020 at 9:53 AM Zebediah Figura <z.figura12 at gmail.com> wrote:
>>
>> On 7/24/20 9:34 AM, Jeff Smith wrote:
>>> As co_error and class_error both return 0xdeadbeef, use of 0xdeadbeef as
>>> a canary value as well can lead to ambiguous tests results.
>>>
>>> As 0xdeadbeef is a typical canary value in wine, change the return
>>> values for co_error and class_error, avoiding the potential ambiguity.
>>
>> Is there a reason why we can't just use a different canary value in 2/3?
> 
> Technically, that would work as well, and that is what I did in the original
> version of this patchset.  There was an objection raised though.
> While I'm not strongly attached to one way or the other, I could see the
> point of using deadbeef for the canary, and returning a different value
> from co_error/class_error, as done in this patchset.

I think that objection was rather specious. If nothing else, I don't
think E_FAIL is a very good canary value.

> 
>>> Signed-off-by: Jeff Smith <whydoubt at gmail.com>
>>> ---
>>> Patches 2 and 3 will work without patch 1.  This patch just makes tests
>>> marginally more precise if an error does get caught.
>>>
>>>  dlls/setupapi/tests/coinst.c  |  4 ++--
>>>  dlls/setupapi/tests/devinst.c | 10 +++++-----
>>>  2 files changed, 7 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/dlls/setupapi/tests/coinst.c b/dlls/setupapi/tests/coinst.c
>>> index 5e8d890cfa5..604bf74d1eb 100644
>>> --- a/dlls/setupapi/tests/coinst.c
>>> +++ b/dlls/setupapi/tests/coinst.c
>>> @@ -47,7 +47,7 @@ DWORD WINAPI class_default(DI_FUNCTION function, HDEVINFO set, SP_DEVINFO_DATA *
>>>
>>>  DWORD WINAPI class_error(DI_FUNCTION function, HDEVINFO set, SP_DEVINFO_DATA *device)
>>>  {
>>> -    return 0xdeadbeef;
>>> +    return E_FAIL;
>>>  }
>>>
>>>  DWORD WINAPI co_success(DI_FUNCTION function, HDEVINFO set, SP_DEVINFO_DATA *device,
>>> @@ -67,5 +67,5 @@ DWORD WINAPI CoDeviceInstall(DI_FUNCTION function, HDEVINFO set, SP_DEVINFO_DATA
>>>  DWORD WINAPI co_error(DI_FUNCTION function, HDEVINFO set, SP_DEVINFO_DATA *device,
>>>          COINSTALLER_CONTEXT_DATA *context)
>>>  {
>>> -    return 0xdeadbeef;
>>> +    return E_FAIL;
>>>  }
>>> diff --git a/dlls/setupapi/tests/devinst.c b/dlls/setupapi/tests/devinst.c
>>> index d4c82dea1f6..80abc44029c 100644
>>> --- a/dlls/setupapi/tests/devinst.c
>>> +++ b/dlls/setupapi/tests/devinst.c
>>> @@ -2727,17 +2727,17 @@ static void test_class_installer(void)
>>>
>>>      ret = SetupDiCallClassInstaller(DIF_ALLOW_INSTALL, set, &device);
>>>      ok(!ret, "Expected failure.\n");
>>> -    ok(GetLastError() == 0xdeadbeef, "Got unexpected error %#x.\n", GetLastError());
>>> +    ok(GetLastError() == E_FAIL, "Got unexpected error %#x.\n", GetLastError());
>>>
>>>      ok(!device_is_registered(set, &device), "Expected device not to be registered.\n");
>>>      ret = SetupDiCallClassInstaller(DIF_REGISTERDEVICE, set, &device);
>>>      ok(!ret, "Expected failure.\n");
>>> -    ok(GetLastError() == 0xdeadbeef, "Got unexpected error %#x.\n", GetLastError());
>>> +    ok(GetLastError() == E_FAIL, "Got unexpected error %#x.\n", GetLastError());
>>>      ok(!device_is_registered(set, &device), "Expected device not to be registered.\n");
>>>
>>>      ret = SetupDiCallClassInstaller(DIF_REMOVE, set, &device);
>>>      ok(!ret, "Expected failure.\n");
>>> -    ok(GetLastError() == 0xdeadbeef, "Got unexpected error %#x.\n", GetLastError());
>>> +    ok(GetLastError() == E_FAIL, "Got unexpected error %#x.\n", GetLastError());
>>>      ok(!device_is_registered(set, &device), "Expected device not to be registered.\n");
>>>
>>>      SetupDiDestroyDeviceInfoList(set);
>>> @@ -2875,12 +2875,12 @@ static void test_class_coinstaller(void)
>>>
>>>      ret = SetupDiCallClassInstaller(DIF_ALLOW_INSTALL, set, &device);
>>>      ok(!ret, "Expected failure.\n");
>>> -    ok(GetLastError() == 0xdeadbeef, "Got unexpected error %#x.\n", GetLastError());
>>> +    ok(GetLastError() == E_FAIL, "Got unexpected error %#x.\n", GetLastError());
>>>
>>>      ok(!device_is_registered(set, &device), "Expected device not to be registered.\n");
>>>      ret = SetupDiCallClassInstaller(DIF_REGISTERDEVICE, set, &device);
>>>      ok(!ret, "Expected failure.\n");
>>> -    ok(GetLastError() == 0xdeadbeef, "Got unexpected error %#x.\n", GetLastError());
>>> +    ok(GetLastError() == E_FAIL, "Got unexpected error %#x.\n", GetLastError());
>>>      ok(!device_is_registered(set, &device), "Expected device not to be registered.\n");
>>>
>>>      SetupDiDestroyDeviceInfoList(set);
>>>
>>
>>
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20200724/6f09e820/attachment-0001.sig>


More information about the wine-devel mailing list