X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Ffilesys%2Ffslib.h;h=b1d654fda4b857a84451f14e5462472151de8537;hb=a879ea1c5a4b3f7d82b3bcfaf32b0b65cca191a6;hp=b15759897e6da4e7f6d537e36792e202f7c476c8;hpb=ff076af15fa93292b8843e76bd6bab7ac5421095;p=pintos-anon diff --git a/grading/filesys/fslib.h b/grading/filesys/fslib.h index b157598..b1d654f 100644 --- a/grading/filesys/fslib.h +++ b/grading/filesys/fslib.h @@ -10,13 +10,28 @@ extern bool quiet; void msg (const char *, ...) PRINTF_FORMAT (1, 2); void fail (const char *, ...) PRINTF_FORMAT (1, 2) NO_RETURN; -void check (bool, const char *, ...) PRINTF_FORMAT (2, 3); + +#define check(SUCCESS, ...) \ + do \ + { \ + msg (__VA_ARGS__); \ + if (!(SUCCESS)) \ + fail (__VA_ARGS__); \ + } \ + while (0) void shuffle (void *, size_t cnt, size_t size); + void seq_test (const char *filename, - void *buffer, size_t size, - size_t initial_size, int seed, - size_t (*block_size) (void), void (*check) (int fd, long ofs)); + void *buf, size_t size, size_t initial_size, + size_t (*block_size_func) (void), + void (*check_func) (int fd, long ofs)); + void check_file (const char *filename, const void *buf, size_t filesize); +void compare_bytes (const void *read_data, const void *expected_data, + size_t size, size_t ofs, const char *filename); + +void test_main (void); + #endif /* fslib.h */