Commit fe84b2eb authored by Liang Yan's avatar Liang Yan Committed by Daniel Verkamp
Browse files

test/blobfs: test file creation in async mode



Change-Id: I155d956b0492120bf1b0194d0e7303d781bcdb25
Signed-off-by: default avatarLiang Yan <liang.z.yan@intel.com>
Reviewed-on: https://review.gerrithub.io/365106


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarGangCao <gang.cao@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 7538196f
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
@@ -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 ||