PKUOS - Pintos
Pintos source browser for PKU Operating System 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
9void
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}
static void wait(struct intq *q, struct thread **waiter)
pid_t exec(const char *file)
Definition: syscall.c:79
int pid_t
Process identifier.
Definition: syscall.h:8
void check_file(const char *file_name, const void *buf, size_t size)
Definition: lib.c:151
bool quiet
Definition: lib.c:9
#define CHECK(SUCCESS,...)
Takes an expression to test for SUCCESS and a message, which may include printf-style arguments.
Definition: lib.h:29
void test_main(void)
Executes child-mm-wrt and verifies that the writes that should have occurred really did.
Definition: mmap-exit.c:10