Enable lints for tests only running optimized (#6664)

* enable linting optimized-only tests

* fix automatically fixable or obvious lints

* fix suspicious_open_options by removing manual options

* fix `await_holding_lock`s

* avoid failing lint due to now disabled `#[cfg(debug_assertions)]`

* reduce future sizes in tests

* fix accidently flipped assert logic

* restore holding lock for web3signer download

* Merge branch 'unstable' into lint-opt-tests
This commit is contained in:
Daniel Knopik
2024-12-17 01:40:35 +01:00
committed by GitHub
parent 847c8019c7
commit 02cb2d68ff
34 changed files with 572 additions and 574 deletions

View File

@@ -53,8 +53,10 @@ struct ApiTester {
impl ApiTester {
pub async fn new() -> Self {
let mut config = ValidatorStoreConfig::default();
config.fee_recipient = Some(TEST_DEFAULT_FEE_RECIPIENT);
let config = ValidatorStoreConfig {
fee_recipient: Some(TEST_DEFAULT_FEE_RECIPIENT),
..Default::default()
};
Self::new_with_config(config).await
}
@@ -139,7 +141,7 @@ impl ApiTester {
let (listening_socket, server) =
super::serve(ctx, test_runtime.task_executor.exit()).unwrap();
tokio::spawn(async { server.await });
tokio::spawn(server);
let url = SensitiveUrl::parse(&format!(
"http://{}:{}",
@@ -345,22 +347,21 @@ impl ApiTester {
.set_nextaccount(s.key_derivation_path_offset)
.unwrap();
for i in 0..s.count {
for validator in response.iter().take(s.count) {
let keypairs = wallet
.next_validator(PASSWORD_BYTES, PASSWORD_BYTES, PASSWORD_BYTES)
.unwrap();
let voting_keypair = keypairs.voting.decrypt_keypair(PASSWORD_BYTES).unwrap();
assert_eq!(
response[i].voting_pubkey,
validator.voting_pubkey,
voting_keypair.pk.clone().into(),
"the locally generated voting pk should match the server response"
);
let withdrawal_keypair = keypairs.withdrawal.decrypt_keypair(PASSWORD_BYTES).unwrap();
let deposit_bytes =
serde_utils::hex::decode(&response[i].eth1_deposit_tx_data).unwrap();
let deposit_bytes = serde_utils::hex::decode(&validator.eth1_deposit_tx_data).unwrap();
let (deposit_data, _) =
decode_eth1_tx_data(&deposit_bytes, E::default_spec().max_effective_balance)

View File

@@ -130,7 +130,7 @@ fn check_keystore_get_response<'a>(
for (ks1, ks2) in response.data.iter().zip_eq(expected_keystores) {
assert_eq!(ks1.validating_pubkey, keystore_pubkey(ks2));
assert_eq!(ks1.derivation_path, ks2.path());
assert!(ks1.readonly == None || ks1.readonly == Some(false));
assert!(ks1.readonly.is_none() || ks1.readonly == Some(false));
}
}
@@ -147,7 +147,7 @@ fn check_keystore_import_response(
}
}
fn check_keystore_delete_response<'a>(
fn check_keystore_delete_response(
response: &DeleteKeystoresResponse,
expected_statuses: impl IntoIterator<Item = DeleteKeystoreStatus>,
) {
@@ -634,7 +634,7 @@ async fn check_get_set_fee_recipient() {
assert_eq!(
get_res,
GetFeeRecipientResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
ethaddress: TEST_DEFAULT_FEE_RECIPIENT,
}
);
@@ -654,7 +654,7 @@ async fn check_get_set_fee_recipient() {
.post_fee_recipient(
&all_pubkeys[1],
&UpdateFeeRecipientRequest {
ethaddress: fee_recipient_public_key_1.clone(),
ethaddress: fee_recipient_public_key_1,
},
)
.await
@@ -667,14 +667,14 @@ async fn check_get_set_fee_recipient() {
.await
.expect("should get fee recipient");
let expected = if i == 1 {
fee_recipient_public_key_1.clone()
fee_recipient_public_key_1
} else {
TEST_DEFAULT_FEE_RECIPIENT
};
assert_eq!(
get_res,
GetFeeRecipientResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
ethaddress: expected,
}
);
@@ -686,7 +686,7 @@ async fn check_get_set_fee_recipient() {
.post_fee_recipient(
&all_pubkeys[2],
&UpdateFeeRecipientRequest {
ethaddress: fee_recipient_public_key_2.clone(),
ethaddress: fee_recipient_public_key_2,
},
)
.await
@@ -699,16 +699,16 @@ async fn check_get_set_fee_recipient() {
.await
.expect("should get fee recipient");
let expected = if i == 1 {
fee_recipient_public_key_1.clone()
fee_recipient_public_key_1
} else if i == 2 {
fee_recipient_public_key_2.clone()
fee_recipient_public_key_2
} else {
TEST_DEFAULT_FEE_RECIPIENT
};
assert_eq!(
get_res,
GetFeeRecipientResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
ethaddress: expected,
}
);
@@ -720,7 +720,7 @@ async fn check_get_set_fee_recipient() {
.post_fee_recipient(
&all_pubkeys[1],
&UpdateFeeRecipientRequest {
ethaddress: fee_recipient_override.clone(),
ethaddress: fee_recipient_override,
},
)
.await
@@ -732,16 +732,16 @@ async fn check_get_set_fee_recipient() {
.await
.expect("should get fee recipient");
let expected = if i == 1 {
fee_recipient_override.clone()
fee_recipient_override
} else if i == 2 {
fee_recipient_public_key_2.clone()
fee_recipient_public_key_2
} else {
TEST_DEFAULT_FEE_RECIPIENT
};
assert_eq!(
get_res,
GetFeeRecipientResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
ethaddress: expected,
}
);
@@ -761,14 +761,14 @@ async fn check_get_set_fee_recipient() {
.await
.expect("should get fee recipient");
let expected = if i == 2 {
fee_recipient_public_key_2.clone()
fee_recipient_public_key_2
} else {
TEST_DEFAULT_FEE_RECIPIENT
};
assert_eq!(
get_res,
GetFeeRecipientResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
ethaddress: expected,
}
);
@@ -814,7 +814,7 @@ async fn check_get_set_gas_limit() {
assert_eq!(
get_res,
GetGasLimitResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
gas_limit: DEFAULT_GAS_LIMIT,
}
);
@@ -843,14 +843,14 @@ async fn check_get_set_gas_limit() {
.await
.expect("should get gas limit");
let expected = if i == 1 {
gas_limit_public_key_1.clone()
gas_limit_public_key_1
} else {
DEFAULT_GAS_LIMIT
};
assert_eq!(
get_res,
GetGasLimitResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
gas_limit: expected,
}
);
@@ -884,7 +884,7 @@ async fn check_get_set_gas_limit() {
assert_eq!(
get_res,
GetGasLimitResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
gas_limit: expected,
}
);
@@ -917,7 +917,7 @@ async fn check_get_set_gas_limit() {
assert_eq!(
get_res,
GetGasLimitResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
gas_limit: expected,
}
);
@@ -944,7 +944,7 @@ async fn check_get_set_gas_limit() {
assert_eq!(
get_res,
GetGasLimitResponse {
pubkey: pubkey.clone(),
pubkey: *pubkey,
gas_limit: expected,
}
);
@@ -1305,7 +1305,7 @@ async fn delete_concurrent_with_signing() {
let handle = handle.spawn(async move {
for j in 0..num_attestations {
let mut att = make_attestation(j, j + 1);
for (_validator_id, public_key) in thread_pubkeys.iter().enumerate() {
for public_key in thread_pubkeys.iter() {
let _ = validator_store
.sign_attestation(*public_key, 0, &mut att, Epoch::new(j + 1))
.await;
@@ -2084,7 +2084,7 @@ async fn import_remotekey_web3signer_disabled() {
web3signer_req.enable = false;
// Import web3signers.
let _ = tester
tester
.client
.post_lighthouse_validators_web3signer(&vec![web3signer_req])
.await
@@ -2148,8 +2148,11 @@ async fn import_remotekey_web3signer_enabled() {
// 1 validator imported.
assert_eq!(tester.vals_total(), 1);
assert_eq!(tester.vals_enabled(), 1);
let vals = tester.initialized_validators.read();
let web3_vals = vals.validator_definitions();
let web3_vals = tester
.initialized_validators
.read()
.validator_definitions()
.to_vec();
// Import remotekeys.
let import_res = tester
@@ -2166,11 +2169,13 @@ async fn import_remotekey_web3signer_enabled() {
assert_eq!(tester.vals_total(), 1);
assert_eq!(tester.vals_enabled(), 1);
let vals = tester.initialized_validators.read();
let remote_vals = vals.validator_definitions();
{
let vals = tester.initialized_validators.read();
let remote_vals = vals.validator_definitions();
// Web3signer should not be overwritten since it is enabled.
assert!(web3_vals == remote_vals);
// Web3signer should not be overwritten since it is enabled.
assert!(web3_vals == remote_vals);
}
// Remotekey should not be imported.
let expected_responses = vec![SingleListRemotekeysResponse {