blob: 36f04e0f54e9d1da5dae82a4c2b8aaadccffb94e [file] [log] [blame]
/*
* Copyright (c) 2017 Codecoup
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <nffs/nffs.h>
#include "test_nffs.h"
#if CONFIG_BOARD_QEMU_X86
static struct nffs_area_desc nffs_selftest_area_descs[] = {
{ 0x00000000, 16 * 1024 },
{ 0x00004000, 16 * 1024 },
{ 0x00008000, 16 * 1024 },
{ 0x0000c000, 16 * 1024 },
{ 0x00010000, 64 * 1024 },
{ 0x00020000, 128 * 1024 },
{ 0x00040000, 128 * 1024 },
{ 0x00060000, 128 * 1024 },
{ 0x00080000, 128 * 1024 },
{ 0x000a0000, 128 * 1024 },
{ 0x000c0000, 128 * 1024 },
{ 0x000e0000, 128 * 1024 },
{ 0, 0 },
};
#else
static struct nffs_area_desc nffs_selftest_area_descs[] = {
{ 0x00020000, 2 * 4096 },
{ 0x00022000, 2 * 4096 },
{ 0x00024000, 2 * 4096 },
{ 0x00026000, 2 * 4096 },
{ 0x00028000, 2 * 4096 },
{ 0x0002a000, 2 * 4096 },
{ 0x0002c000, 2 * 4096 },
{ 0x00030000, 2 * 4096 },
{ 0x00032000, 2 * 4096 },
{ 0x00034000, 2 * 4096 },
{ 0x00036000, 2 * 4096 },
{ 0x00038000, 2 * 4096 },
{ 0, 0 },
};
#endif
static struct nffs_area_desc *save_area_descs;
static void test_setup(void)
{
save_area_descs = nffs_current_area_descs;
nffs_current_area_descs = nffs_selftest_area_descs;
}
static void test_teardown(void)
{
nffs_current_area_descs = save_area_descs;
}
void test_main(void)
{
#ifdef TEST_basic
ztest_test_suite(nffs_fs_basic_test,
ztest_unit_test_setup_teardown(test_unlink,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_mkdir,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_rename,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_append,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_read,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_open,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_overwrite_one,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_overwrite_two,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_overwrite_three,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_overwrite_many,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_long_filename,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_large_write,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_many_children,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_gc,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_wear_level,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_corrupt_scratch,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_incomplete_block,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_corrupt_block,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_lost_found,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_readdir,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_split_file,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_gc_on_oom,
test_setup, test_teardown));
ztest_run_test_suite(nffs_fs_basic_test);
#endif
#ifdef TEST_large
ztest_test_suite(nffs_fs_large_test,
ztest_unit_test_setup_teardown(test_large_unlink,
test_setup, test_teardown),
ztest_unit_test_setup_teardown(test_large_system,
test_setup, test_teardown));
ztest_run_test_suite(nffs_fs_large_test);
#endif
#ifdef TEST_cache
ztest_test_suite(nffs_fs_cache_test,
ztest_unit_test_setup_teardown(test_cache_large_file,
test_setup, test_teardown));
ztest_run_test_suite(nffs_fs_cache_test);
#endif
#ifdef TEST_performance
ztest_test_suite(nffs_fs_performace_test,
ztest_unit_test_setup_teardown(test_performance,
test_setup, test_teardown));
ztest_run_test_suite(nffs_fs_performace_test);
#endif
}