view src/lib-fs/fs-test.h @ 22656:1789bf2a1e01

director: Make sure HOST-RESET-USERS isn't used with max_moving_users=0 The reset command would just hang in that case. doveadm would never have sent this, so this is just an extra sanity check.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Sun, 05 Nov 2017 23:51:56 +0200
parents 5142d4fbf69b
children
line wrap: on
line source

#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