blob: a179629228eab5aa8b65f90e8875d67187ffdedd [file] [log] [blame]
/*
* Copyright (c) 2018 Nordic Semiconductor ASA
* Copyright (c) 2015 Runtime Inc
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "settings_test.h"
#include "settings/settings_file.h"
#include <zephyr/fs/fs.h>
ZTEST(settings_config_fs, test_config_empty_file)
{
int rc;
struct settings_file cf_mfg;
struct settings_file cf_running;
const char cf_mfg_test[] = "";
const char cf_running_test[] = "\n\n";
config_wipe_srcs();
cf_mfg.cf_name = TEST_CONFIG_DIR"/mfg";
cf_running.cf_name = TEST_CONFIG_DIR"/running";
rc = settings_file_src(&cf_mfg);
zassert_true(rc == 0, "can't register FS as configuration source");
rc = settings_file_src(&cf_running);
zassert_true(rc == 0, "can't register FS as configuration source");
settings_mount_file_backend(&cf_mfg);
/*
* No files
*/
settings_load();
rc = fs_mkdir(TEST_CONFIG_DIR);
zassert_true(rc == 0 || rc == -EEXIST, "can't create directory");
rc = fsutil_write_file(TEST_CONFIG_DIR"/mfg", cf_mfg_test,
0);
zassert_true(rc == 0, "can't write to file");
rc = fsutil_write_file(TEST_CONFIG_DIR"/running", cf_running_test,
sizeof(cf_running_test));
zassert_true(rc == 0, "can't write to file");
settings_load();
config_wipe_srcs();
ctest_clear_call_state();
}