| 71 | } |
| 72 | |
| 73 | void StoreRun(const int vpid) { |
| 74 | comm::RetCode ret; |
| 75 | |
| 76 | auto proc_name = string("test_store.") + to_string(vpid); |
| 77 | |
| 78 | comm::LogFunc log_func; |
| 79 | plugin::LoggerGoogle::GetLogger(proc_name, "/tmp/phxqueue/log", 3, log_func); |
| 80 | comm::Logger::GetInstance()->SetLogFunc(log_func); |
| 81 | |
| 82 | config::StoreConfig store_config; |
| 83 | store_config.Load(); |
| 84 | |
| 85 | vector<shared_ptr<const config::proto::Store> > stores; |
| 86 | if (comm::RetCode::RET_OK != (ret = store_config.GetAllStore(stores))) { |
| 87 | NLErr("GetAllStore ret %d", as_integer(ret)); |
| 88 | return; |
| 89 | } |
| 90 | if (0 == stores.size()) { |
| 91 | NLErr("stores.size 0"); |
| 92 | return; |
| 93 | } |
| 94 | if (3 != stores[0]->addrs_size()) { |
| 95 | NLErr("stores[0]->addrs_size %zu != 3", stores[0]->addrs_size()); |
| 96 | return; |
| 97 | } |
| 98 | |
| 99 | auto path_base = string("/tmp/phxqueue/store.") + to_string(vpid); |
| 100 | |
| 101 | store::StoreOption opt; |
| 102 | opt.topic = "test"; |
| 103 | opt.data_dir_path = path_base; |
| 104 | opt.ip = stores[0]->addrs(vpid).ip(); |
| 105 | opt.port = stores[0]->addrs(vpid).port(); |
| 106 | opt.paxos_port = stores[0]->addrs(vpid).paxos_port(); |
| 107 | opt.ngroup = 1; |
| 108 | opt.nsub = 2; |
| 109 | opt.log_func = log_func; |
| 110 | |
| 111 | NLVerb("store %d opt done", vpid); |
| 112 | |
| 113 | store::Store store(opt); |
| 114 | if (comm::RetCode::RET_OK != (ret = store.Init())) { |
| 115 | NLErr("Store Init ret %d", as_integer(ret)); |
| 116 | return; |
| 117 | } |
| 118 | |
| 119 | NLVerb("store %d init ret %d", vpid, as_integer(ret)); |
| 120 | |
| 121 | sleep(10); |
| 122 | |
| 123 | if (vpid == 0) { |
| 124 | while (1) { |
| 125 | TestAdd(store); |
| 126 | sleep(10); |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | sleep(1000); |
no test coverage detected