lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 35b4efc270db2418bc2cac6671575a45028061c3
parent 0d529138042563baf260366e19a7aa2c60a07174
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Tue, 30 Jul 2019 13:48:13 -0300

Fixed test in 'main.lua'

The test "to-be-closed variables in main chunk" was broken,
as it used the removed feature of functions as to-be-closed values.
The error was not detected because its expected result had no lines
to be checked (due to missing new lines).

Diffstat:
Mtestes/main.lua | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/testes/main.lua b/testes/main.lua @@ -43,6 +43,8 @@ local function getoutput () end local function checkprogout (s) + -- expected result must end with new line + assert(string.sub(s, -1) == "\n") local t = getoutput() for line in string.gmatch(s, ".-\n") do assert(string.find(t, line, 1, true)) @@ -292,7 +294,7 @@ debug = require"debug" print(debug.getinfo(1).currentline) ]] RUN('lua %s > %s', prog, out) -checkprogout('3') +checkprogout('3\n') -- close Lua with an open file prepfile(string.format([[io.output(%q); io.write('alo')]], out)) @@ -320,15 +322,16 @@ NoRun("", "lua %s", prog) -- no message -- to-be-closed variables in main chunk prepfile[[ - local x <close> = function (err) - assert(err == 120) - print("Ok") - end - local e1 <close> = function () error(120) end + local x <close> = setmetatable({}, + {__close = function (self, err) + assert(err == nil) + print("Ok") + end}) + local e1 <close> = setmetatable({}, {__close = function () print(120) end}) os.exit(true, true) ]] RUN('lua %s > %s', prog, out) -checkprogout("Ok") +checkprogout("120\nOk\n") -- remove temporary files