2019-05-23 23:03:21 +00:00
|
|
|
# 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
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
description: string -- description of test case, purely for debugging purposes
|
2019-05-28 13:35:00 +00:00
|
|
|
bls_setting: int -- see general test-format spec.
|
2019-05-23 23:03:21 +00:00
|
|
|
pre: BeaconState -- state before running through the transitions.
|
2019-06-17 21:19:17 +00:00
|
|
|
slots: N -- amount of slots to process, N being a positive number.
|
2019-05-23 23:03:21 +00:00
|
|
|
post: BeaconState -- state after applying all the transitions.
|
|
|
|
```
|
|
|
|
|
|
|
|
The transition with pure time, no blocks, is known as `state_transition_to(state, slot)` in the spec.
|
|
|
|
This runs state-caching (pure slot transition) and epoch processing (every E slots).
|
|
|
|
|
|
|
|
To process the data, call `state_transition_to(pre, pre.slot + N)`. And see if `pre` mutated into the equivalent of `post`.
|
|
|
|
|
|
|
|
|
|
|
|
## Condition
|
|
|
|
|
|
|
|
The resulting state should match the expected `post` state.
|