sui-indexer-alt-framework-store-traits: add shared connection test macros - #26268
Merged
Conversation
evan-wall-mysten
requested review from
amnn,
emmazzz,
henryachen,
nickvikeras,
tpham-mysten and
wlmyng
April 16, 2026 18:38
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
April 16, 2026 18:38 — with
GitHub Actions
Inactive
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
April 16, 2026 18:42
89c3d10 to
0d76edb
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
April 16, 2026 18:42 — with
GitHub Actions
Inactive
evan-wall-mysten
marked this pull request as draft
April 16, 2026 18:57
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
April 16, 2026 18:58
0d76edb to
f4cbb15
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
April 16, 2026 18:58 — with
GitHub Actions
Inactive
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
April 16, 2026 19:57
f4cbb15 to
7dc7dac
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
April 16, 2026 19:57 — with
GitHub Actions
Inactive
evan-wall-mysten
marked this pull request as ready for review
April 16, 2026 20:01
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
April 16, 2026 20:01 — with
GitHub Actions
Inactive
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
April 16, 2026 20:33
7dc7dac to
506994a
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
April 16, 2026 20:33 — with
GitHub Actions
Inactive
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
April 16, 2026 20:48
506994a to
519630e
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
April 16, 2026 20:48 — with
GitHub Actions
Inactive
amnn
approved these changes
Apr 23, 2026
amnn
left a comment
Contributor
There was a problem hiding this comment.
Mostly looks good, I think the macro approach you have gone for is better than the custom runner approach -- I've left some suggestions to hopefully reduce the boilerplate a little more.
The only issue that needs to be addressed before landing are the changes around pruner watermark (testing wait_for_ms behaviour, and that driving changes in stores that don't currently use wait_for_ms and have been forced to implement something wrong there to conform.
Let me know if the suggested fix there makes sense, otherwise feel free to re-request review, and I will take another look. Otherwise accepted to unblock.
wlmyng
reviewed
Apr 23, 2026
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
May 4, 2026 15:53
519630e to
fb49dda
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
May 4, 2026 15:53 — with
GitHub Actions
Inactive
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
May 4, 2026 18:54
fb49dda to
1a3ec2e
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
May 4, 2026 18:54 — with
GitHub Actions
Inactive
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
May 4, 2026 20:27
1a3ec2e to
9c7f9af
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
May 4, 2026 20:27 — with
GitHub Actions
Inactive
…nection test macros
evan-wall-mysten
force-pushed
the
indexer_connection_test_macro
branch
from
May 4, 2026 21:52
9c7f9af to
d49a213
Compare
evan-wall-mysten
temporarily deployed
to
sui-typescript-aws-kms-test-env
May 4, 2026 21:53 — with
GitHub Actions
Inactive
evan-wall-mysten
enabled auto-merge (squash)
May 4, 2026 21:59
evan-wall-mysten
disabled auto-merge
May 4, 2026 21:59
evan-wall-mysten
enabled auto-merge (squash)
May 4, 2026 21:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds shared harness-based tests for the store trait contracts in
sui-indexer-alt-framework-store-traits.The shared macros are split by capability:
connection_tests!concurrent_connection_tests!sequential_connection_tests!They cover common
Connection,ConcurrentConnection, andSequentialConnectionbehavior including watermark initialization, committer watermark progression and stale-write rejection, chain-id acceptance/rejection, reader/pruner stale-write rejection, and sequential transaction rollback.This also adds a trait-crate in-memory
MockStorefor exercising the shared tests. The framework test store is nowFallibleMockStore; it delegates shared watermark and chain-id behavior to the trait-crateMockStorewhile retaining framework-specific failure, data, transaction, and pruning controls.Adopters in this branch:
sui-indexer-alt-object-storesui-pg-dbsui-kvstoreImplementation-specific tests remain where the behavior is storage-specific, such as object-store watermark format migration and pruner wait/saturation behavior.
Failed macro assertions backtraces contain line with assertion:
/Users/evanwall/workspace/sui2/crates/sui-indexer-alt-framework-store-traits/src/testing/mod.rs:59:9and line where macro is called from crate's test mod:
sui_indexer_alt_object_store::tests::connection_tests::init_watermark_fresh_without_checkpoint::{{closure}} at ./src/lib.rs:480:5Example:
Test plan
New macro tests pass.
Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.