/* * Copyright (c) 2023 Antmicro * * SPDX-License-Identifier: Apache-2.0 */ #include #include #include #include "utils.h" void test_fs_open_flags(void); /* Expected by test_fs_open_flags() */ const char *test_fs_open_flags_file_path = "/sml/open_flags_file"; ZTEST(ext2tests, test_open_flags) { struct fs_mount_t *mp = &testfs_mnt; zassert_equal(fs_mount(mp), 0, "Failed to mount partition"); test_fs_open_flags(); zassert_equal(fs_unmount(mp), 0, "Failed to unmount partition"); } ZTEST(ext2tests, test_open_flags_2K) { int ret = 0; struct fs_mount_t *mp = &testfs_mnt; struct ext2_cfg ext2_config = { .block_size = 2048, .fs_size = 0x2000000, .bytes_per_inode = 0, .volume_name[0] = 0, .set_uuid = false, }; ret = fs_mkfs(FS_EXT2, (uintptr_t)mp->storage_dev, &ext2_config, 0); zassert_equal(ret, 0, "Failed to mkfs with 2K blocks"); mp->flags = FS_MOUNT_FLAG_NO_FORMAT; zassert_equal(fs_mount(mp), 0, "Failed to mount partition"); test_fs_open_flags(); zassert_equal(fs_unmount(mp), 0, "Failed to unmount partition"); } #if defined(CONFIG_APP_TEST_BIG) ZTEST(ext2tests, test_open_flags_4K) { int ret = 0; struct fs_mount_t *mp = &testfs_mnt; struct ext2_cfg ext2_config = { .block_size = 4096, .fs_size = 0x8000000, .bytes_per_inode = 0, .volume_name[0] = 0, .set_uuid = false, }; ret = fs_mkfs(FS_EXT2, (uintptr_t)mp->storage_dev, &ext2_config, 0); zassert_equal(ret, 0, "Failed to mkfs with 2K blocks"); mp->flags = FS_MOUNT_FLAG_NO_FORMAT; zassert_equal(fs_mount(mp), 0, "Failed to mount partition"); test_fs_open_flags(); zassert_equal(fs_unmount(mp), 0, "Failed to unmount partition"); } #endif