MCPcopy Create free account
hub / github.com/apache/brpc / ValidateLALB

Function ValidateLALB

test/brpc_load_balancer_unittest.cpp:361–381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

359}
360
361static void ValidateLALB(LALB& lalb, size_t N) {
362 LALB::Servers* d = lalb._db_servers._data;
363 for (size_t R = 0; R < 2; ++R) {
364 ASSERT_EQ(d[R].weight_tree.size(), N);
365 ASSERT_EQ(d[R].server_map.size(), N);
366 }
367 ASSERT_EQ(lalb._left_weights.size(), N);
368 int64_t total = 0;
369 for (size_t i = 0; i < N; ++i) {
370 ASSERT_EQ(d[0].weight_tree[i].server_id, d[1].weight_tree[i].server_id);
371 ASSERT_EQ(d[0].weight_tree[i].weight, d[1].weight_tree[i].weight);
372 for (size_t R = 0; R < 2; ++R) {
373 ASSERT_EQ((int64_t*)d[R].weight_tree[i].left, &lalb._left_weights[i]);
374 size_t* pindex = d[R].server_map.seek(d[R].weight_tree[i].server_id);
375 ASSERT_TRUE(pindex != NULL && *pindex == i);
376 }
377 total += d[0].weight_tree[i].weight->volatile_value();
378 }
379 ValidateWeightTree(d[0].weight_tree);
380 ASSERT_EQ(total, lalb._total.load());
381}
382
383TEST_F(LoadBalancerTest, la_sanity) {
384 LALB lalb;

Callers 1

TEST_FFunction · 0.85

Calls 5

ValidateWeightTreeFunction · 0.85
volatile_valueMethod · 0.80
sizeMethod · 0.45
seekMethod · 0.45
loadMethod · 0.45

Tested by

no test coverage detected