eth2.0-specs/specs/test_formats/sanity/slots.md

1.1 KiB

Sanity slots testing

Sanity tests to cover a series of one or more empty-slot transitions being processed, aiming to cover common changes.

Test case format

meta.yaml

description: string    -- Optional. Description of test case, purely for debugging purposes.
bls_setting: int       -- see general test-format spec.

pre.yaml

A YAML-encoded BeaconState, the state before running the transitions.

A pre.ssz is also available as substitute.

slots.yaml

An integer. The amount of slots to process (i.e. the difference in slots between pre and post), always a positive number.

post.yaml

A YAML-encoded BeaconState, the state after applying the transitions.

A post.ssz is also available as substitute.

Processing

The transition with pure time, no blocks, is known as process_slots(state, slot) in the spec. This runs state-caching (pure slot transition) and epoch processing (every E slots).

To process the data, call process_slots(pre, pre.slot + N).

Condition

The resulting state should match the expected post state.