CS318 - Pintos
Pintos source browser for JHU CS318 course
src
tests
vm
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
Generated on Thu Aug 22 2019 10:19:15 for CS318 - Pintos by
1.8.16