This is an automated email from the ASF dual-hosted git repository.
wangdan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git
The following commit(s) were added to refs/heads/master by this push:
new d06a33055 refactor(test): use ASSERT_* instead of CHECK_* for
`partition_count` test and optimize the style of some code (#2334)
d06a33055 is described below
commit d06a330553217aea7ad54781bea49fd19c81a112
Author: Dan Wang <[email protected]>
AuthorDate: Tue Dec 23 14:18:55 2025 +0800
refactor(test): use ASSERT_* instead of CHECK_* for `partition_count` test
and optimize the style of some code (#2334)
---
src/meta/test/balancer_validator.cpp | 18 +++++++-----
src/meta/test/cluster_balance_policy_test.cpp | 6 ++--
src/meta/test/meta_partition_guardian_test.cpp | 40 +++++++++++++-------------
src/meta/test/misc/misc.cpp | 7 +++--
src/meta/test/update_configuration_test.cpp | 10 +++----
src/replica/storage/simple_kv/test/checker.cpp | 4 +--
src/test/function_test/utils/test_util.cpp | 8 +++++-
7 files changed, 53 insertions(+), 40 deletions(-)
diff --git a/src/meta/test/balancer_validator.cpp
b/src/meta/test/balancer_validator.cpp
index a0a5dbb15..e6754455c 100644
--- a/src/meta/test/balancer_validator.cpp
+++ b/src/meta/test/balancer_validator.cpp
@@ -38,6 +38,7 @@
#include "common/replication_other_types.h"
#include "common/serialization_helper/dsn.layer2_types.h"
+#include "gtest/gtest.h"
#include "meta/greedy_load_balancer.h"
#include "meta/meta_data.h"
#include "meta/meta_service.h"
@@ -212,17 +213,20 @@ static void load_apps_and_nodes(const char *file,
app_mapper &apps, node_mapper
info.status = app_status::AS_AVAILABLE;
std::shared_ptr<app_state> app(new app_state(info));
+ ASSERT_EQ(info.partition_count, app->partition_count);
+ ASSERT_EQ(info.partition_count, app->pcs.size());
apps[info.app_id] = app;
- for (int j = 0; j < info.partition_count; ++j) {
- int n;
- infile >> n;
- infile >> ip_port;
+ for (auto &pc : app->pcs) {
+ int n{0};
+ infile >> n >> ip_port;
+
const auto primary = host_port::from_string(ip_port);
- SET_IP_AND_HOST_PORT_BY_DNS(app->pcs[j], primary, primary);
- for (int k = 1; k < n; ++k) {
+ SET_IP_AND_HOST_PORT_BY_DNS(pc, primary, primary);
+
+ for (int j = 1; j < n; ++j) {
infile >> ip_port;
const auto secondary = host_port::from_string(ip_port);
- ADD_IP_AND_HOST_PORT_BY_DNS(app->pcs[j], secondaries,
secondary);
+ ADD_IP_AND_HOST_PORT_BY_DNS(pc, secondaries, secondary);
}
}
}
diff --git a/src/meta/test/cluster_balance_policy_test.cpp
b/src/meta/test/cluster_balance_policy_test.cpp
index 5d6060d93..b2164969a 100644
--- a/src/meta/test/cluster_balance_policy_test.cpp
+++ b/src/meta/test/cluster_balance_policy_test.cpp
@@ -192,13 +192,15 @@ TEST(cluster_balance_policy, get_node_migration_info)
node_state ns;
ns.set_hp(hp);
- gpid pid = gpid(appid, 0);
+
+ const gpid pid(appid, 0);
ns.put_partition(pid, true);
cluster_balance_policy::node_migration_info migration_info;
policy.get_node_migration_info(ns, all_apps, migration_info);
- ASSERT_EQ(migration_info.hp, hp);
+ ASSERT_EQ(hp, migration_info.hp);
+
const auto *ps = gutil::FindOrNull(migration_info.partitions, disk_tag);
ASSERT_NE(ps, nullptr);
ASSERT_EQ(1, ps->size());
diff --git a/src/meta/test/meta_partition_guardian_test.cpp
b/src/meta/test/meta_partition_guardian_test.cpp
index 11dc39943..376264852 100644
--- a/src/meta/test/meta_partition_guardian_test.cpp
+++ b/src/meta/test/meta_partition_guardian_test.cpp
@@ -814,29 +814,29 @@ void meta_partition_guardian_test::cure()
get_node_state(nodes, hp, true)->set_alive(true);
}
- bool all_partitions_healthy = false;
+ bool all_partitions_healthy{false};
while (!all_partitions_healthy) {
- configuration_proposal_action action;
- pc_status status;
all_partitions_healthy = true;
- CHECK_EQ(app->partition_count, app->pcs.size());
+ ASSERT_EQ(app->partition_count, app->pcs.size());
for (const auto &pc : app->pcs) {
- status = guardian.cure({&apps, &nodes}, pc.pid, action);
- if (status != pc_status::healthy) {
- all_partitions_healthy = false;
- proposal_action_check_and_apply(action, pc.pid, apps, nodes,
nullptr);
-
- configuration_update_request fake_request;
- fake_request.info = *app;
- fake_request.config = pc;
- fake_request.type = action.type;
- SET_OBJ_IP_AND_HOST_PORT(fake_request, node, action, node);
- fake_request.host_node = action.node;
-
- guardian.reconfig({&apps, &nodes}, fake_request);
- check_nodes_loads(nodes);
+ configuration_proposal_action action;
+ if (guardian.cure({&apps, &nodes}, pc.pid, action) ==
pc_status::healthy) {
+ continue;
}
+
+ all_partitions_healthy = false;
+ proposal_action_check_and_apply(action, pc.pid, apps, nodes,
nullptr);
+
+ configuration_update_request fake_request;
+ fake_request.info = *app;
+ fake_request.config = pc;
+ fake_request.type = action.type;
+ SET_OBJ_IP_AND_HOST_PORT(fake_request, node, action, node);
+ fake_request.host_node = action.node;
+
+ guardian.reconfig({&apps, &nodes}, fake_request);
+ check_nodes_loads(nodes);
}
}
}
@@ -872,8 +872,8 @@ void meta_partition_guardian_test::from_proposal_test()
configuration_proposal_action cpa;
configuration_proposal_action cpa2;
- dsn::partition_configuration &pc = *get_config(apps, p);
- config_context &cc = *get_config_context(apps, p);
+ auto &pc = *get_config(apps, p);
+ auto &cc = *get_config_context(apps, p);
std::cerr << "Case 1: test no proposals in config_context" << std::endl;
ASSERT_FALSE(guardian.from_proposals(mv, p, cpa));
diff --git a/src/meta/test/misc/misc.cpp b/src/meta/test/misc/misc.cpp
index 13d73e105..ed44ac438 100644
--- a/src/meta/test/misc/misc.cpp
+++ b/src/meta/test/misc/misc.cpp
@@ -29,10 +29,10 @@
#include <boost/lexical_cast.hpp>
#include <fmt/core.h>
// IWYU pragma: no_include <ext/alloc_traits.h>
-#include <stdio.h>
#include <atomic>
#include <chrono>
#include <cstdint>
+#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <set>
@@ -46,6 +46,7 @@
#include "common/replication_other_types.h"
#include "dsn.layer2_types.h"
#include "duplication_types.h"
+#include "gtest/gtest.h"
#include "meta_admin_types.h"
#include "metadata_types.h"
#include "rpc/dns_resolver.h" // IWYU pragma: keep
@@ -78,7 +79,7 @@ void verbose_apps(const app_mapper &input_apps)
for (const auto &apps : input_apps) {
const std::shared_ptr<app_state> &app = apps.second;
std::cout << apps.first << " " << app->partition_count << std::endl;
- CHECK_EQ(app->partition_count, app->pcs.size());
+ ASSERT_EQ(app->partition_count, app->pcs.size());
for (const auto &pc : app->pcs) {
std::cout << pc.hp_secondaries.size() + 1 << " " << pc.hp_primary;
for (const auto &secondary : pc.hp_secondaries) {
@@ -454,7 +455,7 @@ void app_mapper_compare(const app_mapper &mapper1, const
app_mapper &mapper2)
app1->status == dsn::app_status::AS_DROPPED,
"");
if (app1->status == dsn::app_status::AS_AVAILABLE) {
- CHECK_EQ(app1->partition_count, app2->partition_count);
+ ASSERT_EQ(app1->partition_count, app2->partition_count);
for (unsigned int i = 0; i < app1->partition_count; ++i) {
CHECK(is_partition_config_equal(app1->pcs[i], app2->pcs[i]),
"");
}
diff --git a/src/meta/test/update_configuration_test.cpp
b/src/meta/test/update_configuration_test.cpp
index 85849cea6..8f0801002 100644
--- a/src/meta/test/update_configuration_test.cpp
+++ b/src/meta/test/update_configuration_test.cpp
@@ -388,11 +388,11 @@ void meta_service_test_app::adjust_dropped_size()
static void clone_app_mapper(app_mapper &output, const app_mapper &input)
{
output.clear();
- for (auto &iter : input) {
- const std::shared_ptr<app_state> &old_app = iter.second;
- dsn::app_info info = *old_app;
- std::shared_ptr<app_state> new_app = app_state::create(info);
- CHECK_EQ(old_app->partition_count, old_app->pcs.size());
+ for (const auto &[_, old_app] : input) {
+ ASSERT_EQ(old_app->partition_count, old_app->pcs.size());
+
+ const dsn::app_info info = *old_app;
+ auto new_app = app_state::create(info);
new_app->pcs = old_app->pcs;
output.emplace(new_app->app_id, new_app);
}
diff --git a/src/replica/storage/simple_kv/test/checker.cpp
b/src/replica/storage/simple_kv/test/checker.cpp
index f9c5e9cd8..c6440b5b4 100644
--- a/src/replica/storage/simple_kv/test/checker.cpp
+++ b/src/replica/storage/simple_kv/test/checker.cpp
@@ -330,9 +330,9 @@ void test_checker::get_current_states(state_snapshot
&states)
bool test_checker::get_current_config(parti_config &config)
{
meta_service_app *meta = meta_leader();
- if (meta == nullptr)
+ if (meta == nullptr) {
return false;
- partition_configuration pc;
+ }
// we should never try to acquire lock when we are in checker. Because we
are the only
// thread that is running.
diff --git a/src/test/function_test/utils/test_util.cpp
b/src/test/function_test/utils/test_util.cpp
index b48e09c00..ff6aa8c71 100644
--- a/src/test/function_test/utils/test_util.cpp
+++ b/src/test/function_test/utils/test_util.cpp
@@ -32,6 +32,7 @@
#include "client/replication_ddl_client.h"
#include "common/common.h"
+#include "common/gpid.h"
#include "common/replication_other_types.h"
#include "fmt/core.h"
#include "gtest/gtest.h"
@@ -99,11 +100,16 @@ void test_util::SetUp()
client_ = pegasus_client_factory::get_client(kClusterName.c_str(),
table_name_.c_str());
ASSERT_TRUE(client_ != nullptr);
- int32_t partition_count;
+ int32_t partition_count{0};
ASSERT_EQ(dsn::ERR_OK, ddl_client_->list_app(table_name_, table_id_,
partition_count, pcs_));
ASSERT_NE(0, table_id_);
ASSERT_EQ(partition_count_, partition_count);
ASSERT_EQ(partition_count_, pcs_.size());
+
+ int32_t partition_index{0};
+ for (const auto &pc : pcs_) {
+ ASSERT_EQ(dsn::gpid(table_id_, partition_index++), pc.pid);
+ }
}
void test_util::run_cmd_from_project_root(const std::string &cmd)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]