Move leader scheduler test out of bank

This commit is contained in:
Greg Fitzgerald 2019-02-16 10:45:34 -07:00
parent e42c95a327
commit 07b57735b1
2 changed files with 13 additions and 9 deletions

View File

@ -830,14 +830,6 @@ impl Bank {
.collect() .collect()
} }
#[cfg(test)]
fn get_current_leader(&self) -> Option<Pubkey> {
let tick_height = self.tick_height();
let leader_scheduler = self.leader_scheduler.read().unwrap();
let slot = leader_scheduler.tick_height_to_slot(tick_height);
leader_scheduler.get_leader_for_slot(slot)
}
pub fn tick_height(&self) -> u64 { pub fn tick_height(&self) -> u64 {
self.last_id_queue.read().unwrap().tick_height self.last_id_queue.read().unwrap().tick_height
} }
@ -1142,7 +1134,6 @@ mod tests {
let bank = Bank::new(&genesis_block); let bank = Bank::new(&genesis_block);
assert_eq!(bank.get_balance(&genesis_block.mint_id), 3); assert_eq!(bank.get_balance(&genesis_block.mint_id), 3);
assert_eq!(bank.get_balance(&dummy_leader_id), 1); assert_eq!(bank.get_balance(&dummy_leader_id), 1);
assert_eq!(bank.get_current_leader(), Some(dummy_leader_id));
} }
fn create_sample_block_with_next_entries_using_keypairs( fn create_sample_block_with_next_entries_using_keypairs(

View File

@ -591,6 +591,19 @@ pub mod tests {
} }
} }
#[test]
fn test_leader_after_genesis() {
solana_logger::setup();
let leader_id = Keypair::new().pubkey();
let leader_tokens = 2;
let (genesis_block, _) = GenesisBlock::new_with_leader(5, leader_id, leader_tokens);
let leader_scheduler = Arc::new(RwLock::new(LeaderScheduler::default()));
let bank = Bank::new_with_leader_scheduler(&genesis_block, leader_scheduler.clone());
let leader_scheduler = leader_scheduler.read().unwrap();
let slot = leader_scheduler.tick_height_to_slot(bank.tick_height());
assert_eq!(leader_scheduler.get_leader_for_slot(slot), Some(leader_id));
}
#[test] #[test]
fn test_num_ticks_left_in_block() { fn test_num_ticks_left_in_block() {
let leader_scheduler = LeaderScheduler::new(&LeaderSchedulerConfig::new(10, 2, 1)); let leader_scheduler = LeaderScheduler::new(&LeaderSchedulerConfig::new(10, 2, 1));