From 55e9614a6358fb3270405332e94c2eeda057350b Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 11 Mar 2015 20:47:04 +0100 Subject: Include kernel.map in tests. --- src/kernel/core/region.c | 3 +++ src/tests/ktests/run_qemu_test.sh | 2 +- src/tests/utests/fs2/test.c | 8 +++++--- src/tests/utests/rules.make | 2 +- src/tests/utests/run_qemu_test.sh | 2 +- src/tests/utests/subfs/test.c | 8 +++++--- 6 files changed, 16 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/kernel/core/region.c b/src/kernel/core/region.c index c4c34d1..886c9fc 100644 --- a/src/kernel/core/region.c +++ b/src/kernel/core/region.c @@ -165,9 +165,12 @@ descriptor_t *find_used_region(void* addr) { void add_used_region(descriptor_t *d) { descriptor_t *i = first_used_region; + ASSERT(i != 0); ASSERT(i->used.i.addr < d->used.i.addr); // first region by address is never free while (i != 0) { + ASSERT(i != d); + ASSERT(i->used.i.addr != d->used.i.addr); ASSERT(i->used.i.addr < d->used.i.addr); if (i->used.next_by_addr == 0 || i->used.next_by_addr->used.i.addr > d->used.i.addr) { d->used.next_by_addr = i->used.next_by_addr; diff --git a/src/tests/ktests/run_qemu_test.sh b/src/tests/ktests/run_qemu_test.sh index e18a9d3..0e7b83e 100755 --- a/src/tests/ktests/run_qemu_test.sh +++ b/src/tests/ktests/run_qemu_test.sh @@ -1,6 +1,6 @@ #!/bin/bash -(qemu-system-i386 -kernel test_kernel.bin -serial stdio -m 16 -display none & echo $! >pid) \ +(qemu-system-i386 -kernel test_kernel.bin -initrd ../../kernel/kernel.map -serial stdio -m 16 -display none & echo $! >pid) \ | tee >(grep -m 1 "TEST-" >result; kill -INT `cat pid`) \ RESULT=`cat result` diff --git a/src/tests/utests/fs2/test.c b/src/tests/utests/fs2/test.c index f993c8e..7cc5fb6 100644 --- a/src/tests/utests/fs2/test.c +++ b/src/tests/utests/fs2/test.c @@ -14,10 +14,12 @@ int main(int argc, char **argv) { dirent_t x; size_t ent_no = 0; - ASSERT (readdir(f, ent_no++, &x)); + while (ent_no < 2) { + ASSERT (readdir(f, ent_no++, &x)); - ASSERT(!strcmp(x.name, "init.bin")); - ASSERT(x.st.type == FT_REGULAR); + ASSERT((!strcmp(x.name, "init.bin")) || (!strcmp(x.name, "kernel.map"))); + ASSERT(x.st.type == FT_REGULAR); + } ASSERT(!readdir(f, ent_no++, &x)); close(f); diff --git a/src/tests/utests/rules.make b/src/tests/utests/rules.make index 3e5fe1c..ec48e87 100644 --- a/src/tests/utests/rules.make +++ b/src/tests/utests/rules.make @@ -1,4 +1,4 @@ -LIB = ../../../lib/libkogata/libkogata.lib ../../../common/libc/libc.lib +LIB = ../../../lib/libkogata/libkogata.lib OBJ = test.o diff --git a/src/tests/utests/run_qemu_test.sh b/src/tests/utests/run_qemu_test.sh index 2de4bbb..c168e8c 100755 --- a/src/tests/utests/run_qemu_test.sh +++ b/src/tests/utests/run_qemu_test.sh @@ -9,7 +9,7 @@ if [ "$1" = "watchdog" ]; then exit 0 fi -(qemu-system-i386 -kernel ../../../kernel/kernel.bin -append 'init=io:/mod/init.bin' -initrd init.bin -serial stdio -m 16 -display none & echo $! >pid & +(qemu-system-i386 -kernel ../../../kernel/kernel.bin -append 'init=io:/mod/init.bin' -initrd 'init.bin,../../../kernel/kernel.map' -serial stdio -m 16 -display none & echo $! >pid & $0 watchdog) \ | tee >(grep -m 1 "TEST-" >result; kill -INT `cat pid`; kill -TERM `cat pid2`) \ diff --git a/src/tests/utests/subfs/test.c b/src/tests/utests/subfs/test.c index 2612939..5233ffe 100644 --- a/src/tests/utests/subfs/test.c +++ b/src/tests/utests/subfs/test.c @@ -16,10 +16,12 @@ int main(int argc, char **argv) { dirent_t x; size_t ent_no = 0; - ASSERT (readdir(f, ent_no++, &x)); + while (ent_no < 2) { + ASSERT (readdir(f, ent_no++, &x)); - ASSERT(!strcmp(x.name, "init.bin")); - ASSERT(x.st.type == FT_REGULAR); + ASSERT((!strcmp(x.name, "init.bin")) || (!strcmp(x.name, "kernel.map"))); + ASSERT(x.st.type == FT_REGULAR); + } ASSERT(!readdir(f, ent_no++, &x)); close(f); -- cgit v1.2.3