From c3d0e6d9f092cd80dede9852d10a6d9588e23987 Mon Sep 17 00:00:00 2001 From: Baozeng Ding Date: Thu, 21 Jul 2011 20:18:18 +0800 Subject: [PATCH] add generator.lua --- testsuite/lua_modular/generator.lua | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 testsuite/lua_modular/generator.lua diff --git a/testsuite/lua_modular/generator.lua b/testsuite/lua_modular/generator.lua new file mode 100644 index 00000000000..9bf4e3a038d --- /dev/null +++ b/testsuite/lua_modular/generator.lua @@ -0,0 +1,57 @@ +package.path = package.path .. ";../../../src/interfaces/lua_modular/?.lua;" +package.cpath = package.cpath .. ";../../../src/interfaces/lua_modular/?.so;/usr/local/lib/?.so" + +require("lfs") + +example_dir = '../../examples/undocumented/lua_modular' +test_dir = '../../../testsuite/tests' +blacklist = {"load.lua", "MatrixTest.lua", "VectorTest.lua"} + +function get_test_mod(tests) + lfs.chdir(example_dir) + local r = {} + for _, v in pairs(tests) do + local flag = 0 + if string.sub(v, -3) ~= "lua" then + flag = 1 + end + for _, n in pairs(blacklist) do + if n == v then + flag = 1 + break + end + end + if flag == 0 then + mod = string.sub(v, 1, string.len(v)-4) + table.insert(r, mod) + end + end + return r +end +function setup_tests(tests) + if not tests then + local files={} + for i in io.popen("ls " .. example_dir):lines() do + table.insert(files, i) + end + table.sort(files) + return files + else + return tests + end +end + +function generator(tests) + r = get_test_mod(tests) + for _, t in pairs(r) do + require(t) + for i = 1, #parameter_list do + f = loadstring("a=" .. t .. "(unpack(parameter_list[" .. i .. "]))") + f() + print("OK") + end + end +end + +tests = setup_tests(...) +generator(tests)