CS318 - Pintos
Pintos source browser for JHU CS318 course
src
tests
userprog
read-zero.c
Go to the documentation of this file.
1
/** Try a 0-byte read, which should return 0 without reading
2
anything. */
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,
byte_cnt
;
12
char
buf
;
13
14
CHECK
((handle =
open
(
"sample.txt"
)) > 1,
"open \"sample.txt\""
);
15
16
buf
= 123;
17
byte_cnt
=
read
(handle, &
buf
, 0);
18
if
(
byte_cnt
!= 0)
19
fail
(
"read() returned %d instead of 0"
,
byte_cnt
);
20
else
if
(
buf
!= 123)
21
fail
(
"0-byte read() modified buffer"
);
22
}
lib.h
test_main
void test_main(void)
Try a 0-byte read, which should return 0 without reading anything.
Definition:
read-zero.c:9
buf
static char buf[BUF_SIZE]
Definition:
child-syn-read.c:16
CHECK
#define CHECK(SUCCESS,...)
Takes an expression to test for SUCCESS and a message, which may include printf-style arguments.
Definition:
lib.h:29
byte_cnt
static size_t byte_cnt(size_t bit_cnt)
Returns the number of bytes required for BIT_CNT bits.
Definition:
bitmap.c:58
open
int open(const char *file)
Definition:
syscall.c:103
fail
void fail(const char *format,...)
Definition:
lib.c:40
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