From e551f6b552c9f42e0eb75859d1193e97c654309e Mon Sep 17 00:00:00 2001 From: Jack May Date: Mon, 8 Apr 2019 12:37:01 -0700 Subject: [PATCH] Support settable drone lamport cap (#3675) --- bench-tps/src/bench.rs | 2 +- drone/src/drone.rs | 12 ++++++++++-- drone/tests/local-drone.rs | 2 +- wallet/tests/deploy.rs | 2 +- wallet/tests/pay.rs | 6 +++--- wallet/tests/request_airdrop.rs | 2 +- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/bench-tps/src/bench.rs b/bench-tps/src/bench.rs index e91ec0782..3bf0d913a 100644 --- a/bench-tps/src/bench.rs +++ b/bench-tps/src/bench.rs @@ -758,7 +758,7 @@ mod tests { cluster.transfer(&cluster.funding_keypair, &drone_keypair.pubkey(), 1_000_000); let (addr_sender, addr_receiver) = channel(); - run_local_drone(drone_keypair, addr_sender); + run_local_drone(drone_keypair, addr_sender, None); let drone_addr = addr_receiver.recv_timeout(Duration::from_secs(2)).unwrap(); let mut cfg = Config::default(); diff --git a/drone/src/drone.rs b/drone/src/drone.rs index 8efdd6d74..a4e1add59 100644 --- a/drone/src/drone.rs +++ b/drone/src/drone.rs @@ -243,10 +243,18 @@ pub fn request_airdrop_transaction( } // For integration tests. Listens on random open port and reports port to Sender. -pub fn run_local_drone(mint_keypair: Keypair, sender: Sender) { +pub fn run_local_drone( + mint_keypair: Keypair, + sender: Sender, + request_cap_input: Option, +) { thread::spawn(move || { let drone_addr = socketaddr!(0, 0); - let drone = Arc::new(Mutex::new(Drone::new(mint_keypair, None, None))); + let drone = Arc::new(Mutex::new(Drone::new( + mint_keypair, + None, + request_cap_input, + ))); let socket = TcpListener::bind(&drone_addr).unwrap(); sender.send(socket.local_addr().unwrap()).unwrap(); info!("Drone started. Listening on: {}", drone_addr); diff --git a/drone/tests/local-drone.rs b/drone/tests/local-drone.rs index d2d11c925..a698069ed 100644 --- a/drone/tests/local-drone.rs +++ b/drone/tests/local-drone.rs @@ -19,7 +19,7 @@ fn test_local_drone() { let expected_tx = Transaction::new(&[&keypair], message, blockhash); let (sender, receiver) = channel(); - run_local_drone(keypair, sender); + run_local_drone(keypair, sender, None); let drone_addr = receiver.recv().unwrap(); let result = request_airdrop_transaction(&drone_addr, &to, lamports, blockhash); diff --git a/wallet/tests/deploy.rs b/wallet/tests/deploy.rs index b2de4ae6f..ffa68c6d5 100644 --- a/wallet/tests/deploy.rs +++ b/wallet/tests/deploy.rs @@ -23,7 +23,7 @@ fn test_wallet_deploy_program() { let (server, leader_data, alice, ledger_path) = new_fullnode_for_tests(); let (sender, receiver) = channel(); - run_local_drone(alice, sender); + run_local_drone(alice, sender, None); let drone_addr = receiver.recv().unwrap(); let rpc_client = RpcClient::new_socket(leader_data.rpc); diff --git a/wallet/tests/pay.rs b/wallet/tests/pay.rs index 4274fb240..7481eb3b9 100644 --- a/wallet/tests/pay.rs +++ b/wallet/tests/pay.rs @@ -24,7 +24,7 @@ fn test_wallet_timestamp_tx() { let bob_pubkey = Pubkey::new_rand(); let (sender, receiver) = channel(); - run_local_drone(alice, sender); + run_local_drone(alice, sender, None); let drone_addr = receiver.recv().unwrap(); let rpc_client = RpcClient::new_socket(leader_data.rpc); @@ -88,7 +88,7 @@ fn test_wallet_witness_tx() { let bob_pubkey = Pubkey::new_rand(); let (sender, receiver) = channel(); - run_local_drone(alice, sender); + run_local_drone(alice, sender, None); let drone_addr = receiver.recv().unwrap(); let rpc_client = RpcClient::new_socket(leader_data.rpc); @@ -149,7 +149,7 @@ fn test_wallet_cancel_tx() { let bob_pubkey = Pubkey::new_rand(); let (sender, receiver) = channel(); - run_local_drone(alice, sender); + run_local_drone(alice, sender, None); let drone_addr = receiver.recv().unwrap(); let rpc_client = RpcClient::new_socket(leader_data.rpc); diff --git a/wallet/tests/request_airdrop.rs b/wallet/tests/request_airdrop.rs index 9ea001d1b..01bb7f5ed 100644 --- a/wallet/tests/request_airdrop.rs +++ b/wallet/tests/request_airdrop.rs @@ -10,7 +10,7 @@ use std::sync::mpsc::channel; fn test_wallet_request_airdrop() { let (server, leader_data, alice, ledger_path) = new_fullnode_for_tests(); let (sender, receiver) = channel(); - run_local_drone(alice, sender); + run_local_drone(alice, sender, None); let drone_addr = receiver.recv().unwrap(); let mut bob_config = WalletConfig::default();