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

stacklok / toolhive / 25561801062
65%

Build:
DEFAULT BRANCH: main
Ran 08 May 2026 02:47PM UTC
Jobs 1
Files 720
Run time 2min
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

08 May 2026 02:41PM UTC coverage: 64.85% (-0.001%) from 64.851%
25561801062

push

github

web-flow
Pin npipe round-trip and pipe lifecycle invariants (#5216)

* Pin npipe round-trip and pipe lifecycle invariants

Add three regression tests around the named-pipe transport that
the original PR did not cover. None of these reproduce live bugs
today; they pin invariants the named-pipe path implicitly relies
on so a future change can't silently break them.

TestWriteReadServerInfo_NamedPipe (cross-platform) closes the
producer/consumer loop for the discovery file: an npipe:// URL
written by socketURL must survive WriteServerInfo + ReadServerInfo
without being mangled. The individual emit/parse pieces have
their own tests; this one pins the seam.

TestSetupUnixSocket_NamedPipe_FirstInstanceWins (Windows-only)
asserts that two ListenPipe calls on the same name fail the
second time. winio sets FILE_FLAG_FIRST_PIPE_INSTANCE so that
two thv processes cannot bind the same pipe and race for traffic;
if a future winio bump silently relaxed that, this test catches
it before the discovery layer does in production.

TestCheckHealth_NamedPipe_HungServerCancelsOnContext
(Windows-only) covers the StateUnhealthy path: a peer that
accepts connections but never responds must not wedge
CheckHealth past the caller's context deadline. The existing
success and not-found tests don't exercise this case.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix t.Cleanup race in hung-peer test

TestCheckHealth_NamedPipe_HungServerCancelsOnContext registered
t.Cleanup from inside the Accept loop goroutine. t.Cleanup is
documented to be called from the test goroutine; a registration
that lands after the test body returns can panic with "Log in
goroutine after Test has completed" or be silently dropped. The
test happened to work because the dial CheckHealth makes accepts
before the test body returns, but correctness was load-bearing on
that timing.

Pre-register a single t.Cleanup from the test body that closes
every accepted conn under a mutex, and have the goroutine append
to tha... (continued)

63396 of 97758 relevant lines covered (64.85%)

60.21 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
71.85
-1.11% pkg/ignore/processor.go
2
94.77
-1.31% pkg/vmcp/composer/dag_executor.go
Jobs
ID Job ID Ran Files Coverage
1 25561801062.1 08 May 2026 02:47PM UTC 720
64.85
GitHub Action Run
Source Files on build 25561801062
  • Tree
  • List 720
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25561801062
  • e9436604 on github
  • Prev Build on main (#25560882915)
  • Next Build on main (#25570268403)
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