/* Maps the same file into memory twice and verifies that the same data is readable in both. */ #include #include #include "tests/vm/sample.inc" #include "tests/lib.h" #include "tests/main.h" void test_main (void) { char *actual[2] = {(char *) 0x10000000, (char *) 0x20000000}; size_t i; int handle[2]; for (i = 0; i < 2; i++) { CHECK ((handle[i] = open ("sample.txt")) > 1, "open \"sample.txt\" #%zu", i); CHECK (mmap (handle[i], actual[i]) != MAP_FAILED, "mmap \"sample.txt\" #%zu at %p", i, (void *) actual[i]); } for (i = 0; i < 2; i++) CHECK (!memcmp (actual[i], sample, strlen (sample)), "compare mmap'd file %zu against data", i); }