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:
parent
78293404c7
commit
7273b664ae
9 changed files with 165 additions and 20 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue