diff --git a/tests/data_replicator.rs b/tests/data_replicator.rs index 78de62b53c..f0dd6f840d 100644 --- a/tests/data_replicator.rs +++ b/tests/data_replicator.rs @@ -8,6 +8,7 @@ use solana::crdt::{Crdt, TestNode}; use solana::logger; use solana::ncp::Ncp; use solana::packet::Blob; +use solana::result; use solana::service::Service; use std::net::UdpSocket; use std::sync::atomic::{AtomicBool, Ordering}; @@ -71,7 +72,7 @@ where } /// ring a -> b -> c -> d -> e -> a #[test] -fn gossip_ring() { +fn gossip_ring() -> result::Result<()> { logger::setup(); run_gossip_topo(|listen| { let num = listen.len(); @@ -85,6 +86,8 @@ fn gossip_ring() { xv.insert(&d); } }); + + Ok(()) } /// star a -> (b,c,d,e) @@ -131,7 +134,7 @@ fn gossip_rstar() { } #[test] -pub fn crdt_retransmit() { +pub fn crdt_retransmit() -> result::Result<()> { logger::setup(); let exit = Arc::new(AtomicBool::new(false)); trace!("c1:"); @@ -164,7 +167,7 @@ pub fn crdt_retransmit() { assert!(done); let mut b = Blob::default(); b.meta.size = 10; - Crdt::retransmit(&c1, &Arc::new(RwLock::new(b)), &tn1).unwrap(); + Crdt::retransmit(&c1, &Arc::new(RwLock::new(b)), &tn1)?; let res: Vec<_> = [tn1, tn2, tn3] .into_par_iter() .map(|s| { @@ -181,6 +184,8 @@ pub fn crdt_retransmit() { dr1.join().unwrap(); dr2.join().unwrap(); dr3.join().unwrap(); + + Ok(()) } #[test] diff --git a/tests/multinode.rs b/tests/multinode.rs index 6a299dd0f3..3f7479fd6b 100755 --- a/tests/multinode.rs +++ b/tests/multinode.rs @@ -10,6 +10,7 @@ use solana::ledger::LedgerWriter; use solana::logger; use solana::mint::Mint; use solana::ncp::Ncp; +use solana::result; use solana::service::Service; use solana::signature::{KeyPair, KeyPairUtil, PublicKey}; use solana::streamer::default_window; @@ -107,7 +108,7 @@ fn tmp_copy_ledger(from: &str, name: &str) -> String { } #[test] -fn test_multi_node_validator_catchup_from_zero() { +fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> { logger::setup(); const N: usize = 5; trace!("test_multi_node_validator_catchup_from_zero"); @@ -195,7 +196,7 @@ fn test_multi_node_validator_catchup_from_zero() { info!("leader balance {}", leader_balance); loop { let mut client = mk_client(&leader_data); - leader_balance = client.poll_get_balance(&bob_pubkey).unwrap(); + leader_balance = client.poll_get_balance(&bob_pubkey)?; if leader_balance == 1000 { break; } @@ -220,11 +221,13 @@ fn test_multi_node_validator_catchup_from_zero() { assert_eq!(success, servers.len()); for node in nodes { - node.close().unwrap(); + node.close()?; } for path in ledger_paths { remove_dir_all(path).unwrap(); } + + Ok(()) } #[test] @@ -293,7 +296,7 @@ fn test_multi_node_basic() { } #[test] -fn test_boot_validator_from_file() { +fn test_boot_validator_from_file() -> result::Result<()> { logger::setup(); let leader_keypair = KeyPair::new(); let leader = TestNode::new_localhost_with_pubkey(leader_keypair.pubkey()); @@ -327,11 +330,13 @@ fn test_boot_validator_from_file() { let getbal = retry_get_balance(&mut client, &bob_pubkey, Some(leader_balance)); assert!(getbal == Some(leader_balance)); - val_fullnode.close().unwrap(); - leader_fullnode.close().unwrap(); + val_fullnode.close()?; + leader_fullnode.close()?; for path in ledger_paths { - remove_dir_all(path).unwrap(); + remove_dir_all(path)?; } + + Ok(()) } fn create_leader(ledger_path: &str) -> (NodeInfo, FullNode) { @@ -343,7 +348,7 @@ fn create_leader(ledger_path: &str) -> (NodeInfo, FullNode) { } #[test] -fn test_leader_restart_validator_start_from_old_ledger() { +fn test_leader_restart_validator_start_from_old_ledger() -> result::Result<()> { // this test verifies that a freshly started leader makes his ledger available // in the repair window to validators that are started with an older // ledger (currently up to WINDOW_SIZE entries) @@ -366,7 +371,7 @@ fn test_leader_restart_validator_start_from_old_ledger() { ); // restart the leader - leader_fullnode.close().unwrap(); + leader_fullnode.close()?; let (leader_data, leader_fullnode) = create_leader(&ledger_path); // lengthen the ledger @@ -375,7 +380,7 @@ fn test_leader_restart_validator_start_from_old_ledger() { assert_eq!(leader_balance, 1000); // restart the leader - leader_fullnode.close().unwrap(); + leader_fullnode.close()?; let (leader_data, leader_fullnode) = create_leader(&ledger_path); // start validator from old ledger @@ -410,10 +415,12 @@ fn test_leader_restart_validator_start_from_old_ledger() { let getbal = retry_get_balance(&mut client, &bob_pubkey, Some(expected)); assert_eq!(getbal, Some(expected)); - val_fullnode.close().unwrap(); - leader_fullnode.close().unwrap(); - remove_dir_all(ledger_path).unwrap(); - remove_dir_all(stale_ledger_path).unwrap(); + val_fullnode.close()?; + leader_fullnode.close()?; + remove_dir_all(ledger_path)?; + remove_dir_all(stale_ledger_path)?; + + Ok(()) } //TODO: this test will run a long time so it's disabled for CI