From 024c8ffc62d4f38fa16e0c1c90758cae4cfa2319 Mon Sep 17 00:00:00 2001 From: chyyuu Date: Mon, 21 May 2018 15:52:10 +0800 Subject: [PATCH] add testing user app:sfs_filetest1.c in lab8 --- labcodes/lab8/user/sfs_filetest1.c | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 labcodes/lab8/user/sfs_filetest1.c diff --git a/labcodes/lab8/user/sfs_filetest1.c b/labcodes/lab8/user/sfs_filetest1.c new file mode 100644 index 000000000..626f5eb26 --- /dev/null +++ b/labcodes/lab8/user/sfs_filetest1.c @@ -0,0 +1,43 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#define printf(...) fprintf(1, __VA_ARGS__) + +static int safe_open(const char *path, int open_flags) +{ + int fd = open(path, open_flags); + printf("fd is %d\n",fd); + assert(fd >= 0); + return fd; +} + +static struct stat *safe_fstat(int fd) +{ + static struct stat __stat, *stat = &__stat; + int ret = fstat(fd, stat); + assert(ret == 0); + return stat; +} + + +static void safe_read(int fd, void *data, size_t len) +{ + int ret = read(fd, data, len); + assert(ret == len); +} + + +int main(void) +{ + int fd1 = safe_open("sfs_filetest1", O_RDONLY); + struct stat *stat = safe_fstat(fd1); + assert(stat->st_size >= 0 && stat->st_blocks >= 0); + printf("sfs_filetest1 pass.\n"); + return 0; +}