Clarify purpose and rationale.
[pintos.git] / src / tests / userprog / write-boundary.c
blobd2de1d428383fb8e925098566ec85815911fd6ba
1 /* Writes data spanning two pages in virtual address space,
2 which must succeed. */
4 #include <string.h>
5 #include <syscall.h>
6 #include "tests/userprog/boundary.h"
7 #include "tests/userprog/sample.inc"
8 #include "tests/lib.h"
9 #include "tests/main.h"
11 void
12 test_main (void)
14 int handle;
15 int byte_cnt;
16 char *sample_p;
18 sample_p = copy_string_across_boundary (sample);
20 CHECK ((handle = open ("sample.txt")) > 1, "open \"sample.txt\"");
22 byte_cnt = write (handle, sample_p, sizeof sample - 1);
23 if (byte_cnt != sizeof sample - 1)
24 fail ("write() returned %d instead of %zu", byte_cnt, sizeof sample - 1);