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

floatdrop / zoxy
96%

Build:
DEFAULT BRANCH: main
Repo Added 02 Jul 2026 07:32PM UTC
Token KWGWvjHvnPDVKqf2ysryBYwC8YQDXuND8 regen
Build 49 Last
Files 33
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

LAST BUILD ON BRANCH main
branch: main
CHANGE BRANCH
x
Reset
Sync Branches
  • main
  • cleanup/mechanical-quick-wins
  • refactor/proxy-test-helpers

05 Jul 2026 06:22AM UTC coverage: 96.09% (-0.2%) from 96.281%
28731866820

push

github

floatdrop
refactor(test): extract TestHarness for the common proxy setup

The ~30-line setup block (IO loop, TestOrigin, the simple single-cluster
config + router, connection pool, and a started ProxyServer on a loopback
listener) was repeated in most proxy tests. Extract it as a pointer-stable
TestHarness (in-place init, reverse-order deinit) with an Options struct
for the knobs that vary (origin lingering, respond_after, pool slots,
timeouts), and adopt it in the 13 tests that match the simple single-origin
/ single-cluster / no-resilience pattern.

Tests with a custom resilience config, multiple origins or clusters, TLS,
a second server, or a drain trigger keep manual setup — the harness only
owns the common case.

deinit closes a lingering origin's accepted connection (close_after_send =
false), centralizing the fd cleanup the per-test defers used to do so no
fd leaks past a test.

Combined with OneShotClient, the test section is now ~485 lines lighter.
220 tests + sim seeds 0..300 (3849 framed responses) pass; zig fmt + zig
build lint clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

10689 of 11124 relevant lines covered (96.09%)

0.96 hits per line

Relevant lines Covered
Build:
Build:
11124 RELEVANT LINES 10689 COVERED LINES
0.96 HITS PER LINE
Source Files on main
  • Tree
  • List 33
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28731866820 main refactor(test): extract TestHarness for the common proxy setup The ~30-line setup block (IO loop, TestOrigin, the simple single-cluster config + router, connection pool, and a started ProxyServer on a loopback listener) was repeated in most proxy... push 05 Jul 2026 06:24AM UTC floatdrop github
96.09
28730770547 main docs: remove file structure and stale diagram from readme push 05 Jul 2026 05:34AM UTC web-flow github
96.28
28730688866 main build: add `zig build lint` for the 100-column limit (replaces CI awk) Line-length enforcement lived as an inline awk in ci.yml, invisible to local dev. Reimplement it as a Zig tool (scripts/check_line_length.zig) wired into `zig build lint`, per... push 05 Jul 2026 05:30AM UTC floatdrop github
96.25
28717819858 main docs: refresh Phase 5 — h2load bench measured, drop stale zrk The h2 benchmark landed (bench/h2.sh), so Phase 5's "bench pending / zrk can't drive it" claims are stale. Updates, implemented slices left intact: - Trim the dead sentence off the Si... push 04 Jul 2026 07:56PM UTC floatdrop github
96.32
28717688477 main bench: HTTP/2 benchmark (bench/h2.sh) — h2-over-TLS vs native nginx-h2 zoxy speaks h2 only over TLS+ALPN and translates to h1 upstream, so the script drives h2load over https at a multiplexing sweep (-m), each level run direct (nginx's own TLS+ht... push 04 Jul 2026 07:51PM UTC floatdrop github
96.29
28717130404 main bench: pin cores + read h2load -m1 as latency, not throughput The h2load switch surfaced a scary 626k(direct) vs 188k(proxied) req/s. It was a measurement artifact, not a zoxy regression: - -m1 is closed-loop (1 req/conn), so req/s = conns/mean-... push 04 Jul 2026 07:28PM UTC floatdrop github
96.32
28716593661 main sim: h2c client fault menu (full parity, 2/2) Rounds out the h2c simulator to match the H1 fault menu. The multiplexed h2c client now draws a per-stream request kind — GET, small POST, a ~10 KiB POST, or a deliberately-malformed request (missing ... push 04 Jul 2026 07:07PM UTC floatdrop github
96.29
28716396711 main bench: swap zrk for h2load as the load generator h2load (nghttp2) speaks HTTP/2, which zrk cannot — needed ahead of the Phase 5 H2 downstream work. Add nghttp2 to the dev shell so h2load is on PATH; bench/run.sh uses it from PATH or fetches via `... push 04 Jul 2026 07:00PM UTC floatdrop github
96.56
28712220753 main docs: plan Phase 5 — own sans-io H2 core, H2-downstream/H1-upstream first Close the §6 open question: roll our own HTTP/2 rather than FFI nghttp2 (its allocator hook routes allocations but does not bound them; our H2 limits must be reserved const... push 04 Jul 2026 04:22PM UTC floatdrop github
96.6
28712001619 main docs: refresh stale H2/H3 note — pure-Zig stacks exist but don't fit The "nothing usable in pure Zig" premise is stale as of 2026 (quic-zig, httpx.zig). The conclusion is unchanged and now sharper: they bundle their own runtime + injected allocat... push 04 Jul 2026 04:12PM UTC floatdrop github
96.56
See All Builds (49)

Badge your Repo: zoxy

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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