test/blobfs: test file creation in async mode

Change-Id: I155d956b0492120bf1b0194d0e7303d781bcdb25
Signed-off-by: Liang Yan <liang.z.yan@intel.com>
Reviewed-on: https://review.gerrithub.io/365106
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Liang Yan 2017-06-13 15:09:36 +08:00 committed by Daniel Verkamp
parent 7538196f30
commit fe84b2eb02

View File

@ -177,6 +177,47 @@ fs_open(void)
spdk_free_thread();
}
static void
fs_create(void)
{
struct spdk_filesystem *fs;
struct spdk_bs_dev dev;
char name[257] = {'\0'};
init_dev(&dev);
memset(name, 'a', sizeof(name) - 1);
spdk_allocate_thread(_fs_send_msg, NULL);
spdk_fs_init(&dev, NULL, fs_op_with_handle_complete, NULL);
SPDK_CU_ASSERT_FATAL(g_fs != NULL);
CU_ASSERT(g_fserrno == 0);
fs = g_fs;
g_fserrno = 0;
/* Create should fail, because the file name is too long. */
spdk_fs_create_file_async(fs, name, create_cb, NULL);
CU_ASSERT(g_fserrno == -ENAMETOOLONG);
g_fserrno = 1;
spdk_fs_create_file_async(fs, "file1", create_cb, NULL);
CU_ASSERT(g_fserrno == 0);
g_fserrno = 1;
spdk_fs_create_file_async(fs, "file1", create_cb, NULL);
CU_ASSERT(g_fserrno == -EEXIST);
g_fserrno = 1;
spdk_fs_delete_file_async(fs, "file1", delete_cb, NULL);
CU_ASSERT(g_fserrno == 0);
CU_ASSERT(TAILQ_EMPTY(&fs->files));
g_fserrno = 1;
spdk_fs_unload(fs, fs_op_complete, NULL);
CU_ASSERT(g_fserrno == 0);
spdk_free_thread();
}
static void
fs_truncate(void)
{
@ -456,6 +497,7 @@ int main(int argc, char **argv)
if (
CU_add_test(suite, "fs_init", fs_init) == NULL ||
CU_add_test(suite, "fs_open", fs_open) == NULL ||
CU_add_test(suite, "fs_create", fs_create) == NULL ||
CU_add_test(suite, "fs_truncate", fs_truncate) == NULL ||
CU_add_test(suite, "fs_rename", fs_rename) == NULL ||
CU_add_test(suite, "tree_find_buffer", tree_find_buffer_ut) == NULL ||