test/getoptions: guard calls with pcall(); check result of getoption"linger"

This commit is contained in:
E. Westbrook 2020-03-28 15:14:18 -06:00
parent 68aeb39dc2
commit 0901c486ff

View File

@ -4,18 +4,32 @@ local socket = require"socket"
port = 8765 port = 8765
function pcalltest(msg, o, opt)
local a = { pcall(o.getoption, o, opt) }
if a[1] then
print(msg, opt, unpack(a))
else
print(msg, opt, 'fail: ' .. a[2])
end
end
function options(o) function options(o)
print("options for", o) print("options for", o)
for _, opt in ipairs{ for _, opt in ipairs{
"keepalive", "reuseaddr", "keepalive", "reuseaddr",
"tcp-nodelay", "tcp-keepidle", "tcp-keepcnt", "tcp-keepintvl"} do "tcp-nodelay", "tcp-keepidle", "tcp-keepcnt", "tcp-keepintvl"} do
print("getoption", opt, o:getoption(opt)) pcalltest("getoption", o, opt)
end end
r = o:getoption'linger'
if r then
print("getoption", "linger", print("getoption", "linger",
"on", o:getoption("linger").on, "on", r.on,
"timeout", o:getoption("linger").timeout) "timeout", r.timeout)
else
print("getoption", "linger", "no result")
end
end end
local m = socket.tcp() local m = socket.tcp()