diff options
Diffstat (limited to 'src/tests/ktests/bam.lua')
-rw-r--r-- | src/tests/ktests/bam.lua | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/tests/ktests/bam.lua b/src/tests/ktests/bam.lua new file mode 100644 index 0000000..b721a8b --- /dev/null +++ b/src/tests/ktests/bam.lua @@ -0,0 +1,35 @@ +local obj_nokmain = {} +for name in TableWalk(kernel_obj) do + if not name:find('kmain') then + table.insert(obj_nokmain, name) + end +end + +for _, name in pairs({ + "breakpoint", + "btree1", "btree2", + "cmdline", + "hashtbl1", "hashtbl2", + "kmalloc", + "region1" +}) do + local map = "build/tests/ktest_" .. name .. ".map" + + local test_config = TableDeepCopy(common_settings) + test_config.cc.includes:Add("src/kernel/include", + "src/tests/ktests/"..name) + test_config.cc.flags:Add('-DBUILD_KERNEL_TEST') + test_config.link.flags:Add("-T src/kernel/linker.ld", + "-Xlinker -Map=" .. map) + test_config.cc.extension = ".ktest_" .. name .. ".o" + + local kmain = Compile(test_config, "src/kernel/core/kmain.c") + local bin = Link(test_config, "tests/ktest_"..name, + {obj_nokmain, kmain, common_libkogata, common_libc, common_libalgo}) + + local out = "build/tests/ktest_"..name..".log" + AddJob(out, "ktest " .. name, "./src/tests/ktests/run_qemu_test.sh " .. bin .. " " .. out .. " " .. map) + AddDependency(out, bin) + table.insert(tests, out) +end + |