0ad/build/premake/premake5/binmodules/luasocket/test/excepttest.lua
Itms 2c167153e9 Upgrade premake5 from alpha12 to alpha13, refs #3729.
Fixes an issue on macOS Mojave that was patched in fa1c281e79.

The list of changes can be found under
build/premake/premake5/CHANGES.txt.

This was SVN commit r22021.
2019-01-04 21:20:45 +00:00

30 lines
812 B
Lua

local socket = require("socket")
local finalizer_called
local func = socket.protect(function(err, ...)
local try = socket.newtry(function()
finalizer_called = true
end)
if err then
return error(err, 0)
else
return try(...)
end
end)
local ret1, ret2, ret3 = func(false, 1, 2, 3)
assert(not finalizer_called, "unexpected finalizer call")
assert(ret1 == 1 and ret2 == 2 and ret3 == 3, "incorrect return values")
ret1, ret2, ret3 = func(false, false, "error message")
assert(finalizer_called, "finalizer not called")
assert(ret1 == nil and ret2 == "error message" and ret3 == nil, "incorrect return values")
local err = {key = "value"}
ret1, ret2 = pcall(func, err)
assert(not ret1, "error not rethrown")
assert(ret2 == err, "incorrect error rethrown")
print("OK")