lighthouse/beacon_node
Paul Hauner 931daa40d7 Add fork choice EF tests (#2737)
## Issue Addressed

Resolves #2545

## Proposed Changes

Adds the long-overdue EF tests for fork choice. Although we had pretty good coverage via other implementations that closely followed our approach, it is nonetheless important for us to implement these tests too.

During testing I found that we were using a hard-coded `SAFE_SLOTS_TO_UPDATE_JUSTIFIED` value rather than one from the `ChainSpec`. This caused a failure during a minimal preset test. This doesn't represent a risk to mainnet or testnets, since the hard-coded value matched the mainnet preset.

## Failing Cases

There is one failing case which is presently marked as `SkippedKnownFailure`:

```
case 4 ("new_finalized_slot_is_justified_checkpoint_ancestor") from /home/paul/development/lighthouse/testing/ef_tests/consensus-spec-tests/tests/minimal/phase0/fork_choice/on_block/pyspec_tests/new_finalized_slot_is_justified_checkpoint_ancestor failed with NotEqual:
head check failed: Got Head { slot: Slot(40), root: 0x9183dbaed4191a862bd307d476e687277fc08469fc38618699863333487703e7 } | Expected Head { slot: Slot(24), root: 0x105b49b51bf7103c182aa58860b039550a89c05a4675992e2af703bd02c84570 }
```

This failure is due to #2741. It's not a particularly high priority issue at the moment, so we fix it after merging this PR.
2021-11-08 07:29:04 +00:00
..
beacon_chain Add fork choice EF tests (#2737) 2021-11-08 07:29:04 +00:00
client Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
eth1 Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
genesis Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
http_api Move the peer manager to be a behaviour (#2773) 2021-11-08 00:01:10 +00:00
http_metrics Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
lighthouse_network Move the peer manager to be a behaviour (#2773) 2021-11-08 00:01:10 +00:00
network Do not compute metrics in the network service if the cli flag is not set (#2765) 2021-11-03 00:06:03 +00:00
operation_pool Add op pool metrics for attestations (#2758) 2021-11-01 05:52:31 +00:00
src De-duplicate attestations in the slasher (#2767) 2021-11-08 00:01:09 +00:00
store Add API version headers and map_fork_name! (#2745) 2021-10-28 01:18:04 +00:00
tests Altair consensus changes and refactors (#2279) 2021-07-09 06:15:32 +00:00
timer Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
websocket_server Server sent events (#1920) 2020-12-04 00:18:58 +00:00
Cargo.toml Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00