Moved some functions into kern/testing
[akaros.git] / user / testbss.c
1 // test reads and writes to a large bss
2
3 #include <inc/lib.h>
4
5 #define ARRAYSIZE (1024*1024)
6
7 uint32_t bigarray[ARRAYSIZE];
8
9 void
10 umain(void)
11 {
12         int i;
13
14         cprintf("Making sure bss works right...\n");
15         for (i = 0; i < ARRAYSIZE; i++)
16                 if (bigarray[i] != 0)
17                         panic("bigarray[%d] isn't cleared!\n", i);
18         for (i = 0; i < ARRAYSIZE; i++)
19                 bigarray[i] = i;
20         for (i = 0; i < ARRAYSIZE; i++)
21                 if (bigarray[i] != i)
22                         panic("bigarray[%d] didn't hold its value!\n", i);
23
24         cprintf("Yes, good.  Now doing a wild write off the end...\n");
25         { TRUSTEDBLOCK
26         bigarray[ARRAYSIZE+1024] = 0;
27         }
28         panic("SHOULD HAVE TRAPPED!!!");
29 }