Skip to content

Commit

Permalink
Use suite_name instead of meta.yaml for SSZ type
Browse files Browse the repository at this point in the history
  • Loading branch information
etan-status committed Oct 28, 2022
1 parent cdaf7e8 commit 5c66300
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def generate_from_tests(runner_name: str, handler_name: str, src: Any,
preset_name=preset_name,
runner_name=runner_name,
handler_name=handler_name,
suite_name='pyspec_tests',
suite_name=getattr(tfn, 'suite_name', 'pyspec_tests'),
case_name=case_name,
# TODO: with_all_phases and other per-phase tooling, should be replaced with per-fork equivalent.
case_fn=lambda: tfn(generator_mode=True, phase=phase, preset=preset_name, bls_active=bls_active)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from eth2spec.test.context import (
spec_state_test,
with_altair_and_later,
with_test_suite_name,
)


@with_test_suite_name("BeaconState")
@with_altair_and_later
@spec_state_test
def test_current_sync_committee_merkle_proof(spec, state):
yield "object_class", "meta", "BeaconState"
yield "object", state
current_sync_committee_branch = \
spec.compute_merkle_proof_for_state(state, spec.CURRENT_SYNC_COMMITTEE_INDEX)
Expand All @@ -25,10 +26,10 @@ def test_current_sync_committee_merkle_proof(spec, state):
)


@with_test_suite_name("BeaconState")
@with_altair_and_later
@spec_state_test
def test_next_sync_committee_merkle_proof(spec, state):
yield "object_class", "meta", "BeaconState"
yield "object", state
next_sync_committee_branch = \
spec.compute_merkle_proof_for_state(state, spec.NEXT_SYNC_COMMITTEE_INDEX)
Expand All @@ -46,10 +47,10 @@ def test_next_sync_committee_merkle_proof(spec, state):
)


@with_test_suite_name("BeaconState")
@with_altair_and_later
@spec_state_test
def test_finality_root_merkle_proof(spec, state):
yield "object_class", "meta", "BeaconState"
yield "object", state
finality_branch = \
spec.compute_merkle_proof_for_state(state, spec.FINALIZED_ROOT_INDEX)
Expand Down
7 changes: 7 additions & 0 deletions tests/core/pyspec/eth2spec/test/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,13 @@ def _wrapper(*args, **kwargs):
return _decorator


def with_test_suite_name(suite_name: str):
def _decorator(inner):
inner.suite_name = suite_name
return inner
return _decorator


#
# Fork transition state tests
#
Expand Down
8 changes: 2 additions & 6 deletions tests/formats/light_client/single_merkle_proof.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,11 @@ generation and verification of merkle proofs based on static data.

## Test case format

### `meta.yaml`

```yaml
object_class: string -- 'BeaconState'
```
Tests for each individual SSZ type are grouped into a `suite` indicating the SSZ type name.

### `object.yaml`

A SSZ-snappy encoded object of type `object_class` from which other data is generated.
A SSZ-snappy encoded object from which other data is generated. The SSZ type can be determined from the test `suite` name.

### `proof.yaml`

Expand Down

0 comments on commit 5c66300

Please sign in to comment.