MCPcopy Create free account
hub / github.com/baidu/tera / TEST_F

Function TEST_F

src/master/test/abnormal_node_test.cc:19–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17};
18
19TEST_F(AbnormalNodeTest, TestRecoredNodeDelete) {
20 FLAGS_abnormal_node_check_period_s = 10;
21 FLAGS_abnormal_node_trigger_count = 3;
22 FLAGS_abnormal_node_auto_recovery_period_s = 30;
23 AbnormalNodeMgr mgr;
24 const std::string addr = "host0";
25
26 mgr.RecordNodeDelete(addr, get_micros() / 1000000);
27 ASSERT_EQ(1, mgr.nodes_abnormal_infos_[addr].deleted_times.size());
28 ASSERT_EQ(0, mgr.nodes_abnormal_infos_[addr].abnormal_count);
29
30 mgr.RecordNodeDelete(addr, get_micros() / 1000000);
31 ASSERT_EQ(2, mgr.nodes_abnormal_infos_[addr].deleted_times.size());
32 ASSERT_EQ(0, mgr.nodes_abnormal_infos_[addr].abnormal_count);
33
34 int64_t t1 = get_micros() / 1000000;
35 mgr.RecordNodeDelete(addr, t1);
36 ASSERT_EQ(0, mgr.nodes_abnormal_infos_[addr].deleted_times.size());
37 ASSERT_EQ(1, mgr.nodes_abnormal_infos_[addr].abnormal_count);
38 ASSERT_EQ(mgr.nodes_abnormal_infos_[addr].recovery_time,
39 t1 + FLAGS_abnormal_node_auto_recovery_period_s);
40
41 mgr.RecordNodeDelete(addr, get_micros() / 1000000);
42 ASSERT_EQ(1, mgr.nodes_abnormal_infos_[addr].deleted_times.size());
43 ASSERT_EQ(1, mgr.nodes_abnormal_infos_[addr].abnormal_count);
44
45 mgr.RecordNodeDelete(addr, get_micros() / 1000000);
46 ASSERT_EQ(2, mgr.nodes_abnormal_infos_[addr].deleted_times.size());
47 ASSERT_EQ(1, mgr.nodes_abnormal_infos_[addr].abnormal_count);
48
49 int64_t t2 = get_micros() / 1000000;
50 mgr.RecordNodeDelete(addr, t2);
51 ASSERT_EQ(0, mgr.nodes_abnormal_infos_[addr].deleted_times.size());
52 ASSERT_EQ(2, mgr.nodes_abnormal_infos_[addr].abnormal_count);
53 ASSERT_EQ(mgr.nodes_abnormal_infos_[addr].recovery_time,
54 t2 + (FLAGS_abnormal_node_auto_recovery_period_s << 1));
55}
56
57TEST_F(AbnormalNodeTest, TestIsAbnormalNode) {
58 AbnormalNodeMgr mgr;

Callers

nothing calls this directly

Calls 5

RecordNodeDeleteMethod · 0.80
DeleteTooFrequentMethod · 0.80
get_microsFunction · 0.50
sizeMethod · 0.45
IsAbnormalNodeMethod · 0.45

Tested by

no test coverage detected