pintos: Avoid literal control character in Perl variable name.
[pintos-anon] / src / tests / vm / mmap-zero.c
1 /* Tries to map a zero-length file, which may or may not work but
2    should not terminate the process or crash.
3    Then dereferences the address that we tried to map,
4    and the process must be terminated with -1 exit code. */
5
6 #include <syscall.h>
7 #include "tests/lib.h"
8 #include "tests/main.h"
9
10 void
11 test_main (void) 
12 {
13   char *data = (char *) 0x7f000000;
14   int handle;
15
16   CHECK (create ("empty", 0), "create empty file \"empty\"");
17   CHECK ((handle = open ("empty")) > 1, "open \"empty\"");
18
19   /* Calling mmap() might succeed or fail.  We don't care. */
20   msg ("mmap \"empty\"");
21   mmap (handle, data);
22
23   /* Regardless of whether the call worked, *data should cause
24      the process to be terminated. */
25   fail ("unmapped memory is readable (%d)", *data);
26 }
27