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

dangernoodle-io / pogopin / 29075942104
88%

Build:
DEFAULT BRANCH: main
Ran 10 Jul 2026 07:11AM UTC
Jobs 1
Files 32
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

10 Jul 2026 07:11AM UTC coverage: 85.604%. Remained the same
29075942104

push

github

web-flow
test: add committed MCP hardware-integration harness (#48)

- test/hwbench/hwbench_test.go drives pogopin's real stdio MCP wire
  protocol against a physical ESP board via the mcp-go stdio client:
  initialize -> notifications/initialized -> serial_list (unlocks the
  hardware tier) -> tools/list -> tools/call per scenario, collecting
  notifications/progress.
- build-tagged hwtest and gated on POGOPIN_HW_PORT (t.Skip when unset),
  so `go test ./...` never compiles it and `go test -tags hwtest ./...`
  without hardware is a clean skip.
- board-profile table (s2/c3/s3dongle/cyd) selected via POGOPIN_HW_BOARD,
  binary resolution via POGOPIN_HW_BIN or a temp go build (CGO_ENABLED=0,
  matching the flashed binary's build).
- every esp_gpio_* call bakes in reset_mode: "no_reset" -- a reset-based
  connect hangs/desyncs the ROM on native-USB chips.
- scenarios: hardware-tier unlock, tools/list coverage, magic-0x9
  regression, gpio set high/low, >5s-expiry no-reset reattach (the
  load-bearing no-reset-on-expire regression guard, derived from the
  now-exported session.DeferredRestartTimeout with 2s headroom), reserved-
  pin refusal, and sweep skip+progress.
- session.deferredRestartTimeout exported as DeferredRestartTimeout (pure
  visibility change, no behavior change) so the harness's wait window
  derives from the real value instead of a duplicate hard-coded literal
  that would silently drift if the timeout is retuned.
- the harness drains the pogo subprocess's stderr pipe in a goroutine so a
  large stderr burst can't fill the OS pipe buffer and hang the run with
  no diagnostic; buffered lines are flushed to t.Log from Cleanup after
  the drain goroutine observes EOF.
- assertions converted from stdlib t.Fatalf/t.Errorf to testify
  require/assert, matching repo convention.
- Makefile hwbench-check target (go build/vet/lint against the hwtest tag,
  no hardware) plus a standalone hwbench-check CI job in
  .github/workflows/build.yml, so a compile ... (continued)

3675 of 4293 relevant lines covered (85.6%)

0.97 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29075942104.1 10 Jul 2026 07:11AM UTC 32
85.6
GitHub Action Run
Source Files on build 29075942104
  • Tree
  • List 32
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29075942104
  • e73a8000 on github
  • Prev Build on main (#29075472367)
  • Next Build on main (#29076368476)
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