summaryrefslogtreecommitdiffstats
path: root/pintos-progos/tests/filesys/extended/grow-file-size.c
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2012-03-26 12:54:45 +0200
committermanuel <manuel@mausz.at>2012-03-26 12:54:45 +0200
commitb5f0874cd96ee2a62aabc645b9626c2749cb6a01 (patch)
tree1262e4bbe0634de6650be130c36e0538240f4cbf /pintos-progos/tests/filesys/extended/grow-file-size.c
downloadprogos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.gz
progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.bz2
progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.zip
initial pintos checkin
Diffstat (limited to 'pintos-progos/tests/filesys/extended/grow-file-size.c')
-rw-r--r--pintos-progos/tests/filesys/extended/grow-file-size.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/pintos-progos/tests/filesys/extended/grow-file-size.c b/pintos-progos/tests/filesys/extended/grow-file-size.c
new file mode 100644
index 0000000..3ce8588
--- /dev/null
+++ b/pintos-progos/tests/filesys/extended/grow-file-size.c
@@ -0,0 +1,33 @@
1/* Grows a file from 0 bytes to 2,134 bytes, 37 bytes at a time,
2 and checks that the file's size is reported correctly at each
3 step. */
4
5#include <syscall.h>
6#include "tests/filesys/seq-test.h"
7#include "tests/lib.h"
8#include "tests/main.h"
9
10static char buf[2134];
11
12static size_t
13return_block_size (void)
14{
15 return 37;
16}
17
18static void
19check_file_size (int fd, long ofs)
20{
21 long size = filesize (fd);
22 if (size != ofs)
23 fail ("filesize not updated properly: should be %ld, actually %ld",
24 ofs, size);
25}
26
27void
28test_main (void)
29{
30 seq_test ("testfile",
31 buf, sizeof buf, 0,
32 return_block_size, check_file_size);
33}