Move leader scheduler test out of bank
This commit is contained in:
		@@ -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(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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));
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user