mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-01 17:38:41 +00:00
lua: remove core.cause_error call (#5637)
it was used in minimal to trigger core crash, not very useful
This commit is contained in:
parent
dc0e9097d3
commit
113c85a66a
3 changed files with 0 additions and 144 deletions
|
@ -1,106 +0,0 @@
|
|||
--
|
||||
-- exception handler test module
|
||||
--
|
||||
--
|
||||
-- To avoid this from crashing the module will startup in inactive mode.
|
||||
-- to make specific errors happen you need to cause them by following
|
||||
-- chat command:
|
||||
--
|
||||
-- exceptiontest <location> <errortype>
|
||||
--
|
||||
-- location has to be one of:
|
||||
-- * mapgen: cause in next on_generate call
|
||||
-- * entity_step: spawn a entity and make it do error in on_step
|
||||
-- * globalstep: do error in next globalstep
|
||||
-- * immediate: cause right in chat handler
|
||||
--
|
||||
-- errortypes defined are:
|
||||
-- * segv: make sigsegv happen
|
||||
-- * zerodivision: cause a division by zero to happen
|
||||
-- * exception: throw an exception
|
||||
|
||||
if core.cause_error == nil or
|
||||
type(core.cause_error) ~= "function" then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
core.log("action", "WARNING: loading exception handler test module!")
|
||||
|
||||
local exceptiondata = {
|
||||
tocause = "none",
|
||||
mapgen = false,
|
||||
entity_step = false,
|
||||
globalstep = false,
|
||||
}
|
||||
|
||||
local exception_entity =
|
||||
{
|
||||
on_step = function(self, dtime)
|
||||
if exceptiondata.entity_step then
|
||||
core.cause_error(exceptiondata.tocause)
|
||||
end
|
||||
end,
|
||||
}
|
||||
local exception_entity_name = "errorhandler_test:error_entity"
|
||||
|
||||
local function exception_chat_handler(playername, param)
|
||||
local parameters = param:split(" ")
|
||||
|
||||
if #parameters ~= 2 then
|
||||
core.chat_send_player(playername, "Invalid argument count for exceptiontest")
|
||||
end
|
||||
|
||||
core.log("error", "Causing error at:" .. parameters[1])
|
||||
|
||||
if parameters[1] == "mapgen" then
|
||||
exceptiondata.tocause = parameters[2]
|
||||
exceptiondata.mapgen = true
|
||||
elseif parameters[1] == "entity_step" then
|
||||
--spawn entity at player location
|
||||
local player = core.get_player_by_name(playername)
|
||||
|
||||
if player:is_player() then
|
||||
local pos = player:getpos()
|
||||
|
||||
core.add_entity(pos, exception_entity_name)
|
||||
end
|
||||
|
||||
exceptiondata.tocause = parameters[2]
|
||||
exceptiondata.entity_step = true
|
||||
|
||||
elseif parameters[1] == "globalstep" then
|
||||
exceptiondata.tocause = parameters[2]
|
||||
exceptiondata.globalstep = true
|
||||
|
||||
elseif parameters[1] == "immediate" then
|
||||
core.cause_error(parameters[2])
|
||||
|
||||
else
|
||||
core.chat_send_player(playername, "Invalid error location: " .. dump(parameters[1]))
|
||||
end
|
||||
end
|
||||
|
||||
core.register_chatcommand("exceptiontest",
|
||||
{
|
||||
params = "<location> <errortype>",
|
||||
description = "cause a given error to happen.\n" ..
|
||||
" location=(mapgen,entity_step,globalstep,immediate)\n" ..
|
||||
" errortype=(segv,zerodivision,exception)",
|
||||
func = exception_chat_handler,
|
||||
privs = { server=true }
|
||||
})
|
||||
|
||||
core.register_globalstep(function(dtime)
|
||||
if exceptiondata.globalstep then
|
||||
core.cause_error(exceptiondata.tocause)
|
||||
end
|
||||
end)
|
||||
|
||||
core.register_on_generated(function(minp, maxp, blockseed)
|
||||
if exceptiondata.mapgen then
|
||||
core.cause_error(exceptiondata.tocause)
|
||||
end
|
||||
end)
|
||||
|
||||
core.register_entity(exception_entity_name, exception_entity)
|
Loading…
Add table
Add a link
Reference in a new issue