Skip to content

test: smoke tests with declarative opt-in for examples/ - #2649

Open
jbohanon wants to merge 6 commits into
agentgateway:mainfrom
jbohanon:example-smoke-tests
Open

test: smoke tests with declarative opt-in for examples/#2649
jbohanon wants to merge 6 commits into
agentgateway:mainfrom
jbohanon:example-smoke-tests

Conversation

@jbohanon

Copy link
Copy Markdown
Contributor

No description provided.

jbohanon added 2 commits July 23, 2026 10:36
Config validation runs on every PR (validate_examples.rs), but nothing actually
runs the examples, so runtime breakage and drift in external deps (npx MCP
servers, provider APIs) slips through unnoticed. Add a scheduled functional layer.

The runner (test/examples, behind the `examples` build tag) is data-driven: an
example opts in with a smoke.yaml next to its config declaring mock upstreams and
HTTP/MCP probes, so adding coverage needs no Go. Covers traffic-http, mcp-basic
and llm-basic; llm-basic points every model at a prompt-reflecting mock so it
stays free and deterministic.

Runs against the latest nightly binary instead of building from source: no Rust
build, and it exercises a real shipped artifact. The linux nightly is a static
musl build, so nothing extra is needed on the runner.

Signed-off-by: Jacob Bohanon <jacob.bohanon@solo.io>
The readiness poll was a hand-rolled loop around an unbounded http.Get. Swap it
for require.Eventually and give each request a client timeout, so a hung
connection can't run past the overall deadline.

Use t.Context() for the gateway process and the MCP/readiness requests instead of
context.Background(). It's canceled just before a subtest's cleanups, so it drops
the manual cancel plumbing and lets a timed-out test abort in-flight work rather
than waiting on its own timeout.

Signed-off-by: Jacob Bohanon <jacob.bohanon@solo.io>
@jbohanon
jbohanon requested a review from a team as a code owner July 23, 2026 14:52
jbohanon added 4 commits July 23, 2026 15:35
Signed-off-by: Jacob Bohanon <jacob.bohanon@solo.io>
Signed-off-by: Jacob Bohanon <jacob.bohanon@solo.io>
Signed-off-by: Jacob Bohanon <jacob.bohanon@solo.io>
Signed-off-by: Jacob Bohanon <jacob.bohanon@solo.io>
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.

1 participant