-
Notifications
You must be signed in to change notification settings - Fork 9
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
Change default setup_policy
of libtester to transition to Savanna
#205
Conversation
…transition_to_savanna before transition
…nna before transition
…ore transition testing
…se tests are for Legacy
…tem tests are adapting to new default Savanna tester
…y are converted to run in both Legacy and Savanna
…lt_tester to get around circular depenence between Spring and Reference Contracts
Note:start |
@@ -4,6 +4,6 @@ | |||
"prerelease":true | |||
}, | |||
"referencecontracts":{ | |||
"ref":"main" | |||
"ref":"fix_failures_by_default_tester" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remember to change back after merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done by #233
…her merge conflict
…rap_1_check_throw_2
…ng_tester and tester_not_transition_to_savanna to legacy_tester
This PR fulfills the requirements set out by #202.
If the tester is constructed explicitly with a setup_policy it should still respect that. But if it a tester is default constructed, the new default setup_policy should be one that activates all protocol features and completes the transition to Savanna.
The behavior of the legacy version of tester under a full setup_policy should continue behaving as it currently does which is activating all the protocol features but not transition to Savanna consensus. Using the legacy version of the tester should require contract tests prior to Spring 1.0 to explicitly make changes to use the legacy version of the tester.
By default, contracts upgrading their libtester tests should be using the Savanna version of the tester (without any code changes required ideally). The behavior of the full setup_policy under the Savanna version of the tester is slightly different. It activates all the protocol features but then also transitions to Savanna consensus. It would be possible to stop short of transition to Savanna consensus by using a new setup_policy called full_except_do_not_transition_to_savanna.
The existing full_except_do_not_disable_deferred_trx setup_policy would also stop short of transitioning to the Savanna consensus (in both the legacy and Savanna versions of the tester).
As part of this work, also look at any remaining tests that use libtester but exist outside of the unittests directory. If these tests use an explicitly provided setup_policy, then they are not meant to exercise the tests under the environment of Savanna consensus and it is fine to keep these tests like this; they are not expected to fail. If the tests use the default setup_policy, the tests will now operate under Savanna consensus.
Notes:
system_tests
are kept using Legacy libtester for now. It is tracked byeosio_system_part2_tests
failed in Savanna #169state_history_tests
under are kept using Legacy libtester for now. It is tracked by test_state_history/test_splitted_log and test_state_history/test_fork_no_stride fail in Savanna #179chain_tests/replace_producer_keys
needs to be updated peniding Implementcontroller::replace_producer_keys
for Savanna #207