From d72c401d45e94b2a70187acfdc4880e975457469 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Wed, 6 Jan 2016 00:24:06 +0000 Subject: 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.* --- tests/test.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tests/test.lua') 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; -- cgit v1.2.3