[24] | 1 |
|
---|
| 2 | #include "config_xor.h"
|
---|
| 3 |
|
---|
| 4 | #include <string.h>
|
---|
| 5 | #include "CuTest.h"
|
---|
| 6 | #include "samhain.h"
|
---|
| 7 | #include "sh_unix.h"
|
---|
| 8 |
|
---|
| 9 | void Test_sh_unix_lookup_page (CuTest *tc) {
|
---|
| 10 |
|
---|
[30] | 11 | long pagesize = sh_unix_pagesize();
|
---|
[24] | 12 |
|
---|
[30] | 13 | unsigned long base;
|
---|
[24] | 14 | int num_pages;
|
---|
| 15 |
|
---|
| 16 | CuAssert (tc, "pagesize > 0", (pagesize > 0));
|
---|
| 17 |
|
---|
| 18 | /* base = sh_unix_lookup_page(in_addr, len, *num_pages); */
|
---|
| 19 |
|
---|
| 20 | base = sh_unix_lookup_page(0, pagesize, &num_pages);
|
---|
| 21 | CuAssert (tc, "base == 0", (base == 0));
|
---|
| 22 | CuAssertIntEquals (tc, num_pages, 1);
|
---|
| 23 |
|
---|
| 24 | base = sh_unix_lookup_page(0, pagesize+1, &num_pages);
|
---|
| 25 | CuAssert (tc, "base == 0", (base == 0));
|
---|
| 26 | CuAssertIntEquals (tc, num_pages, 2);
|
---|
| 27 |
|
---|
| 28 | base = sh_unix_lookup_page((void*)pagesize, pagesize, &num_pages);
|
---|
| 29 | CuAssert (tc, "base == 0", (base == (unsigned int)pagesize));
|
---|
| 30 | CuAssertIntEquals (tc, num_pages, 1);
|
---|
| 31 |
|
---|
| 32 | base = sh_unix_lookup_page((void*)pagesize, pagesize+1, &num_pages);
|
---|
| 33 | CuAssert (tc, "base == 0", (base == (unsigned int)pagesize));
|
---|
| 34 | CuAssertIntEquals (tc, num_pages, 2);
|
---|
| 35 |
|
---|
| 36 | base = sh_unix_lookup_page((void*)(pagesize-1), pagesize+1, &num_pages);
|
---|
| 37 | CuAssert (tc, "base == 0", (base == 0));
|
---|
| 38 | CuAssertIntEquals (tc, num_pages, 2);
|
---|
| 39 |
|
---|
| 40 | base = sh_unix_lookup_page((void*)(pagesize-1), pagesize+2, &num_pages);
|
---|
| 41 | CuAssert (tc, "base == 0", (base == 0));
|
---|
| 42 | CuAssertIntEquals (tc, num_pages, 3);
|
---|
| 43 |
|
---|
| 44 | }
|
---|
| 45 |
|
---|
| 46 |
|
---|