Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit 166099b

Browse files
authored
Start validators in parallel in multinode test (#727)
1 parent c707b3d commit 166099b

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

tests/multinode.rs

100644100755
Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#[macro_use]
22
extern crate log;
33
extern crate bincode;
4+
extern crate rayon;
45
extern crate serde_json;
56
extern crate solana;
67

8+
use rayon::prelude::*;
79
use solana::crdt::TestNode;
810
use solana::crdt::{Crdt, NodeInfo};
911
use solana::entry_writer::EntryWriter;
@@ -389,24 +391,32 @@ fn test_multi_node_dynamic_network() {
389391
send_tx_and_retry_get_balance(&leader_data, &alice, &bob_pubkey, Some(1000)).unwrap();
390392
assert_eq!(leader_balance, 1000);
391393

392-
let validators: Vec<(NodeInfo, FullNode)> = (0..N)
393-
.into_iter()
394+
let keypairs: Vec<(KeyPair)> = (0..N)
395+
.into_par_iter()
394396
.map(|n| {
395397
let keypair = KeyPair::new();
396-
let validator = TestNode::new_localhost_with_pubkey(keypair.pubkey());
397-
let rd = validator.data.clone();
398398
//send some tokens to the new validator
399399
let bal =
400400
send_tx_and_retry_get_balance(&leader_data, &alice, &keypair.pubkey(), Some(500));
401401
assert_eq!(bal, Some(500));
402+
info!("sent balance to[{}/{}] {:x}", n, N, keypair.pubkey());
403+
keypair
404+
})
405+
.collect();
406+
407+
let validators: Vec<(NodeInfo, FullNode)> = keypairs
408+
.into_par_iter()
409+
.map(|keypair| {
410+
let validator = TestNode::new_localhost_with_pubkey(keypair.pubkey());
411+
let rd = validator.data.clone();
412+
info!("starting {:8x} {:x}", keypair.pubkey(), rd.debug_id());
402413
let val = FullNode::new(
403414
validator,
404415
false,
405416
LedgerFile::Path(ledger_path.clone()),
406417
Some(keypair),
407418
Some(leader_data.contact_info.ncp),
408419
);
409-
info!("started[{}/{}] {:x}", n, N, rd.debug_id());
410420
(rd, val)
411421
})
412422
.collect();

0 commit comments

Comments
 (0)