diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 6ee50d94b6..1a3eba529e 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -1688,30 +1688,58 @@ todo_wine err = setsockopt(s, IPPROTO_IP, IP_HDRINCL, (char *) &k, size); if (err == -1) /* >= Vista */ { - todo_wine { +#if defined(linux) +todo_wine +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +todo_wine_if (prottest[i].family == AF_INET) +#endif ok(GetLastError() == WSAEINVAL, "Expected 10022, got %d\n", GetLastError()); k = 99; SetLastError(0xdeadbeef); err = getsockopt(s, IPPROTO_IP, IP_HDRINCL, (char *) &k, &size); +#if defined(linux) +todo_wine +#endif ok(err == -1, "Expected -1, got %d\n", err); +#if defined(linux) +todo_wine +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +todo_wine_if (prottest[i].family == AF_INET) +#endif ok(GetLastError() == WSAEINVAL, "Expected 10022, got %d\n", GetLastError()); +#if defined(linux) +todo_wine +#endif ok(k == 99, "Expected 99, got %d\n", k); size = sizeof(k); k = 0; SetLastError(0xdeadbeef); err = setsockopt(s, IPPROTO_IP, IP_HDRINCL, (char *) &k, size); - } ok(err == -1, "Expected -1, got %d\n", err); - todo_wine { +#if defined(linux) +todo_wine +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +todo_wine_if (prottest[i].family == AF_INET) +#endif ok(GetLastError() == WSAEINVAL, "Expected 10022, got %d\n", GetLastError()); k = 99; SetLastError(0xdeadbeef); err = getsockopt(s, IPPROTO_IP, IP_HDRINCL, (char *) &k, &size); +#if defined(linux) +todo_wine +#endif ok(err == -1, "Expected -1, got %d\n", err); +#if defined(linux) +todo_wine +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +todo_wine_if (prottest[i].family == AF_INET) +#endif ok(GetLastError() == WSAEINVAL, "Expected 10022, got %d\n", GetLastError()); +#if defined(linux) +todo_wine +#endif ok(k == 99, "Expected 99, got %d\n", k); - } } else /* <= 2003 the tests differ between TCP and UDP, UDP silently accepts */ {