Enable integration test logging for better debug on CI failure
This commit is contained in:
parent
8e4a86e329
commit
b03d1d8894
|
@ -28,11 +28,14 @@ for program in programs/native/*; do
|
||||||
done
|
done
|
||||||
|
|
||||||
# Run integration tests serially
|
# Run integration tests serially
|
||||||
|
OLD_RUST_LOG=$RUST_LOG
|
||||||
for test in tests/*.rs wallet/tests/*.rs drone/tests/*.rs; do
|
for test in tests/*.rs wallet/tests/*.rs drone/tests/*.rs; do
|
||||||
test=${test##*/} # basename x
|
test=${test##*/} # basename x
|
||||||
test=${test%.rs} # basename x .rs
|
test=${test%.rs} # basename x .rs
|
||||||
|
export RUST_LOG="$test"=trace
|
||||||
_ cargo test --all --verbose --features="$FEATURES" --test="$test" -- --test-threads=1 --nocapture
|
_ cargo test --all --verbose --features="$FEATURES" --test="$test" -- --test-threads=1 --nocapture
|
||||||
done
|
done
|
||||||
|
RUST_LOG=$OLD_RUST_LOG
|
||||||
|
|
||||||
echo --- ci/localnet-sanity.sh
|
echo --- ci/localnet-sanity.sh
|
||||||
(
|
(
|
||||||
|
|
|
@ -1270,7 +1270,6 @@ fn run_node(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[ignore]
|
|
||||||
// TODO: fix
|
// TODO: fix
|
||||||
fn test_dropped_handoff_recovery() {
|
fn test_dropped_handoff_recovery() {
|
||||||
solana_logger::setup();
|
solana_logger::setup();
|
||||||
|
@ -1343,6 +1342,8 @@ fn test_dropped_handoff_recovery() {
|
||||||
Some(seed_rotation_interval),
|
Some(seed_rotation_interval),
|
||||||
Some(leader_rotation_interval),
|
Some(leader_rotation_interval),
|
||||||
);
|
);
|
||||||
|
info!("bootstrap_leader: {}", bootstrap_leader_keypair.pubkey());
|
||||||
|
info!("'next leader': {}", next_leader_keypair.pubkey());
|
||||||
|
|
||||||
let signer_proxy = VoteSignerProxy::new(
|
let signer_proxy = VoteSignerProxy::new(
|
||||||
&bootstrap_leader_keypair,
|
&bootstrap_leader_keypair,
|
||||||
|
@ -1366,12 +1367,13 @@ fn test_dropped_handoff_recovery() {
|
||||||
let mut nodes = vec![bootstrap_leader];
|
let mut nodes = vec![bootstrap_leader];
|
||||||
|
|
||||||
// Start up the validators other than the "next_leader" validator
|
// Start up the validators other than the "next_leader" validator
|
||||||
for _ in 0..(N - 1) {
|
for i in 0..(N - 1) {
|
||||||
let kp = Arc::new(Keypair::new());
|
let kp = Arc::new(Keypair::new());
|
||||||
let validator_ledger_path =
|
let validator_ledger_path =
|
||||||
tmp_copy_ledger(&genesis_ledger_path, "test_dropped_handoff_recovery");
|
tmp_copy_ledger(&genesis_ledger_path, "test_dropped_handoff_recovery");
|
||||||
ledger_paths.push(validator_ledger_path.clone());
|
ledger_paths.push(validator_ledger_path.clone());
|
||||||
let validator_id = kp.pubkey();
|
let validator_id = kp.pubkey();
|
||||||
|
info!("validator {}: {}", i, validator_id);
|
||||||
let validator_node = Node::new_localhost_with_pubkey(validator_id);
|
let validator_node = Node::new_localhost_with_pubkey(validator_id);
|
||||||
let signer_proxy = VoteSignerProxy::new(&kp, Box::new(LocalVoteSigner::default()));
|
let signer_proxy = VoteSignerProxy::new(&kp, Box::new(LocalVoteSigner::default()));
|
||||||
let validator = Fullnode::new(
|
let validator = Fullnode::new(
|
||||||
|
@ -1392,17 +1394,17 @@ fn test_dropped_handoff_recovery() {
|
||||||
let num_converged = converge(&bootstrap_leader_info, N).len();
|
let num_converged = converge(&bootstrap_leader_info, N).len();
|
||||||
assert_eq!(num_converged, N);
|
assert_eq!(num_converged, N);
|
||||||
|
|
||||||
info!("Wait for leader transition");
|
info!("Wait for bootstrap_leader to transition to a validator",);
|
||||||
match nodes[0].handle_role_transition().unwrap() {
|
match nodes[0].handle_role_transition().unwrap() {
|
||||||
Some(FullnodeReturnType::LeaderToValidatorRotation) => (),
|
Some(FullnodeReturnType::LeaderToValidatorRotation) => (),
|
||||||
_ => panic!("Expected reason for exit to be leader rotation"),
|
_ => panic!("Expected reason for exit to be leader rotation"),
|
||||||
}
|
}
|
||||||
|
|
||||||
info!("Now start up the 'next leader' node");
|
info!("Starting the 'next leader' node");
|
||||||
let next_leader_node = Node::new_localhost_with_pubkey(next_leader_keypair.pubkey());
|
let next_leader_node = Node::new_localhost_with_pubkey(next_leader_keypair.pubkey());
|
||||||
let signer_proxy =
|
let signer_proxy =
|
||||||
VoteSignerProxy::new(&next_leader_keypair, Box::new(LocalVoteSigner::default()));
|
VoteSignerProxy::new(&next_leader_keypair, Box::new(LocalVoteSigner::default()));
|
||||||
let mut next_leader = Fullnode::new(
|
let next_leader = Fullnode::new(
|
||||||
next_leader_node,
|
next_leader_node,
|
||||||
&next_leader_ledger_path,
|
&next_leader_ledger_path,
|
||||||
next_leader_keypair,
|
next_leader_keypair,
|
||||||
|
@ -1413,11 +1415,15 @@ fn test_dropped_handoff_recovery() {
|
||||||
None,
|
None,
|
||||||
);
|
);
|
||||||
|
|
||||||
info!("Wait for catchup");
|
info!("Wait for 'next leader' to assume leader role");
|
||||||
|
error!("TODO: FIX https://github.com/solana-labs/solana/issues/2482");
|
||||||
|
// TODO: Once fixed restore the commented out code below
|
||||||
|
/*
|
||||||
match next_leader.handle_role_transition().unwrap() {
|
match next_leader.handle_role_transition().unwrap() {
|
||||||
Some(FullnodeReturnType::ValidatorToLeaderRotation) => (),
|
Some(FullnodeReturnType::ValidatorToLeaderRotation) => (),
|
||||||
_ => panic!("Expected reason for exit to be leader rotation"),
|
_ => panic!("Expected reason for exit to be leader rotation"),
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
nodes.push(next_leader);
|
nodes.push(next_leader);
|
||||||
|
|
||||||
info!("done!");
|
info!("done!");
|
||||||
|
|
Loading…
Reference in New Issue