Skip to content

Commit

Permalink
chore: reduce duplicate code
Browse files Browse the repository at this point in the history
  • Loading branch information
WenyXu committed Jun 25, 2024
1 parent dd00ebc commit 62953d0
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 45 deletions.
31 changes: 2 additions & 29 deletions src/meta-srv/src/handler/failure_handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,8 @@ impl HeartbeatHandler for RegionFailureHandler {

#[cfg(test)]
mod tests {
use std::sync::Arc;
use std::time::Duration;

use api::v1::meta::HeartbeatRequest;
use common_catalog::consts::default_engine;
use common_meta::peer::Peer;
use store_api::region_engine::RegionRole;
use store_api::storage::RegionId;
use tokio::sync::oneshot;
Expand All @@ -74,31 +70,8 @@ mod tests {
use crate::handler::node_stat::{RegionStat, Stat};
use crate::handler::{HeartbeatAccumulator, HeartbeatHandler};
use crate::metasrv::builder::MetasrvBuilder;
use crate::procedure::region_migration::manager::RegionMigrationManager;
use crate::procedure::region_migration::test_util::TestingEnv;
use crate::region::supervisor::{Event, RegionSupervisor};
use crate::selector::test_utils::{new_test_selector_context, RandomNodeSelector};

fn new_test_supervisor() -> RegionSupervisor {
let env = TestingEnv::new();
let kv_backend = env.kv_backend();
let selector_context = new_test_selector_context();
let selector = Arc::new(RandomNodeSelector::new(vec![Peer::empty(1)]));
let context_factory = env.context_factory();
let region_migration_manager = Arc::new(RegionMigrationManager::new(
env.procedure_manager().clone(),
context_factory,
));

RegionSupervisor::new(
Default::default(),
Duration::from_secs(1),
selector_context,
selector,
region_migration_manager,
kv_backend,
)
}
use crate::region::supervisor::tests::new_test_supervisor;
use crate::region::supervisor::Event;

#[tokio::test]
async fn test_handle_heartbeat() {
Expand Down
26 changes: 10 additions & 16 deletions src/meta-srv/src/region/supervisor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,7 @@ impl RegionSupervisor {
}

#[cfg(test)]
mod tests {
pub(crate) mod tests {
use std::assert_matches::assert_matches;
use std::sync::{Arc, Mutex};
use std::time::Duration;
Expand All @@ -456,7 +456,7 @@ mod tests {
};
use crate::selector::test_utils::{new_test_selector_context, RandomNodeSelector};

fn new_test_supervisor() -> RegionSupervisor {
pub(crate) fn new_test_supervisor() -> RegionSupervisor {
let env = TestingEnv::new();
let selector_context = new_test_selector_context();
let selector = Arc::new(RandomNodeSelector::new(vec![Peer::empty(1)]));
Expand Down Expand Up @@ -561,21 +561,15 @@ mod tests {
tick_interval: Duration::from_millis(10),
sender: tx,
};
ticker.start();
sleep(Duration::from_millis(100)).await;
ticker.stop();
assert!(!rx.is_empty());
while let Ok(event) = rx.try_recv() {
assert_matches!(event, Event::Tick | Event::Clear);
}

// It's ok if we start the ticker again.
ticker.start();
sleep(Duration::from_millis(100)).await;
ticker.stop();
assert!(!rx.is_empty());
while let Ok(event) = rx.try_recv() {
assert_matches!(event, Event::Tick | Event::Clear);
for _ in 0..2 {
ticker.start();
sleep(Duration::from_millis(100)).await;
ticker.stop();
assert!(!rx.is_empty());
while let Ok(event) = rx.try_recv() {
assert_matches!(event, Event::Tick | Event::Clear);
}
}
}
}

0 comments on commit 62953d0

Please sign in to comment.