Deprecate create_tmp_sample_ledger

This commit is contained in:
Greg Fitzgerald 2019-02-21 23:36:01 -07:00
parent 3610768888
commit 3be154490d
2 changed files with 40 additions and 38 deletions

View File

@ -1297,18 +1297,12 @@ pub fn get_tmp_ledger_path(name: &str) -> String {
path
}
pub fn create_tmp_sample_ledger(
pub fn create_tmp_sample_blocktree(
name: &str,
num_tokens: u64,
genesis_block: &GenesisBlock,
num_extra_ticks: u64,
bootstrap_leader_id: Pubkey,
bootstrap_leader_tokens: u64,
ticks_per_slot: u64,
) -> (Keypair, String, u64, u64, Hash, Hash) {
// TODO: Pass in a genesis block instead of all its parameters.
let (mut genesis_block, mint_keypair) =
GenesisBlock::new_with_leader(num_tokens, bootstrap_leader_id, bootstrap_leader_tokens);
genesis_block.ticks_per_slot = ticks_per_slot;
) -> (String, u64, u64, Hash, Hash) {
let ticks_per_slot = genesis_block.ticks_per_slot;
let ledger_path = get_tmp_ledger_path(name);
let (mut entry_height, mut tick_height, mut last_entry_id) =
@ -1327,6 +1321,30 @@ pub fn create_tmp_sample_ledger(
last_id = entries.last().unwrap().id;
last_entry_id = last_id;
}
(
ledger_path,
tick_height,
entry_height,
last_id,
last_entry_id,
)
}
// Deprecated! Please use create_tmp_sample_blocktree() instead.
pub fn create_tmp_sample_ledger(
name: &str,
num_tokens: u64,
num_extra_tokens: u64,
bootstrap_leader_id: Pubkey,
bootstrap_leader_tokens: u64,
ticks_per_slot: u64,
) -> (Keypair, String, u64, u64, Hash, Hash) {
let (mut genesis_block, mint_keypair) =
GenesisBlock::new_with_leader(num_tokens, bootstrap_leader_id, bootstrap_leader_tokens);
genesis_block.ticks_per_slot = ticks_per_slot;
let (ledger_path, tick_height, entry_height, last_id, last_entry_id) =
create_tmp_sample_blocktree(name, &genesis_block, num_extra_tokens);
(
mint_keypair,
ledger_path,

View File

@ -274,14 +274,13 @@ pub fn process_blocktree(
#[cfg(test)]
mod tests {
use super::*;
use crate::blocktree::create_tmp_sample_ledger;
use crate::blocktree::create_tmp_sample_blocktree;
use crate::blocktree::tests::entries_to_blobs;
use crate::entry::{create_ticks, next_entry, Entry};
use solana_sdk::genesis_block::GenesisBlock;
use solana_sdk::native_program::ProgramError;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::system_transaction::SystemTransaction;
use solana_sdk::timing::DEFAULT_TICKS_PER_SLOT;
fn fill_blocktree_slot_with_ticks(
blocktree: &Blocktree,
@ -304,17 +303,15 @@ mod tests {
solana_logger::setup();
let leader_scheduler = Arc::new(RwLock::new(LeaderScheduler::default()));
let ticks_per_slot = DEFAULT_TICKS_PER_SLOT;
let (genesis_block, _mint_keypair) = GenesisBlock::new(10_000);
let ticks_per_slot = genesis_block.ticks_per_slot;
// Create a new ledger with slot 0 full of ticks
let (_mint_keypair, ledger_path, tick_height, _entry_height, _last_id, mut last_entry_id) =
create_tmp_sample_ledger(
let (ledger_path, tick_height, _entry_height, _last_id, mut last_entry_id) =
create_tmp_sample_blocktree(
"blocktree_with_two_forks",
10_000,
&genesis_block,
ticks_per_slot - 1,
Keypair::new().pubkey(),
123,
ticks_per_slot,
);
debug!("ledger_path: {:?}", ledger_path);
assert_eq!(tick_height, ticks_per_slot);
@ -463,24 +460,11 @@ mod tests {
#[test]
fn test_process_ledger_simple() {
let ticks_per_slot = DEFAULT_TICKS_PER_SLOT;
let leader_scheduler = Arc::new(RwLock::new(LeaderScheduler::default()));
let (
mint_keypair,
ledger_path,
tick_height,
mut entry_height,
mut last_id,
mut last_entry_id,
) = create_tmp_sample_ledger(
"process_ledger_simple",
100,
0,
Keypair::new().pubkey(),
50,
ticks_per_slot,
);
let leader_pubkey = Keypair::new().pubkey();
let (genesis_block, mint_keypair) = GenesisBlock::new_with_leader(100, leader_pubkey, 50);
let (ledger_path, tick_height, mut entry_height, mut last_id, mut last_entry_id) =
create_tmp_sample_blocktree("process_ledger_simple", &genesis_block, 0);
debug!("ledger_path: {:?}", ledger_path);
let genesis_block =
GenesisBlock::load(&ledger_path).expect("Expected to successfully open genesis block");
@ -509,8 +493,8 @@ mod tests {
last_id = last_entry_id;
entries.push(tick);
let blocktree = Blocktree::open_config(&ledger_path, ticks_per_slot)
.expect("Expected to successfully open database ledger");
let blocktree =
Blocktree::open(&ledger_path).expect("Expected to successfully open database ledger");
blocktree
.write_entries(0, tick_height, entry_height, &entries)