• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / go-storage / 26520148948
90%

Build:
DEFAULT BRANCH: master
Ran 27 May 2026 03:14PM UTC
Jobs 1
Files 49
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 May 2026 03:12PM UTC coverage: 89.953% (+0.05%) from 89.906%
26520148948

push

github

bigbes
test_helpers/etcd: replace internal/testing/etcd embedded helper

The old internal/testing/etcd helper was built on go.etcd.io/etcd/tests/v3,
which drags in a v1 build of grpc-ecosystem/go-grpc-middleware and the
pre-split google.golang.org/genproto monolith — colliding with modern
genproto/googleapis/{api,rpc} and breaking plain module-mode builds with
"ambiguous import" errors.

Replace it with a small helper built on go.etcd.io/etcd/server/v3/embed,
which has none of those transitive pins.

test_helpers/etcd

  - New package etcd (aliased as etcdtest by importers to avoid colliding
    with driver/etcd) exposing New, Cluster, ClusterConfig, EndpointsGRPC,
    EndpointsHTTP, and Terminate.
  - LazyCluster: a lazily-started embedded etcd intended to be shared
    across a whole test suite via TestMain. Sharing one cluster per
    package keeps total cluster boots at one per 'go test' invocation,
    eliminating the per-test cluster cost under -race -count=N.
  - startCluster retries up to 8 times on "address already in use".
    freeURL snapshots an ephemeral port with net.Listen("127.0.0.1:0")
    and closes it before embed re-binds; under high parallelism the
    kernel can hand the same port to another listener between close and
    rebind, and the retry hides that race.

Test migration

  - integrity, driver/etcd, and connect integration tests use the shared
    LazyCluster via TestMain. Per-test data isolation is the caller's
    responsibility — tests namespace their keys with t.Name().
  - driver/etcd/examples_test.go keeps a per-example cluster because some
    Example* funcs assert on etcd's global ModRevision counter in their
    'Output:' blocks; a shared cluster would make that value depend on
    test ordering.
  - connect's auth and TLS helpers also keep per-test clusters because
    AuthEnable and TLS settings are cluster-global.
  - driver/etcd locker tests' testLockName now appends an atomic
    per-invocation sequence so successive ... (continued)

3814 of 4240 relevant lines covered (89.95%)

511.33 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26520148948.1 27 May 2026 03:14PM UTC 49
89.95
GitHub Action Run
Source Files on build 26520148948
  • Tree
  • List 49
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 3ae3f3f7 on github
  • Prev Build on master (#26288689338)
  • Next Build on master (#26637162934)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc