]> pilppa.org Git - libplp.git/blob - src_test/test_config2.cc
api fixes and cleanups
[libplp.git] / src_test / test_config2.cc
1 /*
2  * test_config2.cc
3  *
4  *  Created on: Aug 3, 2012
5  *      Author: lamikr
6  */
7 #include <string>
8 #include "../src/DeviceConfig.hh"
9 #include "../src/FileUtil.hh"
10 #include "../src/log.h"
11
12 using namespace plp;
13 using namespace std;
14
15 #define DEVICE_NAME1    "device_1"
16 #define KEY_NAME1       "key1"
17 #define KEY_NAME2       "key2"
18 #define KEY_NAME3       "key3"
19
20 #define VALUE_NAME1     "val1"
21 #define VALUE_NAME2     "val2"
22 #define VALUE_NAME3     "val3"
23
24 int test_config() {
25         DeviceConfig *dev_cfg;
26         string val;
27         string fname_full;
28         string fname_path;
29         bool    succ;
30
31         DeviceConfig::set_base_dir_name("/tmp/test");
32         dev_cfg         = new DeviceConfig(DEVICE_NAME1);
33         fname_full      = dev_cfg->get_config_file_name();
34         fname_path      = FileUtil::parse_directory_path(fname_full.c_str());
35         log_info("file-name: %s, path_name: %s\n",
36                 fname_full.c_str(), fname_path.c_str());
37         dev_cfg->set_config_value(KEY_NAME1, VALUE_NAME1, false);
38         // check that read works even if values have not been saved yet
39         succ    = dev_cfg->get_config_value(KEY_NAME1, val);
40         if (succ) {
41                 log_info("val1: %s\n", val.c_str());
42         }
43         else {
44                 log_error("failed to get value for key: %s\n", KEY_NAME1);
45         }
46         dev_cfg->set_config_value(KEY_NAME2, VALUE_NAME2, true);
47         succ    = dev_cfg->get_config_value(KEY_NAME2, val);
48         if (succ) {
49                 log_info("val2: %s\n", val.c_str());
50         }
51         else {
52                 log_error("failed to get value for key: %s\n", KEY_NAME2);
53         }
54         succ    = dev_cfg->get_config_value(KEY_NAME2, val);
55         if (succ) {
56                 log_info("val3: %s\n", val.c_str());
57         }
58         else {
59                 log_error("failed to get value for key: %s\n", KEY_NAME2);
60         }
61         dev_cfg->set_config_value(KEY_NAME3, VALUE_NAME3, false);
62         // check whether device_config destructor will do the final save
63         delete(dev_cfg);
64
65         return 0;
66 }
67
68 int main(int argc, char** argv) {
69         test_config();
70         return 0;
71 }