CS318 - Pintos
Pintos source browser for JHU CS318 course
mmap-exit.c
Go to the documentation of this file.
1 /** Executes child-mm-wrt and verifies that the writes that should
2  have occurred really did. */
3 
4 #include <syscall.h>
5 #include "tests/vm/sample.inc"
6 #include "tests/lib.h"
7 #include "tests/main.h"
8 
9 void
10 test_main (void)
11 {
12  pid_t child;
13 
14  /* Make child write file. */
15  quiet = true;
16  CHECK ((child = exec ("child-mm-wrt")) != -1, "exec \"child-mm-wrt\"");
17  CHECK (wait (child) == 0, "wait for child (should return 0)");
18  quiet = false;
19 
20  /* Check file contents. */
21  check_file ("sample.txt", sample, sizeof sample);
22 }
lib.h
CHECK
#define CHECK(SUCCESS,...)
Takes an expression to test for SUCCESS and a message, which may include printf-style arguments.
Definition: lib.h:29
exec
pid_t exec(const char *file)
Definition: syscall.c:79
test_main
void test_main(void)
Executes child-mm-wrt and verifies that the writes that should have occurred really did.
Definition: mmap-exit.c:10
wait
static void wait(struct intq *q, struct thread **waiter)
main.h
pid_t
int pid_t
Process identifier.
Definition: syscall.h:8
check_file
void check_file(const char *file_name, const void *buf, size_t size)
Definition: lib.c:151
quiet
bool quiet
Definition: lib.c:9