Skip to content

test(integration): add structured HTTP smoke harness#47

Merged
DonPrus merged 3 commits into
nullclaw:mainfrom
vernonstinebaker:test/integration-http-smoke
May 7, 2026
Merged

test(integration): add structured HTTP smoke harness#47
DonPrus merged 3 commits into
nullclaw:mainfrom
vernonstinebaker:test/integration-http-smoke

Conversation

@vernonstinebaker

Copy link
Copy Markdown
Contributor

Summary

  • add a dedicated zig build test-integration step for structured backend integration coverage without replacing the existing unit-test gate
  • introduce a first integration harness that builds the real nullhub binary, starts it under a temporary home directory, and performs HTTP assertions with Zig's HTTP client
  • cover the initial smoke-style routes in structured form: /health, /api/status, and a representative 404 path

Validation

  • zig build test -Dembed-ui=false -Dbuild-ui=false --summary all
  • zig build test-integration -Dembed-ui=false -Dbuild-ui=false --summary all
  • npm --prefix ui ci --no-audit --no-fund
  • npm --prefix ui run build
  • bash tests/test_e2e.sh
  • zig fmt --check src/
  • git diff --check

Notes

  • this is intentionally the first small harness slice, not the full integration suite; later slices can add instance lifecycle, config mutation, and orchestration flows on top of the same test entrypoint
  • the shell smoke test remains in place and unchanged; this adds a structured Zig integration layer rather than replacing the shell coverage immediately

@DonPrus

DonPrus commented May 6, 2026

Copy link
Copy Markdown
Contributor

I last used Windows back in 2014, and moments like this remind me exactly why I never came back :)

@DonPrus DonPrus force-pushed the test/integration-http-smoke branch from e638849 to da81e93 Compare May 7, 2026 00:10
vernonstinebaker and others added 3 commits May 6, 2026 21:12
Preserve short-read semantics in the Zig 0.16 compat stream on Windows and keep the integration smoke on the real std.http.Client path.

Also keeps backend CI bounded with a timeout so a socket regression fails visibly instead of hanging indefinitely.
@DonPrus DonPrus force-pushed the test/integration-http-smoke branch from da81e93 to 0e4c274 Compare May 7, 2026 00:13
@DonPrus DonPrus merged commit 91aa2b8 into nullclaw:main May 7, 2026
4 checks passed
@vernonstinebaker vernonstinebaker deleted the test/integration-http-smoke branch May 7, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants