Fixing Moar Failing Tests
This commit is contained in:
parent
8711db2f3b
commit
2ac609b64e
2
Makefile
2
Makefile
@ -120,7 +120,7 @@ run-ef-tests:
|
||||
test-beacon-chain: $(patsubst %,test-beacon-chain-%,$(FORKS))
|
||||
|
||||
test-beacon-chain-%:
|
||||
env FORK_NAME=$* cargo test --release --features fork_from_env -p beacon_chain
|
||||
env FORK_NAME=$* cargo test --release --features fork_from_env,withdrawals-processing -p beacon_chain
|
||||
|
||||
# Run the tests in the `operation_pool` crate for all known forks.
|
||||
test-op-pool: $(patsubst %,test-op-pool-%,$(FORKS))
|
||||
|
@ -120,23 +120,19 @@ fn make_rng() -> Mutex<StdRng> {
|
||||
Mutex::new(StdRng::seed_from_u64(0x0DDB1A5E5BAD5EEDu64))
|
||||
}
|
||||
|
||||
pub fn get_fork_from_env() -> ForkName {
|
||||
let fork_string = std::env::var(FORK_NAME_ENV_VAR).unwrap_or_else(|e| {
|
||||
panic!(
|
||||
"{} env var must be defined when using fork_from_env: {:?}",
|
||||
FORK_NAME_ENV_VAR, e
|
||||
)
|
||||
});
|
||||
ForkName::from_str(fork_string.as_str()).unwrap()
|
||||
}
|
||||
|
||||
/// Return a `ChainSpec` suitable for test usage.
|
||||
///
|
||||
/// If the `fork_from_env` feature is enabled, read the fork to use from the FORK_NAME environment
|
||||
/// variable. Otherwise use the default spec.
|
||||
pub fn test_spec<E: EthSpec>() -> ChainSpec {
|
||||
let mut spec = if cfg!(feature = "fork_from_env") {
|
||||
let fork = get_fork_from_env();
|
||||
let fork_name = std::env::var(FORK_NAME_ENV_VAR).unwrap_or_else(|e| {
|
||||
panic!(
|
||||
"{} env var must be defined when using fork_from_env: {:?}",
|
||||
FORK_NAME_ENV_VAR, e
|
||||
)
|
||||
});
|
||||
let fork = ForkName::from_str(fork_name.as_str()).unwrap();
|
||||
fork.make_genesis_spec(E::default_spec())
|
||||
} else {
|
||||
E::default_spec()
|
||||
|
@ -852,11 +852,11 @@ impl HttpJsonRpc {
|
||||
pub async fn supported_apis_v1(&self) -> Result<SupportedApis, Error> {
|
||||
Ok(SupportedApis {
|
||||
new_payload_v1: true,
|
||||
new_payload_v2: cfg!(feature = "withdrawals-processing"),
|
||||
new_payload_v2: cfg!(any(feature = "withdrawals-processing", test)),
|
||||
forkchoice_updated_v1: true,
|
||||
forkchoice_updated_v2: cfg!(feature = "withdrawals-processing"),
|
||||
forkchoice_updated_v2: cfg!(any(feature = "withdrawals-processing", test)),
|
||||
get_payload_v1: true,
|
||||
get_payload_v2: cfg!(feature = "withdrawals-processing"),
|
||||
get_payload_v2: cfg!(any(feature = "withdrawals-processing", test)),
|
||||
exchange_transition_configuration_v1: true,
|
||||
})
|
||||
}
|
||||
|
@ -8,18 +8,19 @@ mod persistence;
|
||||
mod reward_cache;
|
||||
mod sync_aggregate_id;
|
||||
|
||||
use crate::attestation_storage::{AttestationMap, CheckpointKey};
|
||||
use crate::sync_aggregate_id::SyncAggregateId;
|
||||
pub use attestation::AttMaxCover;
|
||||
pub use attestation_storage::{AttestationRef, SplitAttestation};
|
||||
use attester_slashing::AttesterSlashingMaxCover;
|
||||
use max_cover::maximum_cover;
|
||||
pub use max_cover::MaxCover;
|
||||
use parking_lot::{RwLock, RwLockWriteGuard};
|
||||
pub use persistence::{
|
||||
PersistedOperationPool, PersistedOperationPoolV12, PersistedOperationPoolV5,
|
||||
};
|
||||
pub use reward_cache::RewardCache;
|
||||
|
||||
use crate::attestation_storage::{AttestationMap, CheckpointKey};
|
||||
use crate::sync_aggregate_id::SyncAggregateId;
|
||||
use attester_slashing::AttesterSlashingMaxCover;
|
||||
use max_cover::maximum_cover;
|
||||
use parking_lot::{RwLock, RwLockWriteGuard};
|
||||
use state_processing::per_block_processing::errors::AttestationValidationError;
|
||||
use state_processing::per_block_processing::{
|
||||
get_slashable_indices_modular, verify_exit, VerifySignatures,
|
||||
@ -766,8 +767,7 @@ mod release_tests {
|
||||
use super::attestation::earliest_attestation_validators;
|
||||
use super::*;
|
||||
use beacon_chain::test_utils::{
|
||||
get_fork_from_env, test_spec, BeaconChainHarness, EphemeralHarnessType,
|
||||
RelativeSyncCommittee,
|
||||
test_spec, BeaconChainHarness, EphemeralHarnessType, RelativeSyncCommittee,
|
||||
};
|
||||
use lazy_static::lazy_static;
|
||||
use maplit::hashset;
|
||||
@ -1787,28 +1787,11 @@ mod release_tests {
|
||||
|
||||
fn cross_fork_harness<E: EthSpec>() -> (BeaconChainHarness<EphemeralHarnessType<E>>, ChainSpec)
|
||||
{
|
||||
let mut spec = test_spec::<E>();
|
||||
|
||||
if cfg!(feature = "fork_from_env") {
|
||||
let fork = get_fork_from_env();
|
||||
match fork {
|
||||
ForkName::Altair | ForkName::Merge | ForkName::Capella | ForkName::Eip4844 => {}
|
||||
_ => panic!(
|
||||
"Unknown fork {}, add it above AND below so this test doesn't panic",
|
||||
fork
|
||||
),
|
||||
}
|
||||
}
|
||||
let mut spec = E::default_spec();
|
||||
|
||||
// Give some room to sign surround slashings.
|
||||
// It appears we need to set _every_ fork to some non-zero value
|
||||
// here. Otherwise if we set FORK_NAME_ENV_VAR to some fork that
|
||||
// isn't listed here, tests that use this function will panic in
|
||||
// non-trivial ways
|
||||
spec.altair_fork_epoch = Some(Epoch::new(3));
|
||||
spec.bellatrix_fork_epoch = Some(Epoch::new(6));
|
||||
spec.capella_fork_epoch = Some(Epoch::new(9));
|
||||
spec.eip4844_fork_epoch = Some(Epoch::new(12));
|
||||
|
||||
// To make exits immediately valid.
|
||||
spec.shard_committee_period = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user