X-Git-Url: http://pilppa.org/gitweb/?p=libplp.git;a=blobdiff_plain;f=src_test%2Ftest_config2.cc;fp=src_test%2Ftest_config2.cc;h=9b0cf5ecd18c25539d7c364cbfb603663f62c035;hp=0000000000000000000000000000000000000000;hb=860d8c023b82eeca9833d4a3f534c6d11a9523f3;hpb=65f22bbea2531f7cd492d6108b8902f92b7750a8 diff --git a/src_test/test_config2.cc b/src_test/test_config2.cc new file mode 100644 index 0000000..9b0cf5e --- /dev/null +++ b/src_test/test_config2.cc @@ -0,0 +1,71 @@ +/* + * test_config2.cc + * + * Created on: Aug 3, 2012 + * Author: lamikr + */ +#include +#include "../src/DeviceConfig.hh" +#include "../src/FileUtil.hh" +#include "../src/log.h" + +using namespace plp; +using namespace std; + +#define DEVICE_NAME1 "device_1" +#define KEY_NAME1 "key1" +#define KEY_NAME2 "key2" +#define KEY_NAME3 "key3" + +#define VALUE_NAME1 "val1" +#define VALUE_NAME2 "val2" +#define VALUE_NAME3 "val3" + +int test_config() { + DeviceConfig *dev_cfg; + string val; + string fname_full; + string fname_path; + bool succ; + + DeviceConfig::set_base_dir_name("/tmp/test"); + dev_cfg = new DeviceConfig(DEVICE_NAME1); + fname_full = dev_cfg->get_config_file_name(); + fname_path = FileUtil::parse_directory_path(fname_full.c_str()); + log_info("file-name: %s, path_name: %s\n", + fname_full.c_str(), fname_path.c_str()); + dev_cfg->set_config_value(KEY_NAME1, VALUE_NAME1, false); + // check that read works even if values have not been saved yet + succ = dev_cfg->get_config_value(KEY_NAME1, val); + if (succ) { + log_info("val1: %s\n", val.c_str()); + } + else { + log_error("failed to get value for key: %s\n", KEY_NAME1); + } + dev_cfg->set_config_value(KEY_NAME2, VALUE_NAME2, true); + succ = dev_cfg->get_config_value(KEY_NAME2, val); + if (succ) { + log_info("val2: %s\n", val.c_str()); + } + else { + log_error("failed to get value for key: %s\n", KEY_NAME2); + } + succ = dev_cfg->get_config_value(KEY_NAME2, val); + if (succ) { + log_info("val3: %s\n", val.c_str()); + } + else { + log_error("failed to get value for key: %s\n", KEY_NAME2); + } + dev_cfg->set_config_value(KEY_NAME3, VALUE_NAME3, false); + // check whether device_config destructor will do the final save + delete(dev_cfg); + + return 0; +} + +int main(int argc, char** argv) { + test_config(); + return 0; +}