aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2016-01-06 00:24:06 +0000
committerMatthew Wild <mwild1@gmail.com>2016-01-06 00:24:06 +0000
commit689f522c336cd874e8c0cbdf28fde834d3c94f3e (patch)
treee0e38fe44909123444b2ca760d8699df92b1920d /tests
parentf1ea08ed4293e98666197385e6b521949bc82b46 (diff)
downloadprosody-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')
-rw-r--r--tests/test.lua5
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;