aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_socket_error.lua27
1 files changed, 27 insertions, 0 deletions
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 @@
1local socket = require "socket"
2
3local host, port = "127.0.0.1", "5462"
4
5assert(socket.bind(host, port)):close()
6
7local sock = socket.tcp()
8sock:settimeout(0)
9
10local ok, err = sock:connect(host, port)
11assert(not ok)
12assert('timeout' == err)
13
14for i = 1, 10 do
15 -- select pass even if socket has error
16 local _, rec, err = socket.select(nil, {sock}, 1)
17 assert('timeout' == err)
18 assert(not next(rec))
19 err = sock:getoption("error") -- i get 'connection refused' on WinXP
20 if err then
21 print("Passed! Error is '" .. err .. "'.")
22 os.exit(0)
23 end
24end
25
26print("Fail! No error detected!")
27os.exit(1)