aboutsummaryrefslogtreecommitdiff
path: root/src/tests/ktests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/ktests')
-rw-r--r--src/tests/ktests/bam.lua61
-rwxr-xr-xsrc/tests/ktests/run_qemu_test.sh3
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