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