[PATCH v2 0/5] MR266: iphlpapi/tests: Add win98+ API tests
Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com> -- v2: iphlpapi/tests: Add more tests for interface identifier conversion failure. iphlpapi/tests: Factor out interface identifier conversion with invalid parameters. iphlpapi/tests: Add tests for GetBestInterfaceEx. iphlpapi/tests: Add tests for GetBestRoute. iphlpapi/tests: Add tests for GetBestInterface. https://gitlab.winehq.org/wine/wine/-/merge_requests/266
From: Jinoh Kang <jinoh.kang.kr(a)gmail.com> Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com> --- dlls/iphlpapi/tests/iphlpapi.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/dlls/iphlpapi/tests/iphlpapi.c b/dlls/iphlpapi/tests/iphlpapi.c index 214256c18b4..af5450f3ab7 100644 --- a/dlls/iphlpapi/tests/iphlpapi.c +++ b/dlls/iphlpapi/tests/iphlpapi.c @@ -1457,9 +1457,32 @@ static void testGetNetworkParams(void) } } +static void testGetBestInterface(void) +{ + DWORD apiReturn; + DWORD bestIfIndex; + + apiReturn = GetBestInterface( INADDR_ANY, &bestIfIndex ); + trace( "GetBestInterface([0.0.0.0], {%lu}) = %lu\n", bestIfIndex, apiReturn ); + if (apiReturn == ERROR_NOT_SUPPORTED) + { + skip( "GetBestInterface is not supported\n" ); + return; + } + + apiReturn = GetBestInterface( INADDR_LOOPBACK, NULL ); + ok( apiReturn == ERROR_INVALID_PARAMETER, + "GetBestInterface([127.0.0.1], NULL) returned %lu, expected %d\n", + apiReturn, ERROR_INVALID_PARAMETER ); + + apiReturn = GetBestInterface( INADDR_LOOPBACK, &bestIfIndex ); + ok( apiReturn == NO_ERROR, + "GetBestInterface([127.0.0.1], {%lu}) returned %lu, expected %d\n", + bestIfIndex, apiReturn, NO_ERROR ); +} + /* still-to-be-tested 98-onward functions: -GetBestInterface GetBestRoute IpReleaseAddress IpRenewAddress @@ -1469,6 +1492,7 @@ static DWORD CALLBACK testWin98Functions(void *p) testGetInterfaceInfo(); testGetAdaptersInfo(); testGetNetworkParams(); + testGetBestInterface(); return 0; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/266
This merge request was approved by Alexandre Julliard. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/266
From: Jinoh Kang <jinoh.kang.kr(a)gmail.com> Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com> --- dlls/iphlpapi/tests/iphlpapi.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/dlls/iphlpapi/tests/iphlpapi.c b/dlls/iphlpapi/tests/iphlpapi.c index af5450f3ab7..9890df70e0e 100644 --- a/dlls/iphlpapi/tests/iphlpapi.c +++ b/dlls/iphlpapi/tests/iphlpapi.c @@ -1481,9 +1481,32 @@ static void testGetBestInterface(void) bestIfIndex, apiReturn, NO_ERROR ); } +static void testGetBestRoute(void) +{ + DWORD apiReturn; + MIB_IPFORWARDROW bestRoute; + + apiReturn = GetBestRoute( INADDR_ANY, 0, &bestRoute ); + trace( "GetBestRoute([0.0.0.0], 0, [...]) = %lu\n", apiReturn ); + if (apiReturn == ERROR_NOT_SUPPORTED) + { + skip( "GetBestRoute is not supported\n" ); + return; + } + + apiReturn = GetBestRoute( INADDR_ANY, 0, NULL ); + ok( apiReturn == ERROR_INVALID_PARAMETER, + "GetBestRoute([0.0.0.0], 0, NULL) returned %lu, expected %d\n", + apiReturn, ERROR_INVALID_PARAMETER ); + + apiReturn = GetBestRoute( INADDR_LOOPBACK, 0, &bestRoute ); + ok( apiReturn == NO_ERROR, + "GetBestRoute([127.0.0.1], 0, NULL) returned %lu, expected %d\n", + apiReturn, NO_ERROR ); +} + /* still-to-be-tested 98-onward functions: -GetBestRoute IpReleaseAddress IpRenewAddress */ @@ -1493,6 +1516,7 @@ static DWORD CALLBACK testWin98Functions(void *p) testGetAdaptersInfo(); testGetNetworkParams(); testGetBestInterface(); + testGetBestRoute(); return 0; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/266
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=117412 Your paranoid android. === w8 (32 bit report) === iphlpapi: iphlpapi.c:1635: Test failed: expected 2636, got 2688 iphlpapi.c:1639: Test failed: expected ERROR_SUCCESS got 111
From: Jinoh Kang <jinoh.kang.kr(a)gmail.com> Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com> --- dlls/iphlpapi/tests/iphlpapi.c | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/dlls/iphlpapi/tests/iphlpapi.c b/dlls/iphlpapi/tests/iphlpapi.c index 9890df70e0e..19a4005e9f0 100644 --- a/dlls/iphlpapi/tests/iphlpapi.c +++ b/dlls/iphlpapi/tests/iphlpapi.c @@ -1481,6 +1481,62 @@ static void testGetBestInterface(void) bestIfIndex, apiReturn, NO_ERROR ); } +static void testGetBestInterfaceEx(void) +{ + DWORD apiReturn; + DWORD bestIfIndex = 0; + struct sockaddr_in destAddr; + + memset(&destAddr, 0, sizeof(struct sockaddr_in)); + destAddr.sin_family = AF_INET; + destAddr.sin_addr.S_un.S_addr = INADDR_ANY; + apiReturn = GetBestInterfaceEx( (struct sockaddr *)&destAddr, &bestIfIndex ); + trace( "GetBestInterfaceEx([0.0.0.0], {%lu}) = %lu\n", bestIfIndex, apiReturn ); + if (apiReturn == ERROR_NOT_SUPPORTED) + { + skip( "GetBestInterfaceEx not supported\n" ); + return; + } + + apiReturn = GetBestInterfaceEx( NULL, NULL ); + ok( apiReturn == ERROR_INVALID_PARAMETER, + "GetBestInterfaceEx(NULL, NULL) returned %lu, expected %d\n", + apiReturn, ERROR_INVALID_PARAMETER ); + + apiReturn = GetBestInterfaceEx( NULL, &bestIfIndex ); + ok( apiReturn == ERROR_INVALID_PARAMETER, + "GetBestInterfaceEx(NULL, {%lu}) returned %lu, expected %d\n", + bestIfIndex, apiReturn, ERROR_INVALID_PARAMETER ); + + memset(&destAddr, 0, sizeof(struct sockaddr_in)); + apiReturn = GetBestInterfaceEx( (struct sockaddr *)&destAddr, NULL ); + ok( apiReturn == ERROR_INVALID_PARAMETER, + "GetBestInterfaceEx(<AF_UNSPEC>, NULL) returned %lu, expected %d\n", + apiReturn, ERROR_INVALID_PARAMETER ); + + memset(&destAddr, -1, sizeof(struct sockaddr_in)); + apiReturn = GetBestInterfaceEx( (struct sockaddr *)&destAddr, NULL ); + ok( apiReturn == ERROR_INVALID_PARAMETER, + "GetBestInterfaceEx(<INVALID>, NULL) returned %lu, expected %d\n", + apiReturn, ERROR_INVALID_PARAMETER ); + + memset(&destAddr, 0, sizeof(struct sockaddr_in)); + destAddr.sin_family = AF_INET; + destAddr.sin_addr.S_un.S_addr = INADDR_LOOPBACK; + apiReturn = GetBestInterfaceEx( (struct sockaddr *)&destAddr, NULL ); + ok( apiReturn == ERROR_INVALID_PARAMETER, + "GetBestInterfaceEx([127.0.0.1], NULL) returned %lu, expected %d\n", + apiReturn, ERROR_INVALID_PARAMETER ); + + memset(&destAddr, 0, sizeof(struct sockaddr_in)); + destAddr.sin_family = AF_INET; + destAddr.sin_addr.S_un.S_addr = INADDR_LOOPBACK; + apiReturn = GetBestInterfaceEx( (struct sockaddr *)&destAddr, &bestIfIndex ); + ok( apiReturn == NO_ERROR, + "GetBestInterfaceEx([127.0.0.1], {%lu}) returned %lu, expected %d\n", + bestIfIndex, apiReturn, ERROR_INVALID_PARAMETER ); +} + static void testGetBestRoute(void) { DWORD apiReturn; @@ -1516,6 +1572,7 @@ static DWORD CALLBACK testWin98Functions(void *p) testGetAdaptersInfo(); testGetNetworkParams(); testGetBestInterface(); + testGetBestInterfaceEx(); testGetBestRoute(); return 0; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/266
From: Jinoh Kang <jinoh.kang.kr(a)gmail.com> These tests call conversion functions with fixed parameter, and thus can be taken out of the adapter enumeration loop. Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com> --- dlls/iphlpapi/tests/iphlpapi.c | 109 ++++++++++++++++++++------------- 1 file changed, 65 insertions(+), 44 deletions(-) diff --git a/dlls/iphlpapi/tests/iphlpapi.c b/dlls/iphlpapi/tests/iphlpapi.c index 19a4005e9f0..098806a9bae 100644 --- a/dlls/iphlpapi/tests/iphlpapi.c +++ b/dlls/iphlpapi/tests/iphlpapi.c @@ -2087,9 +2087,6 @@ static void test_interface_identifier_conversion(void) MIB_IF_ROW2 *row = table->Table + i; /* ConvertInterfaceIndexToLuid */ - ret = ConvertInterfaceIndexToLuid( 0, NULL ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - memset( &luid, 0xff, sizeof(luid) ); ret = ConvertInterfaceIndexToLuid( 0, &luid ); ok( ret == ERROR_FILE_NOT_FOUND, "got %lu\n", ret ); @@ -2103,12 +2100,6 @@ static void test_interface_identifier_conversion(void) ok( luid.Value == row->InterfaceLuid.Value, "mismatch\n" ); /* ConvertInterfaceLuidToIndex */ - ret = ConvertInterfaceLuidToIndex( NULL, NULL ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - - ret = ConvertInterfaceLuidToIndex( NULL, &index ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - ret = ConvertInterfaceLuidToIndex( &luid, NULL ); ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); @@ -2117,9 +2108,6 @@ static void test_interface_identifier_conversion(void) ok( index == row->InterfaceIndex, "mismatch\n" ); /* ConvertInterfaceLuidToGuid */ - ret = ConvertInterfaceLuidToGuid( NULL, NULL ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - memset( &guid, 0xff, sizeof(guid) ); ret = ConvertInterfaceLuidToGuid( NULL, &guid ); ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); @@ -2134,9 +2122,6 @@ static void test_interface_identifier_conversion(void) ok( IsEqualGUID( &guid, &row->InterfaceGuid ), "mismatch\n" ); /* ConvertInterfaceGuidToLuid */ - ret = ConvertInterfaceGuidToLuid( NULL, NULL ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - luid.Info.NetLuidIndex = 1; ret = ConvertInterfaceGuidToLuid( NULL, &luid ); ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); @@ -2154,15 +2139,9 @@ static void test_interface_identifier_conversion(void) if (luid.Value != row->InterfaceLuid.Value) continue; /* ConvertInterfaceLuidToNameW */ - ret = ConvertInterfaceLuidToNameW( NULL, NULL, 0 ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - ret = ConvertInterfaceLuidToNameW( &luid, NULL, 0 ); ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - ret = ConvertInterfaceLuidToNameW( NULL, nameW, 0 ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - ret = ConvertInterfaceLuidToNameW( &luid, nameW, 0 ); ok( ret == ERROR_NOT_ENOUGH_MEMORY, "got %lu\n", ret ); @@ -2174,15 +2153,9 @@ static void test_interface_identifier_conversion(void) ok( !wcscmp( nameW, expect_nameW ), "got %s vs %s\n", debugstr_w( nameW ), debugstr_w( expect_nameW ) ); /* ConvertInterfaceLuidToNameA */ - ret = ConvertInterfaceLuidToNameA( NULL, NULL, 0 ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - ret = ConvertInterfaceLuidToNameA( &luid, NULL, 0 ); ok( ret == ERROR_NOT_ENOUGH_MEMORY, "got %lu\n", ret ); - ret = ConvertInterfaceLuidToNameA( NULL, nameA, 0 ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - ret = ConvertInterfaceLuidToNameA( &luid, nameA, 0 ); ok( ret == ERROR_NOT_ENOUGH_MEMORY, "got %lu\n", ret ); @@ -2193,9 +2166,6 @@ static void test_interface_identifier_conversion(void) ok( nameA[0], "name not set\n" ); /* ConvertInterfaceNameToLuidW */ - ret = ConvertInterfaceNameToLuidW( NULL, NULL ); - ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); - luid.Info.Reserved = luid.Info.NetLuidIndex = luid.Info.IfType = 0xdead; ret = ConvertInterfaceNameToLuidW( NULL, &luid ); ok( ret == ERROR_INVALID_NAME, "got %lu\n", ret ); @@ -2212,9 +2182,6 @@ static void test_interface_identifier_conversion(void) ok( luid.Value == row->InterfaceLuid.Value, "mismatch\n" ); /* ConvertInterfaceNameToLuidA */ - ret = ConvertInterfaceNameToLuidA( NULL, NULL ); - ok( ret == ERROR_INVALID_NAME, "got %lu\n", ret ); - luid.Info.Reserved = luid.Info.NetLuidIndex = luid.Info.IfType = 0xdead; ret = ConvertInterfaceNameToLuidA( NULL, &luid ); ok( ret == ERROR_INVALID_NAME, "got %lu\n", ret ); @@ -2240,8 +2207,6 @@ static void test_interface_identifier_conversion(void) ok( !ret, "got %lu\n", ret ); ok( !wcscmp( alias, row->Alias ), "got %s vs %s\n", wine_dbgstr_w( alias ), wine_dbgstr_w( row->Alias ) ); - index = if_nametoindex( NULL ); - ok( !index, "Got unexpected index %lu\n", index ); index = if_nametoindex( nameA ); ok( index == row->InterfaceIndex, "Got index %lu for %s, expected %lu\n", index, nameA, row->InterfaceIndex ); /* Wargaming.net Game Center passes a GUID-like string. */ @@ -2250,15 +2215,7 @@ static void test_interface_identifier_conversion(void) index = if_nametoindex( wine_dbgstr_guid( &guid ) ); ok( !index, "Got unexpected index %lu for input %s\n", index, wine_dbgstr_guid( &guid ) ); - name = if_indextoname( 0, NULL ); - ok( name == NULL, "got %s\n", name ); - - name = if_indextoname( 0, nameA ); - ok( name == NULL, "got %p\n", name ); - - name = if_indextoname( ~0u, nameA ); - ok( name == NULL, "got %p\n", name ); - + /* if_indextoname */ nameA[0] = 0; name = if_indextoname( row->InterfaceIndex, nameA ); ConvertInterfaceLuidToNameA( &row->InterfaceLuid, expect_nameA, ARRAY_SIZE(expect_nameA) ); @@ -2268,6 +2225,69 @@ static void test_interface_identifier_conversion(void) FreeMibTable( table ); } +static void test_interface_identifier_conversion_failure(void) +{ + DWORD ret; + WCHAR nameW[IF_MAX_STRING_SIZE + 1]; + char nameA[IF_MAX_STRING_SIZE + 1], *name; + NET_IFINDEX index; + + /* ConvertInterfaceIndexToLuid */ + ret = ConvertInterfaceIndexToLuid( 0, NULL ); + ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + + /* ConvertInterfaceLuidToIndex */ + ret = ConvertInterfaceLuidToIndex( NULL, NULL ); + ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + + ret = ConvertInterfaceLuidToIndex( NULL, &index ); + ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + + /* ConvertInterfaceLuidToGuid */ + ret = ConvertInterfaceLuidToGuid( NULL, NULL ); + ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + + /* ConvertInterfaceGuidToLuid */ + ret = ConvertInterfaceGuidToLuid( NULL, NULL ); + ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + + /* ConvertInterfaceLuidToNameW */ + ret = ConvertInterfaceLuidToNameW( NULL, NULL, 0 ); + ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + + ret = ConvertInterfaceLuidToNameW( NULL, nameW, 0 ); + ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + + /* ConvertInterfaceLuidToNameA */ + ret = ConvertInterfaceLuidToNameA( NULL, NULL, 0 ); + ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); + + ret = ConvertInterfaceLuidToNameA( NULL, nameA, 0 ); + ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); + + /* ConvertInterfaceNameToLuidW */ + ret = ConvertInterfaceNameToLuidW( NULL, NULL ); + ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); + + /* ConvertInterfaceNameToLuidA */ + ret = ConvertInterfaceNameToLuidA( NULL, NULL ); + ok( ret == ERROR_INVALID_NAME, "got %lu\n", ret ); + + /* if_nametoindex */ + index = if_nametoindex( NULL ); + ok( !index, "Got unexpected index %lu\n", index ); + + /* if_indextoname */ + name = if_indextoname( 0, NULL ); + ok( name == NULL, "expected NULL, got %s\n", name ); + + name = if_indextoname( 0, nameA ); + ok( name == NULL, "expected NULL, got %p\n", name ); + + name = if_indextoname( ~0u, nameA ); + ok( name == NULL, "expected NULL, got %p\n", name ); +} + static void test_GetIfEntry2(void) { DWORD ret; @@ -2804,6 +2824,7 @@ START_TEST(iphlpapi) test_AllocateAndGetTcpExTableFromStack(); test_CreateSortedAddressPairs(); test_interface_identifier_conversion(); + test_interface_identifier_conversion_failure(); test_GetIfEntry2(); test_GetIfTable2(); test_GetIfTable2Ex(); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/266
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=117414 Your paranoid android. === w8adm (32 bit report) === iphlpapi: iphlpapi.c:1692: Test failed: expected 2780, got 2820 iphlpapi.c:1696: Test failed: expected ERROR_SUCCESS got 111
From: Jinoh Kang <jinoh.kang.kr(a)gmail.com> Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com> --- dlls/iphlpapi/tests/iphlpapi.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/dlls/iphlpapi/tests/iphlpapi.c b/dlls/iphlpapi/tests/iphlpapi.c index 098806a9bae..09d02b02f08 100644 --- a/dlls/iphlpapi/tests/iphlpapi.c +++ b/dlls/iphlpapi/tests/iphlpapi.c @@ -2231,11 +2231,18 @@ static void test_interface_identifier_conversion_failure(void) WCHAR nameW[IF_MAX_STRING_SIZE + 1]; char nameA[IF_MAX_STRING_SIZE + 1], *name; NET_IFINDEX index; + NET_LUID luid; + GUID guid; + static const GUID guid_zero; + static const GUID guid_ones = { 0xffffffffUL, 0xffff, 0xffff, { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } }; /* ConvertInterfaceIndexToLuid */ ret = ConvertInterfaceIndexToLuid( 0, NULL ); ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + ret = ConvertInterfaceIndexToLuid( -1, &luid ); + ok( ret == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %lu\n", ret ); + /* ConvertInterfaceLuidToIndex */ ret = ConvertInterfaceLuidToIndex( NULL, NULL ); ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); @@ -2243,10 +2250,22 @@ static void test_interface_identifier_conversion_failure(void) ret = ConvertInterfaceLuidToIndex( NULL, &index ); ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + luid.Value = -1; + index = -1; + ret = ConvertInterfaceLuidToIndex( &luid, &index ); + ok( ret == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %lu\n", ret ); + ok( index == 0, "index shall be zero (got %lu)\n", index ); + /* ConvertInterfaceLuidToGuid */ ret = ConvertInterfaceLuidToGuid( NULL, NULL ); ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + luid.Value = -1; + memcpy( &guid, &guid_ones, sizeof(guid) ); + ret = ConvertInterfaceLuidToGuid( &luid, &guid ); + ok( ret == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %lu\n", ret ); + ok( memcmp( &guid, &guid_zero, sizeof(guid) ) == 0, "guid shall be nil\n" ); + /* ConvertInterfaceGuidToLuid */ ret = ConvertInterfaceGuidToLuid( NULL, NULL ); ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); @@ -2255,15 +2274,19 @@ static void test_interface_identifier_conversion_failure(void) ret = ConvertInterfaceLuidToNameW( NULL, NULL, 0 ); ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + memset( nameW, 0, sizeof(nameW) ); ret = ConvertInterfaceLuidToNameW( NULL, nameW, 0 ); ok( ret == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %lu\n", ret ); + ok( !nameW[0], "nameW shall not change\n" ); /* ConvertInterfaceLuidToNameA */ ret = ConvertInterfaceLuidToNameA( NULL, NULL, 0 ); ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); + memset( nameA, 0, sizeof(nameA) ); ret = ConvertInterfaceLuidToNameA( NULL, nameA, 0 ); ok( ret == ERROR_INVALID_PARAMETER, "got %lu\n", ret ); + ok( !nameA[0], "nameA shall not change\n" ); /* ConvertInterfaceNameToLuidW */ ret = ConvertInterfaceNameToLuidW( NULL, NULL ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/266
participants (4)
-
Alexandre Julliard (@julliard) -
Jinoh Kang -
Jinoh Kang (@iamahuman) -
Marvin