diff options
author | Matthew Wild <mwild1@gmail.com> | 2016-01-06 00:24:06 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2016-01-06 00:24:06 +0000 |
commit | 689f522c336cd874e8c0cbdf28fde834d3c94f3e (patch) | |
tree | e0e38fe44909123444b2ca760d8699df92b1920d /tests/test.lua | |
parent | f1ea08ed4293e98666197385e6b521949bc82b46 (diff) | |
download | prosody-689f522c336cd874e8c0cbdf28fde834d3c94f3e.tar.gz prosody-689f522c336cd874e8c0cbdf28fde834d3c94f3e.zip |
tests/test.lua: Fix fake module() function to prevent _M from being _G (test.lua's environment), which caused modules to break the sandbox when they set _M.*
Diffstat (limited to 'tests/test.lua')
-rw-r--r-- | tests/test.lua | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/test.lua b/tests/test.lua index de1e40fd..bb11ab26 100644 --- a/tests/test.lua +++ b/tests/test.lua @@ -137,7 +137,10 @@ function dotest(unitname) end local oldmodule, old_M = _fakeG.module, _fakeG._M; - _fakeG.module = function () _M = _G end + _fakeG.module = function () + setmetatable(unit, nil); + unit._M = unit; + end setfenv(chunk, unit); local success, err = pcall(chunk); _fakeG.module, _fakeG._M = oldmodule, old_M; |