Signed-off-by: Jinoh Kang jinoh.kang.kr@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.
From: Jinoh Kang jinoh.kang.kr@gmail.com
Signed-off-by: Jinoh Kang jinoh.kang.kr@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; }
From: Jinoh Kang jinoh.kang.kr@gmail.com
Signed-off-by: Jinoh Kang jinoh.kang.kr@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; }
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
This merge request was approved by Alexandre Julliard.
From: Jinoh Kang jinoh.kang.kr@gmail.com
Signed-off-by: Jinoh Kang jinoh.kang.kr@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; }
From: Jinoh Kang jinoh.kang.kr@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@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();
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@gmail.com
Signed-off-by: Jinoh Kang jinoh.kang.kr@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 );