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

Function TEST_F

src/tabletnode/test/remote_tabletnode_test.cc:57–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55}
56
57TEST_F(RemoteTabletNodeTest, LoadTablet) {
58 std::unique_ptr<LoadTabletRequest> request(new LoadTabletRequest);
59 request->set_path("test/tablet00000001");
60 std::unique_ptr<LoadTabletResponse> response(new LoadTabletResponse);
61 std::unique_ptr<MockClosure> done(new MockClosure);
62 std::unique_ptr<google::protobuf::RpcController> controller(new sofa::pbrpc::RpcController);
63 remote_ts_->LoadTablet(controller.get(), request.get(), response.get(), done.get());
64 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->queue_.size(), 1);
65 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->PendingNum(), 1);
66 EXPECT_EQ(remote_ts_->tablets_ctrl_status_.size(), 1);
67 EXPECT_EQ(remote_ts_->tablets_ctrl_status_[request->path()],
68 RemoteTabletNode::TabletCtrlStatus::kCtrlWaitLoad);
69
70 std::unique_ptr<LoadTabletRequest> request4(new LoadTabletRequest);
71 request4->set_path("test/tablet00000001");
72 std::unique_ptr<LoadTabletResponse> response4(new LoadTabletResponse);
73 std::unique_ptr<MockClosure> done4(new MockClosure);
74 std::unique_ptr<google::protobuf::RpcController> controller4(new sofa::pbrpc::RpcController);
75 remote_ts_->LoadTablet(controller4.get(), request4.get(), response4.get(), done4.get());
76 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->queue_.size(), 1);
77 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->PendingNum(), 1);
78 EXPECT_EQ(remote_ts_->tablets_ctrl_status_.size(), 1);
79 EXPECT_EQ(remote_ts_->tablets_ctrl_status_[request4->path()],
80 RemoteTabletNode::TabletCtrlStatus::kCtrlWaitLoad);
81 EXPECT_EQ(remote_ts_->lightweight_ctrl_thread_pool_->queue_.size(), 1);
82
83 std::unique_ptr<LoadTabletRequest> request2(new LoadTabletRequest);
84 request2->set_path("test/tablet00000002");
85 std::unique_ptr<LoadTabletResponse> response2(new LoadTabletResponse);
86 std::unique_ptr<MockClosure> done2(new MockClosure);
87 std::unique_ptr<google::protobuf::RpcController> controller2(new sofa::pbrpc::RpcController);
88 remote_ts_->LoadTablet(controller2.get(), request2.get(), response2.get(), done2.get());
89 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->queue_.size(), 2);
90 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->PendingNum(), 2);
91 EXPECT_EQ(remote_ts_->tablets_ctrl_status_.size(), 2);
92 EXPECT_EQ(remote_ts_->tablets_ctrl_status_[request2->path()],
93 RemoteTabletNode::TabletCtrlStatus::kCtrlWaitLoad);
94
95 std::unique_ptr<LoadTabletRequest> request3(new LoadTabletRequest);
96 request3->set_path("test/tablet00000003");
97 std::unique_ptr<LoadTabletResponse> response3(new LoadTabletResponse);
98 std::unique_ptr<MockClosure> done3(new MockClosure);
99 std::unique_ptr<google::protobuf::RpcController> controller3(new sofa::pbrpc::RpcController);
100 remote_ts_->LoadTablet(controller3.get(), request3.get(), response3.get(), done3.get());
101 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->queue_.size(), 2);
102 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->PendingNum(), 2);
103 EXPECT_EQ(remote_ts_->tablets_ctrl_status_.size(), 2);
104 EXPECT_TRUE(remote_ts_->tablets_ctrl_status_.find(request3->path()) ==
105 remote_ts_->tablets_ctrl_status_.end());
106 EXPECT_EQ(response3->status(), kTabletNodeIsBusy);
107
108 remote_ts_->ctrl_thread_pool_->Start();
109 remote_ts_->ctrl_thread_pool_->Stop(true);
110 EXPECT_EQ(remote_ts_->ctrl_thread_pool_->PendingNum(), 0);
111 EXPECT_EQ(remote_ts_->tablets_ctrl_status_.size(), 0);
112}
113
114TEST_F(RemoteTabletNodeTest, UnloadTablet) {

Callers

nothing calls this directly

Calls 8

PendingNumMethod · 0.80
LoadTabletMethod · 0.45
getMethod · 0.45
sizeMethod · 0.45
statusMethod · 0.45
StartMethod · 0.45
StopMethod · 0.45
UnloadTabletMethod · 0.45

Tested by

no test coverage detected