annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
514
01f928eb9584 - more test code generator code sharing
Tassilo Philipp
parents: 512
diff changeset
1 function trim(s)
01f928eb9584 - more test code generator code sharing
Tassilo Philipp
parents: 512
diff changeset
2 return s:gsub("^%s+",""):gsub("%s+$","")
01f928eb9584 - more test code generator code sharing
Tassilo Philipp
parents: 512
diff changeset
3 end
01f928eb9584 - more test code generator code sharing
Tassilo Philipp
parents: 512
diff changeset
4
512
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
5 function mkfuntab(n, prefix, t, array_name, with_cast)
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
6 local s = { t.." "..array_name.."[] = {\n"}
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
7 local cast = ''
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
8 if with_cast == true then
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
9 cast = '('..t..')'
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
10 end
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
11 for i = 0, n-1 do
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
12 s[#s+1] = "\t"..cast.."&"..prefix..i..",\n"
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
13 end
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
14 s[#s+1] = "};\n"
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
15 return table.concat(s,"")
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
16 end
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
17
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
18 -- @@@ sigprefix should be added by generators, not here
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
19 function mksigtab(sigs, sigprefix, array_name)
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
20 local s = { "const char * "..array_name.."[] = {\n"}
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
21 for k,v in pairs(sigs) do
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
22 s[#s+1] = '\t"'..sigprefix..v..'",\n'
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
23 end
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
24 s[#s+1] = "};\n"
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
25 return table.concat(s,"")
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
26 end
4d0541bf9b38 - sharing some test case gen code
Tassilo Philipp
parents:
diff changeset
27