Zebediah Figura : ws2_32/tests: Do not use a loop to test ASCII and Unicode in test_WSAAddressToString().

Alexandre Julliard julliard at winehq.org
Fri Feb 11 14:33:56 CST 2022


Module: wine
Branch: master
Commit: eba2cd3d335ae686c62700aa46da7c8488073b0d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=eba2cd3d335ae686c62700aa46da7c8488073b0d

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Thu Feb 10 21:29:43 2022 -0600

ws2_32/tests: Do not use a loop to test ASCII and Unicode in test_WSAAddressToString().

They share almost no code.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ws2_32/tests/protocol.c | 144 +++++++++++++++++++------------------------
 1 file changed, 65 insertions(+), 79 deletions(-)

diff --git a/dlls/ws2_32/tests/protocol.c b/dlls/ws2_32/tests/protocol.c
index d902d399c00..865fbbd5947 100644
--- a/dlls/ws2_32/tests/protocol.c
+++ b/dlls/ws2_32/tests/protocol.c
@@ -1169,10 +1169,10 @@ static void test_WSAAddressToString(void)
     SOCKADDR_IN6 sockaddr6;
     char output[64];
     WCHAR outputW[64], expected_outputW[64];
+    unsigned int i;
     SOCKET v6;
     INT ret;
     DWORD len;
-    int i, j;
 
     len = 0;
     sockaddr.sin_family = AF_INET;
@@ -1201,87 +1201,73 @@ static void test_WSAAddressToString(void)
     ok( len == 8, "got %u\n", len );
     ok( !wcscmp(outputW, L"0.0.0.0"), "got %s\n", wine_dbgstr_w(outputW) );
 
-    for (i = 0; i < 2; i++)
+    for (i = 0; i < ARRAY_SIZE(ipv4_tests); ++i)
     {
-        for (j = 0; j < ARRAY_SIZE(ipv4_tests); j++)
-        {
-            sockaddr.sin_family = AF_INET;
-            sockaddr.sin_addr.s_addr = ipv4_tests[j].address;
-            sockaddr.sin_port = ipv4_tests[j].port;
-
-            if (i == 0)
-            {
-                len = sizeof(output);
-                memset(output, 0, len);
-                ret = WSAAddressToStringA( (SOCKADDR *)&sockaddr, sizeof(sockaddr), NULL, output, &len );
-                ok( !ret, "ipv4_tests[%d] failed unexpectedly: %d\n", j, WSAGetLastError() );
-                ok( !strcmp( output, ipv4_tests[j].output ),
-                    "ipv4_tests[%d]: got address %s, expected %s\n",
-                    j, wine_dbgstr_a(output), wine_dbgstr_a(ipv4_tests[j].output) );
-                ok( len == strlen(ipv4_tests[j].output) + 1,
-                    "ipv4_tests[%d]: got length %d, expected %d\n",
-                    j, len, strlen(ipv4_tests[j].output) + 1 );
-            }
-            else
-            {
-                len = sizeof(outputW);
-                memset(outputW, 0, len);
-                ret = WSAAddressToStringW( (SOCKADDR *)&sockaddr, sizeof(sockaddr), NULL, outputW, &len );
-                MultiByteToWideChar( CP_ACP, 0, ipv4_tests[j].output, -1,
-                                     expected_outputW, ARRAY_SIZE(expected_outputW) );
-                ok( !ret, "ipv4_tests[%d] failed unexpectedly: %d\n", j, WSAGetLastError() );
-                ok( !wcscmp( outputW, expected_outputW ),
-                    "ipv4_tests[%d]: got address %s, expected %s\n",
-                    j, wine_dbgstr_w(outputW), wine_dbgstr_w(expected_outputW) );
-                ok( len == wcslen(expected_outputW) + 1,
-                    "ipv4_tests[%d]: got length %d, expected %d\n",
-                    j, len, wcslen(expected_outputW) + 1 );
-            }
-        }
-
-        /* check to see if IPv6 is available */
-        v6 = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);
-        if (v6 == INVALID_SOCKET) {
-            skip("Could not create IPv6 socket (LastError: %d; %d expected if IPv6 not available).\n",
-                WSAGetLastError(), WSAEAFNOSUPPORT);
-            continue;
-        }
-        closesocket(v6);
+        sockaddr.sin_family = AF_INET;
+        sockaddr.sin_addr.s_addr = ipv4_tests[i].address;
+        sockaddr.sin_port = ipv4_tests[i].port;
+
+        len = sizeof(output);
+        memset( output, 0, len );
+        ret = WSAAddressToStringA( (SOCKADDR *)&sockaddr, sizeof(sockaddr), NULL, output, &len );
+        ok( !ret, "ipv4_tests[%d] failed unexpectedly: %d\n", i, WSAGetLastError() );
+        ok( !strcmp( output, ipv4_tests[i].output ),
+            "ipv4_tests[%d]: got address %s, expected %s\n",
+            i, debugstr_a(output), debugstr_a(ipv4_tests[i].output) );
+        ok( len == strlen(ipv4_tests[i].output) + 1,
+            "ipv4_tests[%d]: got length %d, expected %d\n",
+            i, len, strlen(ipv4_tests[i].output) + 1 );
+
+        len = sizeof(outputW);
+        memset( outputW, 0, len );
+        ret = WSAAddressToStringW( (SOCKADDR *)&sockaddr, sizeof(sockaddr), NULL, outputW, &len );
+        MultiByteToWideChar( CP_ACP, 0, ipv4_tests[i].output, -1,
+                             expected_outputW, ARRAY_SIZE(expected_outputW) );
+        ok( !ret, "ipv4_tests[%d] failed unexpectedly: %d\n", i, WSAGetLastError() );
+        ok( !wcscmp( outputW, expected_outputW ),
+            "ipv4_tests[%d]: got address %s, expected %s\n",
+            i, debugstr_w(outputW), debugstr_w(expected_outputW) );
+        ok( len == wcslen(expected_outputW) + 1,
+            "ipv4_tests[%d]: got length %d, expected %d\n",
+            i, len, wcslen(expected_outputW) + 1 );
+    }
 
-        for (j = 0; j < ARRAY_SIZE(ipv6_tests); j++)
-        {
-            sockaddr6.sin6_family = AF_INET6;
-            sockaddr6.sin6_scope_id = ipv6_tests[j].scope;
-            sockaddr6.sin6_port = ipv6_tests[j].port;
-            memcpy( sockaddr6.sin6_addr.s6_addr, ipv6_tests[j].address, sizeof(ipv6_tests[j].address) );
+    v6 = socket( AF_INET6, SOCK_STREAM, IPPROTO_TCP );
+    if (v6 == -1 && WSAGetLastError() == WSAEAFNOSUPPORT)
+    {
+        skip( "IPv6 is not supported\n" );
+        return;
+    }
+    closesocket( v6 );
 
-            if (i == 0)
-            {
-                len = sizeof(output);
-                ret = WSAAddressToStringA( (SOCKADDR *)&sockaddr6, sizeof(sockaddr6), NULL, output, &len );
-                ok( !ret, "ipv6_tests[%d] failed unexpectedly: %d\n", j, WSAGetLastError() );
-                ok( !strcmp( output, ipv6_tests[j].output ),
-                    "ipv6_tests[%d]: gave address %s, expected %s\n",
-                    j, wine_dbgstr_a(output), wine_dbgstr_a(ipv6_tests[j].output) );
-                ok( len == strlen(ipv6_tests[j].output) + 1,
-                    "ipv6_tests[%d]: got length %d, expected %d\n",
-                    j, len, strlen(ipv6_tests[j].output) + 1 );
-            }
-            else
-            {
-                len = sizeof(outputW);
-                ret = WSAAddressToStringW( (SOCKADDR *)&sockaddr6, sizeof(sockaddr6), NULL, outputW, &len );
-                MultiByteToWideChar( CP_ACP, 0, ipv6_tests[j].output, -1,
-                                     expected_outputW, ARRAY_SIZE(expected_outputW) );
-                ok( !ret, "ipv6_tests[%d] failed unexpectedly: %d\n", j, WSAGetLastError() );
-                ok( !wcscmp( outputW, expected_outputW ),
-                    "ipv6_tests[%d]: got address %s, expected %s\n",
-                    j, wine_dbgstr_w(outputW), wine_dbgstr_w(expected_outputW) );
-                ok( len == wcslen(expected_outputW) + 1,
-                    "ipv6_tests[%d]: got length %d, expected %d\n",
-                    j, len, wcslen(expected_outputW) + 1 );
-            }
-        }
+    for (i = 0; i < ARRAY_SIZE(ipv6_tests); ++i)
+    {
+        sockaddr6.sin6_family = AF_INET6;
+        sockaddr6.sin6_scope_id = ipv6_tests[i].scope;
+        sockaddr6.sin6_port = ipv6_tests[i].port;
+        memcpy( sockaddr6.sin6_addr.s6_addr, ipv6_tests[i].address, sizeof(ipv6_tests[i].address) );
+
+        len = sizeof(output);
+        ret = WSAAddressToStringA( (SOCKADDR *)&sockaddr6, sizeof(sockaddr6), NULL, output, &len );
+        ok( !ret, "ipv6_tests[%d] failed unexpectedly: %d\n", i, WSAGetLastError() );
+        ok( !strcmp( output, ipv6_tests[i].output ),
+            "ipv6_tests[%d]: gave address %s, expected %s\n",
+            i, debugstr_a(output), debugstr_a(ipv6_tests[i].output) );
+        ok( len == strlen(ipv6_tests[i].output) + 1,
+            "ipv6_tests[%d]: got length %d, expected %d\n",
+            i, len, strlen(ipv6_tests[i].output) + 1 );
+
+        len = sizeof(outputW);
+        ret = WSAAddressToStringW( (SOCKADDR *)&sockaddr6, sizeof(sockaddr6), NULL, outputW, &len );
+        MultiByteToWideChar( CP_ACP, 0, ipv6_tests[i].output, -1,
+                             expected_outputW, ARRAY_SIZE(expected_outputW) );
+        ok( !ret, "ipv6_tests[%d] failed unexpectedly: %d\n", i, WSAGetLastError() );
+        ok( !wcscmp( outputW, expected_outputW ),
+            "ipv6_tests[%d]: got address %s, expected %s\n",
+            i, debugstr_w(outputW), debugstr_w(expected_outputW) );
+        ok( len == wcslen(expected_outputW) + 1,
+            "ipv6_tests[%d]: got length %d, expected %d\n",
+            i, len, wcslen(expected_outputW) + 1 );
     }
 }
 




More information about the wine-cvs mailing list