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

1.0 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.

Also available as pre.ssz.

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.

Also available as post.ssz.

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.