Make tests public. Rewrite most tests. Add tests.
[pintos-anon] / src / tests / vm / mmap-twice.c
1 #include <string.h>
2 #include <syscall.h>
3 #include "tests/vm/sample.inc"
4 #include "tests/lib.h"
5 #include "tests/main.h"
6
7 void
8 test_main (void)
9 {
10   char *actual[2] = {(char *) 0x10000000, (char *) 0x20000000};
11   size_t i;
12   int handle[2];
13
14   for (i = 0; i < 2; i++) 
15     {
16       CHECK ((handle[i] = open ("sample.txt")) > 1,
17              "open \"sample.txt\" #%zu", i);
18       CHECK (mmap (handle[i], actual[i]) != MAP_FAILED,
19              "mmap \"sample.txt\" #%zu at %p", i, (void *) actual[i]);
20     }
21
22   for (i = 0; i < 2; i++)
23     CHECK (!memcmp (actual[i], sample, strlen (sample)),
24            "compare mmap'd file %zu against data", i);
25 }