diff options
Diffstat (limited to 'src/tests/ktests')
-rw-r--r-- | src/tests/ktests/bam.lua | 61 | ||||
-rwxr-xr-x | src/tests/ktests/run_qemu_test.sh | 3 |
2 files changed, 33 insertions, 31 deletions
diff --git a/src/tests/ktests/bam.lua b/src/tests/ktests/bam.lua index b721a8b..c1be337 100644 --- a/src/tests/ktests/bam.lua +++ b/src/tests/ktests/bam.lua @@ -1,35 +1,38 @@ -local obj_nokmain = {} -for name in TableWalk(kernel_obj) do - if not name:find('kmain') then - table.insert(obj_nokmain, name) +return function(s, common, kernel_obj) + local tests = {} + + local obj_nokmain = {} + for name in TableWalk(kernel_obj) do + if not name:find('kmain') then + table.insert(obj_nokmain, name) + end end -end -for _, name in pairs({ - "breakpoint", - "btree1", "btree2", - "cmdline", - "hashtbl1", "hashtbl2", - "kmalloc", - "region1" -}) do - local map = "build/tests/ktest_" .. name .. ".map" + for _, name in pairs({ + "breakpoint", + "btree1", "btree2", + "cmdline", + "hashtbl1", "hashtbl2", + "kmalloc", + "region1" + }) do + local test_config = TableDeepCopy(s.common_settings) + test_config.cc.includes:Add("src/kernel/include", + "src/common/include/kogata", + "src/tests/ktests/"..name) + test_config.cc.flags:Add('-DBUILD_KERNEL_TEST') + test_config.link.flags:Add("-T src/kernel/linker.ld") + test_config.cc.extension = ".ktest_" .. name .. ".o" - 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 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 = bin .. ".log" + AddJob(out, "ktest " .. name, "./src/tests/ktests/run_qemu_test.sh " .. bin .. " " .. out) + AddDependency(out, bin) + table.insert(tests, out) + end - 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) + return tests end - diff --git a/src/tests/ktests/run_qemu_test.sh b/src/tests/ktests/run_qemu_test.sh index 4249a96..bc86f12 100755 --- a/src/tests/ktests/run_qemu_test.sh +++ b/src/tests/ktests/run_qemu_test.sh @@ -2,12 +2,11 @@ BINFILE=$1 LOGFILE=$2 -MAPFILE=$3 RESULTFILE=`mktemp` PIDFILE=`mktemp` -(timeout 3s qemu-system-i386 -kernel $BINFILE -initrd $MAPFILE -serial stdio -m 16 -display none 2>/dev/null \ +(timeout 3s qemu-system-i386 -kernel $BINFILE -serial stdio -m 16 -display none 2>/dev/null \ & echo $! >$PIDFILE) \ | tee >(grep -m 1 "TEST-" >$RESULTFILE; kill -INT `cat $PIDFILE`) > $LOGFILE |