From be73f72fcc944a8ebae2c60d2ce84139acb011b9 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 18 Jun 2019 16:52:22 -0300 Subject: New function 'setCstacklimit' Added new functions to dynamically set the C-stack limit ('lua_setCstacklimit' in the C-API, 'debug.setCstacklimit' in Lua). --- testes/errors.lua | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'testes/errors.lua') diff --git a/testes/errors.lua b/testes/errors.lua index 0b12410e..6e7b8004 100644 --- a/testes/errors.lua +++ b/testes/errors.lua @@ -523,9 +523,13 @@ end -- testing syntax limits -local function testrep (init, rep, close, repc) +local function testrep (init, rep, close, repc, finalresult) local s = init .. string.rep(rep, 100) .. close .. string.rep(repc, 100) - assert(load(s)) -- 100 levels is OK + local res, msg = load(s) + assert(res) -- 100 levels is OK + if (finalresult) then + assert(res() == finalresult) + end s = init .. string.rep(rep, 10000) local res, msg = load(s) -- 10000 levels not ok assert(not res and (string.find(msg, "too many registers") or @@ -534,14 +538,14 @@ end testrep("local a; a", ",a", "= 1", ",1") -- multiple assignment testrep("local a; a=", "{", "0", "}") -testrep("local a; a=", "(", "2", ")") -testrep("local a; ", "a(", "2", ")") +testrep("return ", "(", "2", ")", 2) +testrep("local function a (x) return x end; return ", "a(", "2.2", ")", 2.2) testrep("", "do ", "", " end") testrep("", "while a do ", "", " end") testrep("local a; ", "if a then else ", "", " end") testrep("", "function foo () ", "", " end") -testrep("local a; a=", "a..", "a", "") -testrep("local a; a=", "a^", "a", "") +testrep("local a = ''; return ", "a..", "'a'", "", "a") +testrep("local a = 1; return ", "a^", "a", "", 1) checkmessage("a = f(x" .. string.rep(",x", 260) .. ")", "too many registers") -- cgit v1.2.3-55-g6feb