From 4676ff921a26a34bc46ab98f3068e2d5472a1c84 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B6rn=20Lindqvist?= Date: Thu, 27 Mar 2014 18:47:18 +0100 Subject: [PATCH] windows.winsock: fix the definition of SOCKET_ERROR and unit tests that verifies its correctness --- basis/windows/winsock/winsock-tests.factor | 19 +++++++++++++++++++ basis/windows/winsock/winsock.factor | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 basis/windows/winsock/winsock-tests.factor diff --git a/basis/windows/winsock/winsock-tests.factor b/basis/windows/winsock/winsock-tests.factor new file mode 100644 index 0000000000..aff856cdf5 --- /dev/null +++ b/basis/windows/winsock/winsock-tests.factor @@ -0,0 +1,19 @@ +USING: kernel tools.test windows.winsock ; +IN: windows.winsock.tests + +: normal-socket ( -- socket ) + AF_INET SOCK_STREAM IPPROTO_TCP socket ; + +{ t f } [ + 98 97 96 socket normal-socket [ INVALID_SOCKET = ] bi@ +] unit-test + +{ 0 } [ normal-socket closesocket ] unit-test + +! Generate lots of socket errors +{ t t t } [ + normal-socket 99 98 "bad bad!" 3 setsockopt + f closesocket + normal-socket "hello" 5 0 send + [ SOCKET_ERROR = ] tri@ +] unit-test diff --git a/basis/windows/winsock/winsock.factor b/basis/windows/winsock/winsock.factor index 3336c52743..c64e2493fd 100644 --- a/basis/windows/winsock/winsock.factor +++ b/basis/windows/winsock/winsock.factor @@ -102,7 +102,7 @@ CONSTANT: INADDR_ANY 0 : INVALID_SOCKET ( -- n ) -1 ; inline -: SOCKET_ERROR ( -- n ) -1 ; inline +: SOCKET_ERROR ( -- n ) -1 ; inline CONSTANT: SD_RECV 0 CONSTANT: SD_SEND 1 -- 2.34.1