1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-30 19:22:14 +00:00

Implement safe require

This commit is contained in:
Lars Mueller 2025-04-18 03:25:15 +02:00
parent 78293404c7
commit 7273b664ae
9 changed files with 165 additions and 20 deletions

View file

@ -353,3 +353,27 @@ local function test_ipc_poll(cb)
print("delta: " .. (core.get_us_time() - t0) .. "us")
end
unittests.register("test_ipc_poll", test_ipc_poll)
do
local t = require(".require")
assert(t.foo == "bar")
assert(t == require("unittests.require"))
package.unload(".require")
assert(t ~= require(".require"))
package.set(".require", "test")
assert(require(".require") == "test")
end
do
local status, err = xpcall(function()
table.insert(package.loaders, function()
return function()
return 42
end
end)
local answer = require("the_answer_to_life_the_universe_and_all_the_rest")
assert(answer == 42)
end, debug.traceback)
table.remove(package.loaders)
assert(status, err)
end