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

Change default setup_policy of libtester to transition to Savanna #202

Closed
arhag opened this issue May 24, 2024 · 0 comments · Fixed by #205
Closed

Change default setup_policy of libtester to transition to Savanna #202

arhag opened this issue May 24, 2024 · 0 comments · Fixed by #205
Assignees

Comments

@arhag
Copy link
Member

arhag commented May 24, 2024

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.

Note that 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). This is because we will ultimately make the disabled deferred transactions protocol features dependencies of the Savanna protocol feature.

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. The hope is that these tests should still not fail because what they test is independent of the consensus mechanism. But if they did, we should understand why and fix the test as appropriate.

Also run the reference contract tests after making these changes to ensure they do not break. If they do, we can address this in a separate reference contracts repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants