Kernel alarms pass the alarm ID
[akaros.git] / tests / testbss.c
1 // test reads and writes to a large bss
2
3 #include <stdint.h>
4 #include <stdio.h>
5 #include <rassert.h>
6
7 #define ARRAYSIZE (1024*1024)
8
9 uint32_t bigarray[ARRAYSIZE];
10
11 int main(int argc, char** argv)
12 {
13         int i;
14
15         printf("Making sure bss works right...\n");
16         for (i = 0; i < ARRAYSIZE; i++)
17                 if (bigarray[i] != 0)
18                         panic("bigarray[%d] isn't cleared!\n", i);
19         for (i = 0; i < ARRAYSIZE; i++)
20                 bigarray[i] = i;
21         for (i = 0; i < ARRAYSIZE; i++)
22                 if (bigarray[i] != i)
23                         panic("bigarray[%d] didn't hold its value!\n", i);
24
25         printf("Yes, good.  Now doing a wild write off the end...\n");
26         bigarray[ARRAYSIZE+1024] = 0;
27         panic("SHOULD HAVE TRAPPED!!!");
28         return 0;
29 }