From 1de617e3550366076737e804f1e28891605db89c Mon Sep 17 00:00:00 2001 From: moteus Date: Wed, 29 May 2013 14:33:27 +0400 Subject: Add. Allow get `error` option to socket. --- test/test_socket_error.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test/test_socket_error.lua (limited to 'test') diff --git a/test/test_socket_error.lua b/test/test_socket_error.lua new file mode 100644 index 0000000..9bd0bc7 --- /dev/null +++ b/test/test_socket_error.lua @@ -0,0 +1,27 @@ +local socket = require "socket" + +local host, port = "127.0.0.1", "5462" + +assert(socket.bind(host, port)):close() + +local sock = socket.tcp() +sock:settimeout(0) + +local ok, err = sock:connect(host, port) +assert(not ok) +assert('timeout' == err) + +for i = 1, 10 do + -- select pass even if socket has error + local _, rec, err = socket.select(nil, {sock}, 1) + assert('timeout' == err) + assert(not next(rec)) + err = sock:getoption("error") -- i get 'connection refused' on WinXP + if err then + print("Passed! Error is '" .. err .. "'.") + os.exit(0) + end +end + +print("Fail! No error detected!") +os.exit(1) -- cgit v1.2.3-55-g6feb