28 lines
742 B
C
Executable file
28 lines
742 B
C
Executable file
/* Maps the same file into memory twice and verifies that the
|
|
same data is readable in both. */
|
|
|
|
#include <string.h>
|
|
#include <syscall.h>
|
|
#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);
|
|
}
|