blob: 7eaa6743438712ebd0999985a489cc634aef5bc0 [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"
#ifdef CONFIG_SETTINGS_USE_BASE64
#define CF_FILE_CONTENT_1 "\x10\x00myfoo/mybar=CA=="
#define CF_FILE_CONTENT_2 "\x10\x00myfoo/mybar=Kw=="
#else
#define CF_FILE_CONTENT_1 "\x0d\x00myfoo/mybar=\x08"
#define CF_FILE_CONTENT_2 "\x0d\x00myfoo/mybar=\x2b"
#endif
void test_config_save_in_file(void)
{
int rc;
struct settings_file cf;
const char cf_pattern_1[] = CF_FILE_CONTENT_1;
const char cf_pattern_2[] = CF_FILE_CONTENT_2;
config_wipe_srcs();
rc = fs_mkdir(TEST_CONFIG_DIR);
zassert_true(rc == 0 || rc == -EEXIST, "can't create directory");
cf.cf_name = TEST_CONFIG_DIR "/blah";
rc = settings_file_src(&cf);
zassert_true(rc == 0, "can't register FS as configuration source");
rc = settings_file_dst(&cf);
zassert_true(rc == 0,
"can't register FS as configuration destination");
val8 = 8U;
rc = settings_save();
zassert_true(rc == 0, "fs write error");
rc = settings_test_file_strstr(cf.cf_name, cf_pattern_1,
sizeof(cf_pattern_1)-1);
zassert_true(rc == 0, "bad value read");
val8 = 43U;
rc = settings_save();
zassert_true(rc == 0, "fs write error");
rc = settings_test_file_strstr(cf.cf_name, cf_pattern_2,
sizeof(cf_pattern_2)-1);
zassert_true(rc == 0, "bad value read");
}