[PATCH 5/5] iphlpapi/tests: Add more tests for interface identifier conversion failure.
Jinoh Kang
wine at gitlab.winehq.org
Fri Jun 17 11:26:38 CDT 2022
From: Jinoh Kang <jinoh.kang.kr at gmail.com>
Signed-off-by: Jinoh Kang <jinoh.kang.kr at 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 025ffce714c..db925969751 100644
--- a/dlls/iphlpapi/tests/iphlpapi.c
+++ b/dlls/iphlpapi/tests/iphlpapi.c
@@ -2230,11 +2230,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 );
@@ -2242,10 +2249,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 );
@@ -2254,15 +2273,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
More information about the wine-devel
mailing list