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

floatdrop / moq-go / 31727022073
89%

Build:
DEFAULT BRANCH: draft-19
Ran 13 Aug 2026 05:43PM UTC
Jobs 1
Files 101
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:42PM UTC coverage: 88.352% (+1.0%) from 87.312%
31727022073

push

github

web-flow
test: reach the relay's transport-failure branches, and fix the RejectError hang (#77)

The relay's "write failed" / "reply failed" branches were unreachable: every
hermetic test runs over sessiontest's in-process pipes, which never fail a
write, and the only way to break one was CloseWithError, which takes the whole
conn down before the branch under test can run.

sessiontest.Faulty wraps any session.Conn and consults a hook before each
operation on the conn and every stream it hands out. Faults are injected in
FRONT of the wrapped call, so a failed Write puts no bytes on the stream and a
failed OpenStream consumes no credit; wrapping panics rather than silently drop
PrioritizedSendStream / ReliableResetStream, which priority_test.go already
builds.

Branches it unlocked: both namespace REQUEST_OK failure paths, handlePublish's
two-part registration rollback, and two auth-denial arms that had no test.
Plus metric label values and message Type/ParamID naming invariants swept from
newMessage and kindOf rather than a table of literals.

It also exposed a real defect. Request.RejectError returned early when its own
REQUEST_ERROR write failed, skipping the CancelRead and FIN below it, so the
request stream was left open both ways and the peer blocked forever on a
response that could never arrive. draft-19 §3.3.3 covers this: "Receivers
cancel requests if they are unable to or choose not to respond ... using
RESET_STREAM for a direction they are sending and STOP_SENDING for a direction
they are receiving" — which is the existing resetStream helper. Attempting the
FIN anyway would have violated §3.3.2's MUST NOT, and because Marshal buffers
the frame before WriteFrame, a short write can leave a partial frame that
RESET_STREAM discards and a FIN would reliably deliver.

Every test verified red first by mutating the behaviour it protects. Two
mutations changed what shipped: the publish-rollback test's first version
re-published the SAME track under the same a... (continued)

143 of 150 new or added lines in 2 files covered. (95.33%)

7 existing lines in 2 files now uncovered.

9178 of 10388 relevant lines covered (88.35%)

2.01 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
95.3
pkg/moqt/session/sessiontest/faulty.go

Coverage Regressions

Lines Coverage ∆ File
4
65.79
-10.53% pkg/relay/relay_namespace_watch.go
3
86.15
-0.61% pkg/relay/handler_subscribe.go
Jobs
ID Job ID Ran Files Coverage
1 31727022073.1 13 Aug 2026 05:43PM UTC 101
88.35
GitHub Action Run
Source Files on build 31727022073
  • Tree
  • List 101
  • Changed 12
  • Source Changed 1
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31727022073
  • 4738e4fe on github
  • Prev Build on draft-19 (#31680407092)
  • Next Build on draft-19 (#31727371319)
  • 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