update altair tests to not collide with Merge + fix merge test triggers
This commit is contained in:
parent
ff3a82e0f3
commit
865d7db5ca
|
@ -17,7 +17,7 @@ from eth2spec.test.helpers.sync_committee import (
|
||||||
)
|
)
|
||||||
from eth2spec.test.context import (
|
from eth2spec.test.context import (
|
||||||
expect_assertion_error,
|
expect_assertion_error,
|
||||||
with_all_phases_except,
|
with_altair_and_later,
|
||||||
with_configs,
|
with_configs,
|
||||||
spec_state_test,
|
spec_state_test,
|
||||||
always_bls,
|
always_bls,
|
||||||
|
@ -62,7 +62,7 @@ def get_committee_indices(spec, state, duplicates=False):
|
||||||
state.randao_mixes[randao_index] = hash(state.randao_mixes[randao_index])
|
state.randao_mixes[randao_index] = hash(state.randao_mixes[randao_index])
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
def test_invalid_signature_missing_participant(spec, state):
|
def test_invalid_signature_missing_participant(spec, state):
|
||||||
|
@ -84,7 +84,7 @@ def test_invalid_signature_missing_participant(spec, state):
|
||||||
yield from run_sync_committee_processing(spec, state, block, expect_exception=True)
|
yield from run_sync_committee_processing(spec, state, block, expect_exception=True)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
def test_invalid_signature_extra_participant(spec, state):
|
def test_invalid_signature_extra_participant(spec, state):
|
||||||
|
@ -197,7 +197,7 @@ def run_successful_sync_committee_test(spec, state, committee, committee_bits):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@with_configs([MINIMAL], reason="to create nonduplicate committee")
|
@with_configs([MINIMAL], reason="to create nonduplicate committee")
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_sync_committee_rewards_nonduplicate_committee(spec, state):
|
def test_sync_committee_rewards_nonduplicate_committee(spec, state):
|
||||||
|
@ -213,7 +213,7 @@ def test_sync_committee_rewards_nonduplicate_committee(spec, state):
|
||||||
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@with_configs([MAINNET], reason="to create duplicate committee")
|
@with_configs([MAINNET], reason="to create duplicate committee")
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_sync_committee_rewards_duplicate_committee(spec, state):
|
def test_sync_committee_rewards_duplicate_committee(spec, state):
|
||||||
|
@ -229,7 +229,7 @@ def test_sync_committee_rewards_duplicate_committee(spec, state):
|
||||||
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
def test_sync_committee_rewards_not_full_participants(spec, state):
|
def test_sync_committee_rewards_not_full_participants(spec, state):
|
||||||
|
@ -240,7 +240,7 @@ def test_sync_committee_rewards_not_full_participants(spec, state):
|
||||||
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
def test_sync_committee_rewards_empty_participants(spec, state):
|
def test_sync_committee_rewards_empty_participants(spec, state):
|
||||||
|
@ -250,7 +250,7 @@ def test_sync_committee_rewards_empty_participants(spec, state):
|
||||||
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
yield from run_successful_sync_committee_test(spec, state, committee, committee_bits)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
def test_invalid_signature_past_block(spec, state):
|
def test_invalid_signature_past_block(spec, state):
|
||||||
|
@ -289,7 +289,7 @@ def test_invalid_signature_past_block(spec, state):
|
||||||
yield from run_sync_committee_processing(spec, state, invalid_block, expect_exception=True)
|
yield from run_sync_committee_processing(spec, state, invalid_block, expect_exception=True)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@with_configs([MINIMAL], reason="to produce different committee sets")
|
@with_configs([MINIMAL], reason="to produce different committee sets")
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
|
@ -326,7 +326,7 @@ def test_invalid_signature_previous_committee(spec, state):
|
||||||
yield from run_sync_committee_processing(spec, state, block, expect_exception=True)
|
yield from run_sync_committee_processing(spec, state, block, expect_exception=True)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
@with_configs([MINIMAL], reason="too slow")
|
@with_configs([MINIMAL], reason="too slow")
|
||||||
|
|
|
@ -2,7 +2,7 @@ from eth2spec.test.context import (
|
||||||
always_bls,
|
always_bls,
|
||||||
spec_state_test,
|
spec_state_test,
|
||||||
spec_test,
|
spec_test,
|
||||||
with_all_phases_except,
|
with_altair_and_later,
|
||||||
with_configs,
|
with_configs,
|
||||||
with_custom_state,
|
with_custom_state,
|
||||||
single_phase,
|
single_phase,
|
||||||
|
@ -49,7 +49,7 @@ def run_sync_committees_progress_test(spec, state):
|
||||||
assert state.next_sync_committee == third_sync_committee
|
assert state.next_sync_committee == third_sync_committee
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
@with_configs([MINIMAL], reason="too slow")
|
@with_configs([MINIMAL], reason="too slow")
|
||||||
|
@ -60,7 +60,7 @@ def test_sync_committees_progress_genesis(spec, state):
|
||||||
yield from run_sync_committees_progress_test(spec, state)
|
yield from run_sync_committees_progress_test(spec, state)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
@always_bls
|
@always_bls
|
||||||
@with_configs([MINIMAL], reason="too slow")
|
@with_configs([MINIMAL], reason="too slow")
|
||||||
|
@ -73,7 +73,7 @@ def test_sync_committees_progress_not_genesis(spec, state):
|
||||||
yield from run_sync_committees_progress_test(spec, state)
|
yield from run_sync_committees_progress_test(spec, state)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@with_custom_state(balances_fn=misc_balances, threshold_fn=lambda spec: spec.EJECTION_BALANCE)
|
@with_custom_state(balances_fn=misc_balances, threshold_fn=lambda spec: spec.EJECTION_BALANCE)
|
||||||
@spec_test
|
@spec_test
|
||||||
@single_phase
|
@single_phase
|
||||||
|
|
|
@ -11,9 +11,8 @@ from eth2spec.test.helpers.block import (
|
||||||
from eth2spec.test.helpers.sync_committee import (
|
from eth2spec.test.helpers.sync_committee import (
|
||||||
compute_aggregate_sync_committee_signature,
|
compute_aggregate_sync_committee_signature,
|
||||||
)
|
)
|
||||||
from eth2spec.test.helpers.constants import PHASE0
|
|
||||||
from eth2spec.test.context import (
|
from eth2spec.test.context import (
|
||||||
with_all_phases_except,
|
with_altair_and_later,
|
||||||
spec_state_test,
|
spec_state_test,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -40,46 +39,46 @@ def run_sync_committee_sanity_test(spec, state, fraction_full=1.0):
|
||||||
yield 'post', state
|
yield 'post', state
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_full_sync_committee_committee(spec, state):
|
def test_full_sync_committee_committee(spec, state):
|
||||||
next_epoch(spec, state)
|
next_epoch(spec, state)
|
||||||
yield from run_sync_committee_sanity_test(spec, state, fraction_full=1.0)
|
yield from run_sync_committee_sanity_test(spec, state, fraction_full=1.0)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_half_sync_committee_committee(spec, state):
|
def test_half_sync_committee_committee(spec, state):
|
||||||
next_epoch(spec, state)
|
next_epoch(spec, state)
|
||||||
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.5)
|
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.5)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_empty_sync_committee_committee(spec, state):
|
def test_empty_sync_committee_committee(spec, state):
|
||||||
next_epoch(spec, state)
|
next_epoch(spec, state)
|
||||||
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.0)
|
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.0)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_full_sync_committee_committee_genesis(spec, state):
|
def test_full_sync_committee_committee_genesis(spec, state):
|
||||||
yield from run_sync_committee_sanity_test(spec, state, fraction_full=1.0)
|
yield from run_sync_committee_sanity_test(spec, state, fraction_full=1.0)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_half_sync_committee_committee_genesis(spec, state):
|
def test_half_sync_committee_committee_genesis(spec, state):
|
||||||
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.5)
|
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.5)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_empty_sync_committee_committee_genesis(spec, state):
|
def test_empty_sync_committee_committee_genesis(spec, state):
|
||||||
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.0)
|
yield from run_sync_committee_sanity_test(spec, state, fraction_full=0.0)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_inactivity_scores(spec, state):
|
def test_inactivity_scores(spec, state):
|
||||||
for _ in range(spec.MIN_EPOCHS_TO_INACTIVITY_PENALTY + 2):
|
for _ in range(spec.MIN_EPOCHS_TO_INACTIVITY_PENALTY + 2):
|
||||||
|
|
|
@ -8,7 +8,7 @@ from eth2spec.utils import bls
|
||||||
from eth2spec.utils.bls import only_with_bls
|
from eth2spec.utils.bls import only_with_bls
|
||||||
from eth2spec.test.context import (
|
from eth2spec.test.context import (
|
||||||
PHASE0,
|
PHASE0,
|
||||||
with_all_phases_except,
|
with_altair_and_later,
|
||||||
with_state,
|
with_state,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ def ensure_assignments_in_sync_committee(
|
||||||
assert spec.is_assigned_to_sync_committee(state, epoch, validator_index)
|
assert spec.is_assigned_to_sync_committee(state, epoch, validator_index)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@with_state
|
@with_state
|
||||||
def test_is_assigned_to_sync_committee(phases, spec, state):
|
def test_is_assigned_to_sync_committee(phases, spec, state):
|
||||||
epoch = spec.get_current_epoch(state)
|
epoch = spec.get_current_epoch(state)
|
||||||
|
@ -91,7 +91,7 @@ def _get_sync_committee_signature(
|
||||||
|
|
||||||
|
|
||||||
@only_with_bls()
|
@only_with_bls()
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@with_state
|
@with_state
|
||||||
def test_process_sync_committee_contributions(phases, spec, state):
|
def test_process_sync_committee_contributions(phases, spec, state):
|
||||||
# skip over slots at genesis
|
# skip over slots at genesis
|
||||||
|
@ -144,7 +144,7 @@ def _subnet_for_sync_committee_index(spec, i):
|
||||||
return i // (spec.SYNC_COMMITTEE_SIZE // spec.SYNC_COMMITTEE_SUBNET_COUNT)
|
return i // (spec.SYNC_COMMITTEE_SIZE // spec.SYNC_COMMITTEE_SUBNET_COUNT)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases_except([PHASE0])
|
@with_altair_and_later
|
||||||
@with_state
|
@with_state
|
||||||
def test_compute_subnets_for_sync_committee(state, spec, phases):
|
def test_compute_subnets_for_sync_committee(state, spec, phases):
|
||||||
some_sync_committee_members = list(
|
some_sync_committee_members = list(
|
||||||
|
|
|
@ -367,12 +367,20 @@ def with_configs(configs, reason=None):
|
||||||
|
|
||||||
|
|
||||||
def is_post_altair(spec):
|
def is_post_altair(spec):
|
||||||
|
if spec.fork == MERGE: # TODO: remove parallel Altair-Merge condition after rebase.
|
||||||
|
return False
|
||||||
if spec.fork in FORKS_BEFORE_ALTAIR:
|
if spec.fork in FORKS_BEFORE_ALTAIR:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def is_post_merge(spec):
|
def is_post_merge(spec):
|
||||||
|
if spec.fork == ALTAIR: # TODO: remove parallel Altair-Merge condition after rebase.
|
||||||
|
return False
|
||||||
if spec.fork in FORKS_BEFORE_MERGE:
|
if spec.fork in FORKS_BEFORE_MERGE:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
with_altair_and_later = with_phases([ALTAIR]) # TODO: include Merge, but not until Merge work is rebased.
|
||||||
|
with_merge_and_later = with_phases([MERGE])
|
||||||
|
|
|
@ -96,6 +96,8 @@ def build_empty_block(spec, state, slot=None):
|
||||||
empty_block.body.sync_aggregate.sync_committee_signature = spec.G2_POINT_AT_INFINITY
|
empty_block.body.sync_aggregate.sync_committee_signature = spec.G2_POINT_AT_INFINITY
|
||||||
|
|
||||||
if is_post_merge(spec):
|
if is_post_merge(spec):
|
||||||
|
if not hasattr(state, 'latest_execution_payload_header'):
|
||||||
|
raise Exception("panic!!!")
|
||||||
empty_block.body.execution_payload = build_empty_execution_payload(spec, state)
|
empty_block.body.execution_payload = build_empty_execution_payload(spec, state)
|
||||||
|
|
||||||
apply_randao_reveal(spec, state, empty_block)
|
apply_randao_reveal(spec, state, empty_block)
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
from eth2spec.test.helpers.constants import PHASE0, ALTAIR
|
|
||||||
from eth2spec.test.helpers.execution_payload import build_empty_execution_payload
|
from eth2spec.test.helpers.execution_payload import build_empty_execution_payload
|
||||||
from eth2spec.test.context import spec_state_test, expect_assertion_error, always_bls, with_all_phases_except
|
from eth2spec.test.context import spec_state_test, expect_assertion_error, always_bls, with_merge_and_later
|
||||||
|
|
||||||
with_merge_and_later = with_all_phases_except([PHASE0, ALTAIR])
|
|
||||||
|
|
||||||
|
|
||||||
def run_execution_payload_processing(spec, state, execution_payload, valid=True, execution_valid=True):
|
def run_execution_payload_processing(spec, state, execution_payload, valid=True, execution_valid=True):
|
||||||
|
|
|
@ -5,11 +5,11 @@ from eth2spec.test.helpers.block import (
|
||||||
build_empty_block_for_next_slot
|
build_empty_block_for_next_slot
|
||||||
)
|
)
|
||||||
from eth2spec.test.context import (
|
from eth2spec.test.context import (
|
||||||
with_all_phases, spec_state_test
|
with_merge_and_later, spec_state_test
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@with_all_phases
|
@with_merge_and_later
|
||||||
@spec_state_test
|
@spec_state_test
|
||||||
def test_empty_block_transition(spec, state):
|
def test_empty_block_transition(spec, state):
|
||||||
yield 'pre', state
|
yield 'pre', state
|
||||||
|
|
Loading…
Reference in New Issue