view test/common/mk-cases.lua @ 514:01f928eb9584

- more test code generator code sharing
author Tassilo Philipp
date Sun, 10 Apr 2022 16:18:28 +0200
parents 4d0541bf9b38
children 99819b874bac
line wrap: on
line source

function trim(s)
  return s:gsub("^%s+",""):gsub("%s+$","")
end

function mkfuntab(n, prefix, t, array_name, with_cast)
  local s = { t.." "..array_name.."[] = {\n"}
  local cast = ''
  if with_cast == true then
    cast = '('..t..')'
  end
  for i = 0, n-1 do
    s[#s+1] = "\t"..cast.."&"..prefix..i..",\n"
  end
  s[#s+1] = "};\n"
  return table.concat(s,"")
end

-- @@@ sigprefix should be added by generators, not here
function mksigtab(sigs, sigprefix, array_name)
  local s = { "const char * "..array_name.."[] = {\n"}
  for k,v in pairs(sigs) do
    s[#s+1] = '\t"'..sigprefix..v..'",\n'
  end
  s[#s+1] = "};\n"
  return table.concat(s,"")
end