lua: remove core.cause_error call (#5637)
authorLoïc Blot <nerzhul@users.noreply.github.com>
Fri, 21 Apr 2017 22:34:00 +0000 (00:34 +0200)
committerGitHub <noreply@github.com>
Fri, 21 Apr 2017 22:34:00 +0000 (00:34 +0200)
it was used in minimal to trigger core crash, not very useful

games/minimal/mods/errorhandler_test/init.lua [deleted file]
src/script/lua_api/l_server.cpp
src/script/lua_api/l_server.h

diff --git a/games/minimal/mods/errorhandler_test/init.lua b/games/minimal/mods/errorhandler_test/init.lua
deleted file mode 100644 (file)
index 9d1535c..0000000
+++ /dev/null
@@ -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)
index 343d11b7e33bc2b39cd190e3b8b1f32ea3676d01..6ac4bb653f0616dbb0ab171d2c132942543e5623 100644 (file)
@@ -483,36 +483,6 @@ int ModApiServer::l_set_last_run_mod(lua_State *L)
        return 0;
 }
 
-#ifndef NDEBUG
-// cause_error(type_of_error)
-int ModApiServer::l_cause_error(lua_State *L)
-{
-       NO_MAP_LOCK_REQUIRED;
-       std::string type_of_error = "none";
-       if(lua_isstring(L, 1))
-               type_of_error = lua_tostring(L, 1);
-
-       errorstream << "Error handler test called, errortype=" << type_of_error << std::endl;
-
-       if(type_of_error == "segv") {
-               volatile int* some_pointer = 0;
-               errorstream << "Cause a sigsegv now: " << (*some_pointer) << std::endl;
-
-       } else if (type_of_error == "zerodivision") {
-
-               unsigned int some_number = porting::getTimeS();
-               unsigned int zerovalue = 0;
-               unsigned int result = some_number / zerovalue;
-               errorstream << "Well this shouldn't ever be shown: " << result << std::endl;
-
-       } else if (type_of_error == "exception") {
-               throw BaseException("Errorhandler test fct called");
-       }
-
-       return 0;
-}
-#endif
-
 void ModApiServer::Initialize(lua_State *L, int top)
 {
        API_FCT(request_shutdown);
@@ -545,7 +515,4 @@ void ModApiServer::Initialize(lua_State *L, int top)
 
        API_FCT(get_last_run_mod);
        API_FCT(set_last_run_mod);
-#ifndef NDEBUG
-       API_FCT(cause_error);
-#endif
 }
index ca5e7b80f1f3ff6d50492f87a755f0aa8eeb34ef..0088107840d37a60e7299a9ad2a194b983d0083b 100644 (file)
@@ -101,11 +101,6 @@ private:
        // set_last_run_mod(modname)
        static int l_set_last_run_mod(lua_State *L);
 
-#ifndef NDEBUG
-       //  cause_error(type_of_error)
-       static int l_cause_error(lua_State *L);
-#endif
-
 public:
        static void Initialize(lua_State *L, int top);
 };