CS318 - Pintos
Pintos source browser for JHU CS318 course
src
tests
userprog
rox-simple.c
Go to the documentation of this file.
1
/** Ensure that the executable of a running process cannot be
2
modified. */
3
4
#include <syscall.h>
5
#include "
tests/lib.h
"
6
#include "
tests/main.h
"
7
8
void
9
test_main
(
void
)
10
{
11
int
handle;
12
char
buffer
[16];
13
14
CHECK
((handle =
open
(
"rox-simple"
)) > 1,
"open \"rox-simple\""
);
15
CHECK
(
read
(handle,
buffer
,
sizeof
buffer
) == (
int
)
sizeof
buffer
,
16
"read \"rox-simple\""
);
17
CHECK
(
write
(handle,
buffer
,
sizeof
buffer
) == 0,
18
"try to write \"rox-simple\""
);
19
}
lib.h
write
int write(int fd, const void *buffer, unsigned size)
Definition:
syscall.c:121
CHECK
#define CHECK(SUCCESS,...)
Takes an expression to test for SUCCESS and a message, which may include printf-style arguments.
Definition:
lib.h:29
test_main
void test_main(void)
Ensure that the executable of a running process cannot be modified.
Definition:
rox-simple.c:9
buffer
static struct intq buffer
Stores keys from the keyboard and serial port.
Definition:
input.c:7
open
int open(const char *file)
Definition:
syscall.c:103
main.h
read
int read(int fd, void *buffer, unsigned size)
Definition:
syscall.c:115
Generated on Thu Aug 22 2019 10:19:15 for CS318 - Pintos by
1.8.16