From 5c663001711ae6507862731801cb161adc122802 Mon Sep 17 00:00:00 2001 From: Etan Kissling Date: Fri, 28 Oct 2022 20:32:33 +0200 Subject: [PATCH] Use `suite_name` instead of `meta.yaml` for SSZ type --- .../pyspec/eth2spec/gen_helpers/gen_from_tests/gen.py | 2 +- .../test/altair/light_client/test_single_merkle_proof.py | 7 ++++--- tests/core/pyspec/eth2spec/test/context.py | 7 +++++++ tests/formats/light_client/single_merkle_proof.md | 8 ++------ 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/tests/core/pyspec/eth2spec/gen_helpers/gen_from_tests/gen.py b/tests/core/pyspec/eth2spec/gen_helpers/gen_from_tests/gen.py index 328b7edf1..b951a6a85 100644 --- a/tests/core/pyspec/eth2spec/gen_helpers/gen_from_tests/gen.py +++ b/tests/core/pyspec/eth2spec/gen_helpers/gen_from_tests/gen.py @@ -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) diff --git a/tests/core/pyspec/eth2spec/test/altair/light_client/test_single_merkle_proof.py b/tests/core/pyspec/eth2spec/test/altair/light_client/test_single_merkle_proof.py index 5628cb70d..465fa629f 100644 --- a/tests/core/pyspec/eth2spec/test/altair/light_client/test_single_merkle_proof.py +++ b/tests/core/pyspec/eth2spec/test/altair/light_client/test_single_merkle_proof.py @@ -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) @@ -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) @@ -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) diff --git a/tests/core/pyspec/eth2spec/test/context.py b/tests/core/pyspec/eth2spec/test/context.py index bc04c05f2..bcc77398c 100644 --- a/tests/core/pyspec/eth2spec/test/context.py +++ b/tests/core/pyspec/eth2spec/test/context.py @@ -620,6 +620,13 @@ def only_generator(reason): 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 # diff --git a/tests/formats/light_client/single_merkle_proof.md b/tests/formats/light_client/single_merkle_proof.md index c8b2dea6e..d2137605e 100644 --- a/tests/formats/light_client/single_merkle_proof.md +++ b/tests/formats/light_client/single_merkle_proof.md @@ -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`