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

test: precedence of flag vs toml for abci client type #419

Merged
merged 2 commits into from
Apr 19, 2024

Conversation

JimLarson
Copy link

@JimLarson JimLarson commented Apr 19, 2024

Description

Refs: Agoric/agoric-sdk#9224

Add unit tests to confirm order of precedence for flag and TOML settings for ABCI client type. The previous test in start_test.go confirms that the setting is interpreted as desired.

Also more documentation for TOML template. (Flag help strings are more terse and needn't be as wordy.)


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title
  • added ! to the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • followed the guidelines for building modules
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • included comments for documenting Go code
  • updated the relevant documentation or specification
  • reviewed "Files changed" and left comments if necessary
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed ! in the type prefix if API or client breaking change
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic
  • reviewed API design and naming
  • reviewed documentation is accurate
  • reviewed tests and test coverage
  • manually tested (if applicable)

Also more documentation for TOML template.
@JimLarson JimLarson added enhancement New feature or request agoric-cosmos Agoric tags for cosmos labels Apr 19, 2024
@JimLarson JimLarson requested a review from gibson042 April 19, 2024 01:41
@JimLarson JimLarson self-assigned this Apr 19, 2024
@JimLarson
Copy link
Author

Failing lint check expected, since upstream also fails this check.

Choose a reason for hiding this comment

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

Nice catches here.

Comment on lines 85 to 89
# ABCIClientType selects the type of ABCI client.
# Default is "committing".
# Valid settings are "committing" (default) or "local".
# The committing client allows greater query parallelism,
# but the local client is more defensive.
abci-client-type = "{{ .BaseConfig.ABCIClientType }}"

Choose a reason for hiding this comment

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

Ugh, the buggy manual synchronization in this file is painful. I'm torn on whether or not we want to fix "ABCIClientType selects the type of ABCI client" to "abci-client-type selects the type of ABCI client" for correctness or leave it alone for local consistency, but am inclined towards the latter. The whole thing is crying out for a reflective approach à la https://go.dev/play/p/W74nda-DQKZ .

No changes needed here, though.

Choose a reason for hiding this comment

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

cosmos#20097 (comment)

Yes 100% agree, we are going to use struct annotations and github.com/pelletier/go-toml/v2 library for server/v2:
https://github.com/cosmos/cosmos-sdk/blob/605b724/server/v2/api/grpc/config.go#L19-L34

🎉

@gibson042 gibson042 merged commit c03a8b7 into Agoric Apr 19, 2024
34 of 35 checks passed
@gibson042 gibson042 deleted the 9224-moar-tests branch April 19, 2024 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agoric-cosmos Agoric tags for cosmos enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants