summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luasocket/test/test_socket_error.lua
blob: bda64081d07a6fa354d074d44b03230d57a03c1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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)
  local _, ss = next(rec)
  if ss then
    assert(ss == sock)
  else
    assert('timeout' == err, 'unexpected error :' .. tostring(err))
  end 
  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)