Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fork choice EF consensus tests #3041

Merged
merged 8 commits into from
Nov 25, 2021
Merged

Fork choice EF consensus tests #3041

merged 8 commits into from
Nov 25, 2021

Conversation

mratsim
Copy link
Contributor

@mratsim mratsim commented Oct 31, 2021

Consensus spec v1.1.1 finally added fork choice tests, this integrates them.

@github-actions
Copy link

github-actions bot commented Oct 31, 2021

Unit Test Results

     12 files  ±  0     756 suites  +8   52m 29s ⏱️ + 22m 23s
1 515 tests +48  1 477 ✔️ +12  38 💤 +36  0 ±0 
9 032 runs  +96  8 952 ✔️ +24  80 💤 +72  0 ±0 

Results for commit 608964f. ± Comparison against base commit cc0dbd5.

♻️ This comment has been updated with latest results.

@mratsim
Copy link
Contributor Author

mratsim commented Nov 8, 2021

Error is an IO Error on windows, maybe path is too long?

image

https://github.com/status-im/nimbus-eth2/runs/4061397307?check_suite_focus=true#step:20:1199

D:\a\nimbus-eth2\nimbus-eth2\nimbus-eth2\vendor\nim-eth2-scenarios\tests-v1.1.3\mainnet\phase0\fork_choice\on_block\pyspec_tests\new_finalized_slot_is_not_justified_checkpoint_ancestor\block_0xee90f2a441552708e67e14230750d3503b0b3219b829d6e839900e428c1fa2de.ssz_snappy is 269 characters

+ ForkChoice - minimal/phase0/fork_choice/get_head/pyspec_tests/shorter_chain_but_heavier_we OK
+ ForkChoice - minimal/phase0/fork_choice/get_head/pyspec_tests/split_tie_breaker_no_attesta OK
+ ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/basic OK
ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/new_finalized_slot_is_justif Skip
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these skipped?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Details are given here https://github.com/status-im/nimbus-eth2/pull/3041/files#diff-993d81740d3beb56996cc3af0c4b741fa075eb06a7b0eaea23003b7ec27ed26fR308-R324

Some are skipped inherently due to the difference between ProtoArray and the spec reference implementations.

For the one highlighted in particular "protoArray changes fork as expected and directly returns the head of the new chain instead of the root of the fork

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arguably an issue in test case construction, to the extent it's testing implementation details rather than correct results.

@tersec
Copy link
Contributor

tersec commented Nov 9, 2021

Error is an IO Error on windows, maybe path is too long?

image

https://github.com/status-im/nimbus-eth2/runs/4061397307?check_suite_focus=true#step:20:1199

D:\a\nimbus-eth2\nimbus-eth2\nimbus-eth2\vendor\nim-eth2-scenarios\tests-v1.1.3\mainnet\phase0\fork_choice\on_block\pyspec_tests\new_finalized_slot_is_not_justified_checkpoint_ancestor\block_0xee90f2a441552708e67e14230750d3503b0b3219b829d6e839900e428c1fa2de.ssz_snappy is 269 characters

Seems likely -- but it's also possible that whether Git was handling it properly before or not, and might have provided the proximate error cause, the test runner could still have issues opening it.

@tersec
Copy link
Contributor

tersec commented Nov 9, 2021

It might suffice to eliminate those long test names by updating past v1.1.3, to v1.1.5:
2021-11-09-174648_779x341_scrot
2021-11-09-174706_778x274_scrot

@arnetheduck
Copy link
Member

this is still broken - it needs to use less stack space on some tests (see #3055)

@mratsim
Copy link
Contributor Author

mratsim commented Nov 10, 2021

It might suffice to eliminate those long test names by updating past v1.1.3, to v1.1.5: 2021-11-09-174648_779x341_scrot 2021-11-09-174706_778x274_scrot

Mmmh so the tests we skipped on mainnet were removed but not for minimal. We might want to skip minimal for now.

@tersec
Copy link
Contributor

tersec commented Nov 10, 2021

Mmmh so the tests we skipped on mainnet were removed but not for minimal. We might want to skip minimal for now.

Could also skip (as in, not even attempt to use) the long-named tests in minimal, and use the short-named tests. Either that or starting out by skipping minimal seems reasonable.

@arnetheduck arnetheduck merged commit 97da6e1 into unstable Nov 25, 2021
@arnetheduck arnetheduck deleted the fkchoice-ef-tests branch November 25, 2021 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants