aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authormoteus <mimir@newmail.ru>2013-05-29 14:33:27 +0400
committermoteus <mimir@newmail.ru>2013-05-29 14:33:27 +0400
commit1de617e3550366076737e804f1e28891605db89c (patch)
tree2a5db457e38cdf3de1f29df4d0217999c5cd306d /test
parentb84a5f3d08b1dc9d1003506bbca53e11264e8693 (diff)
downloadluasocket-1de617e3550366076737e804f1e28891605db89c.tar.gz
luasocket-1de617e3550366076737e804f1e28891605db89c.tar.bz2
luasocket-1de617e3550366076737e804f1e28891605db89c.zip
Add. Allow get `error` option to socket.
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)