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

floatdrop / moq-go / 31671683862
89%

Build:
DEFAULT BRANCH: draft-19
Ran 13 Aug 2026 05:51AM UTC
Jobs 1
Files 100
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

13 Aug 2026 05:50AM UTC coverage: 87.05% (+0.07%) from 86.982%
31671683862

push

github

web-flow
test(etcd): cross-relay LARGEST_OBJECT, watch resilience, and the CI flake (#70)

etcd: 78.5% -> 85.3%.

* Cross-relay LARGEST_OBJECT. §10.2.16 requires a relay to report the
largest of any value an upstream gave it and the largest Location it
observed itself; fea80fc fixed a build where only the second half existed.
The degradation is fatal rather than cosmetic: a live subscription carries
only future objects, so the only route to content published before a
subscriber arrived is the §10.12.2 Joining FETCH, refused INVALID_RANGE
without a Joining Location — a track published once and then quiet, the
shape of an MSF catalog, becomes permanently unreachable through the second
relay with nothing logged. pkg/relay tests this over an in-memory store;
this runs it over the topology it actually fails in, two relays that found
each other through etcd with separate Stores, clients and leases. It asserts
the exact Location rather than the parameter's presence, because folding the
value in wrongly reports one that is present and wrong, which a presence
check waves through. Verified by stubbing saveLargestLocation to a no-op.

* Watch decoders. namespaceSnapshot was at 0% — the track side had a
snapshot test and the namespace side did not — and that path is what makes a
relay joining a running cluster useful immediately. The undecodable-entry
tests cover the resilience property that matters in a shared keyspace: a
value written by a relay on another build has to be logged and stepped over,
since aborting the watch would stop discovery entirely and look like a
network fault. They corrupt whatever the Store actually wrote, so they
cannot drift from the key scheme.

* The CI flake. TestCrossRelayEtcd_OnDemandSubscribe subscribed before the
namespace had propagated through etcd; waitForNamespace polls FindNamespace
to that point. The new test waits for B's watermark via TRACK_STATUS for the
same reason. Both preconditions are now waited for rather than assumed.

Also... (continued)

8900 of 10224 relevant lines covered (87.05%)

1.99 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
86.31
-0.76% pkg/moqt/session/request.go
Jobs
ID Job ID Ran Files Coverage
1 31671683862.1 13 Aug 2026 05:51AM UTC 100
87.05
GitHub Action Run
Source Files on build 31671683862
  • Tree
  • List 100
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31671683862
  • 045d6eee on github
  • Prev Build on draft-19 (#31670288661)
  • Next Build on draft-19 (#31673100289)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc