mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53:09 +00:00
to-be-closed (#1261)
This commit is contained in:
48
test/testtobeclosed.lua
Normal file
48
test/testtobeclosed.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
local skynet = require "skynet"
|
||||
|
||||
local function new_test(name)
|
||||
return setmetatable({}, { __close = function(...)
|
||||
skynet.error(...)
|
||||
end, __name = "closemeta:" .. name})
|
||||
end
|
||||
|
||||
local i = 0
|
||||
skynet.dispatch("lua", function()
|
||||
i = i + 1
|
||||
if i==2 then
|
||||
local c<close> = new_test("dispatch_error")
|
||||
error("dispatch_error")
|
||||
else
|
||||
local c<close> = new_test("dispatch_wait")
|
||||
skynet.wait()
|
||||
end
|
||||
end)
|
||||
|
||||
skynet.start(function()
|
||||
local c<close> = new_test("skynet.exit")
|
||||
skynet.fork(function()
|
||||
local a<close> = new_test("stack_raise_error")
|
||||
error("raise error")
|
||||
end)
|
||||
skynet.fork(function()
|
||||
local a<close> = new_test("session_id_coroutine_wait")
|
||||
skynet.wait()
|
||||
end)
|
||||
skynet.fork(function()
|
||||
local a<close> = new_test("session_id_coroutine_call")
|
||||
skynet.call(skynet.self(), "lua")
|
||||
end)
|
||||
skynet.fork(function()
|
||||
skynet.call(skynet.self(), "lua")
|
||||
end)
|
||||
skynet.sleep(100)
|
||||
skynet.fork(function()
|
||||
local a<close> = new_test("no_running")
|
||||
skynet.wait()
|
||||
end)
|
||||
skynet.exit()
|
||||
end)
|
||||
|
||||
--[[
|
||||
testtobeclosed
|
||||
]]
|
||||
Reference in New Issue
Block a user