diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib-fs/fs-test.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/lib-fs/fs-test.h b/src/lib-fs/fs-test.h new file mode 100644 index 0000000..5a2ed14 --- /dev/null +++ b/src/lib-fs/fs-test.h @@ -0,0 +1,45 @@ +#ifndef FS_TEST_H +#define FS_TEST_H + +#include "fs-api-private.h" + +struct test_fs { + struct fs fs; + enum fs_properties properties; + ARRAY_TYPE(const_string) iter_files; +}; + +struct test_fs_file { + struct fs_file file; + enum fs_open_mode mode; + + fs_file_async_callback_t *async_callback; + void *async_context; + + buffer_t *contents; + struct istream *input; + struct test_fs_file *copy_src; + + bool prefetched; + bool locked; + bool exists; + bool seekable; + bool closed; + bool io_failure; + bool wait_async; +}; + +struct test_fs_iter { + struct fs_iter iter; + char *prefix, *prev_dir; + unsigned int prefix_len, idx; + bool failed; +}; + +struct test_fs *test_fs_get(struct fs *fs); +struct test_fs_file *test_fs_file_get(struct fs *fs, const char *path); + +void test_fs_async(const char *test_name, enum fs_properties properties, + const char *driver, const char *args); + +#endif |