diff options
| author | klaar36 <klas.arvidsson@liu.se> | 2016-05-09 18:10:23 +0200 |
|---|---|---|
| committer | klaar36 <klas.arvidsson@liu.se> | 2016-05-09 18:10:23 +0200 |
| commit | c4e42961e885612ca2b84dd0246d09b86aad2b97 (patch) | |
| tree | 3fd5665708f3ddf6a534d1dde53a3773b58d4013 /src/tests/klaar/pfs-writer.c | |
| parent | c71baf223e8de56d8cef3814952d704987125ce2 (diff) | |
| download | pintos-rs-c4e42961e885612ca2b84dd0246d09b86aad2b97.tar.gz | |
pfs test
Diffstat (limited to 'src/tests/klaar/pfs-writer.c')
| -rw-r--r-- | src/tests/klaar/pfs-writer.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/tests/klaar/pfs-writer.c b/src/tests/klaar/pfs-writer.c new file mode 100644 index 0000000..34d9685 --- /dev/null +++ b/src/tests/klaar/pfs-writer.c @@ -0,0 +1,52 @@ +/* Part of pfs.c suite. + + Write on the disk. Each time the buffer is filled with same + character. Different character every time! + */ + +#include <syscall.h> +#include <stdio.h> +#include <string.h> + +#include "../lib.h" +#include "pfs.h" + +static void fill_buffer(char* buf, int size, char c) +{ + for (int i = 0; i < size; i++) + { + buf[i] = c; + } +} + +char buffer[BIG]; + +int main (int argc, char *argv[]) +{ + test_name = argv[0]; + quiet = true; + + if (argc != 3 || strlen(argv[1]) != 1 || strlen(argv[2]) != 1) + return 1; + + char start = argv[1][0]; + char end = argv[2][0]; + + char c = start; + for (int i = 0; i < TIMES; ++i) + { + fill_buffer(buffer, BIG, c); + + int id = open ("file.1"); + CHECK ( id > 1, "open \"file.1\""); + int bytes = write(id, buffer, BIG); + CHECK ( bytes == BIG, "write \"file.1\""); + close(id); + + c = c + 1; + + if ( c > end ) + c = start; + } + return 0; +} |
