Skip to content

testutil: switch etcd helper to go-storage etcdtest#78

Open
bigbes wants to merge 1 commit into
masterfrom
bigbes/gh-no-light-etcd-shim
Open

testutil: switch etcd helper to go-storage etcdtest#78
bigbes wants to merge 1 commit into
masterfrom
bigbes/gh-no-light-etcd-shim

Conversation

@bigbes
Copy link
Copy Markdown
Collaborator

@bigbes bigbes commented May 27, 2026

Use go-storage's test_helpers/etcd package (added in v1.5.x) instead of go.etcd.io/etcd/tests/v3/framework/integration. The new helper is built on embed and avoids dragging the tests/v3 framework — and its pre-split google.golang.org/genproto pin — into the module graph.

The public EtcdTestCluster{Storage, Client} shape is unchanged, so the integration test callers need no edits. As a side effect go.etcd.io/etcd bumps to v3.6.11 and the direct tests/v3 and client/pkg/v3 dependencies drop out of go.mod.

@bigbes bigbes force-pushed the bigbes/gh-no-light-etcd-shim branch from 192f84d to cb769ae Compare May 27, 2026 21:03
@bigbes bigbes requested review from Mockird31 and sssciel May 27, 2026 21:04
@coveralls
Copy link
Copy Markdown

coveralls commented May 27, 2026

Coverage Status

coverage: 86.885%. remained the same — bigbes/gh-no-light-etcd-shim into master

Copy link
Copy Markdown
Member

@sssciel sssciel left a comment

Choose a reason for hiding this comment

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

Please fix CI

Use go-storage's test_helpers/etcd package (added in v1.5.x) instead of
go.etcd.io/etcd/tests/v3/framework/integration. The new helper is built
on embed and avoids dragging the tests/v3 framework — and its pre-split
google.golang.org/genproto pin — into the module graph.

The public EtcdTestCluster{Storage, Client} shape is unchanged, so the
integration test callers need no edits. As a side effect go.etcd.io/etcd
bumps to v3.6.11 and the direct tests/v3 and client/pkg/v3 dependencies
drop out of go.mod.

The bump also grew three methods on the Storage interface (TxFactory,
NewLocker, LockerFactory); MockStorage gains stubs for them so test
files that pass *MockStorage as storage.Storage still compile. TxFactory
returns m.Tx, NewLocker returns an error (the mock has no distributed-
lock semantics), and LockerFactory wraps NewLocker via locker.FactoryFunc.
@bigbes bigbes force-pushed the bigbes/gh-no-light-etcd-shim branch from cb769ae to 1b5c1a3 Compare May 28, 2026 11:45
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