X-Git-Url: http://pilppa.org/gitweb/?p=libplp.git;a=blobdiff_plain;f=src_test%2Ftest_config1.c;fp=src_test%2Ftest_config1.c;h=8bddb50e2561b86e2597757508ee087d5e617f4f;hp=0000000000000000000000000000000000000000;hb=860d8c023b82eeca9833d4a3f534c6d11a9523f3;hpb=65f22bbea2531f7cd492d6108b8902f92b7750a8 diff --git a/src_test/test_config1.c b/src_test/test_config1.c new file mode 100644 index 0000000..8bddb50 --- /dev/null +++ b/src_test/test_config1.c @@ -0,0 +1,92 @@ +/* + * test_w1.cc + * + * Created on: Oct 20, 2010 + * Author: lamikr + */ +#include +#include +#include +#include +#include "../src/config.h" + +#define CONF_FILENAME "dev_cfg_txt" +#define SECTION_TYPE "mysection_type" +#define SECTION_TYPE2 "mysection_type2" +#define SECTION_NAME "mysection_name" +#define SECTION_NAME2 "mysection_name2" + +#define KEY_NAME "key_name" +#define KEY_NAME2 "key_name2" +#define KEY_NAME3 "key_name3" +#define KEY_NAME_INVALID_READ "key_name_invalid" + +#define VALUE1 "val1" +#define VALUE2 "val2" +#define VALUE3 "val3" +#define VALUE4 "val4" + +int test_config() { + char work_dir[FILENAME_MAX]; + char *val; + + getcwd(work_dir, sizeof(work_dir)); + printf("working directory: %s\n", work_dir); + + set_config_value_and_save(work_dir, + CONF_FILENAME, + SECTION_TYPE, + SECTION_NAME, + KEY_NAME, + VALUE1); + val = get_config_value_and_close(work_dir, + CONF_FILENAME, + SECTION_NAME, + KEY_NAME); + if ((val != NULL) && + (strcmp(val, VALUE1) == 0)) { + printf("value 1 read ok: %s\n", val); + free(val); + } + else { + printf("failed to read value\n"); + return 1; + } + + val = get_config_value_and_close(work_dir, + CONF_FILENAME, + SECTION_NAME, + KEY_NAME_INVALID_READ); + if ((val != NULL) && + (strcmp(val, VALUE1) == 0)) { + printf("pl, should not be possible to read invalid key value.\n"); + return 0; + } + else { + printf("error, value was supposed to be NULL, but is: %s\n", val); + } + set_config_value_and_save(work_dir, + CONF_FILENAME, + SECTION_TYPE, + SECTION_NAME, + KEY_NAME, + VALUE2); + set_config_value_and_save(work_dir, + CONF_FILENAME, + SECTION_TYPE, + SECTION_NAME, + KEY_NAME2, + VALUE3); + set_config_value_and_save(work_dir, + CONF_FILENAME, + SECTION_TYPE2, + SECTION_NAME2, + KEY_NAME3, + VALUE4); + return 0; +} + +int main(int argc, char** argv) { + test_config(); + return 0; +}