Loading video...

Video Failed to Load

Go Home

Built a test suite for T3 Code with e2e ⚡ 40 tests, testing 6 coding agents (Codex, Claude, Grok, OpenCode, Pi, Antigravity) mocked at CLI level It already caught a small bug: Stop doesn't stop a turn that's still starting

22,296 views • 12 days ago •via X (Twitter)

27 Comments

Oskar's profile picture
Oskar12 days ago

it's using btw @jullerino - happy to create a PR with this!

Theo - t3.gg's profile picture
Theo - t3.gg11 days ago

👀

Oskar's profile picture
Oskar11 days ago

here's a PR:

Rami Maalouf's profile picture
Rami Maalouf12 days ago

the real question here is can my mac handle this

Bhanu Nagar's profile picture
Bhanu Nagar11 days ago

I dont think you need that much complexity to get this bug like its there if you have used t3 code buddy !

Adithya Laakso's profile picture
Adithya Laakso11 days ago

to be fair that bug is known to everyone who has used t3 for more than an hour or so but still super impressive

Nandy's profile picture
Nandy11 days ago

@kacperkapusciak Took me, longer than it should have to understand. It’s a test suite for the T3 codebase, right?

Oskar's profile picture
Oskar11 days ago

@kacperkapusciak yes!

Mohamed Tawfik's profile picture
Mohamed Tawfik11 days ago

A Stop button missing the 'turn is still starting' state is such a classic race. Nice catch. Mocking all six agents at the CLI level sounds like the right way to find these.

Anderson's profile picture
Anderson11 days ago

40 tests written by AI that test nothing real

catman's profile picture
catman12 days ago

CLI-level mocks are like a flight simulator: they let you test the stop button and other control paths without depending on a live agent run.

Hexabl0b's profile picture
Hexabl0b12 days ago

i'd worry about a late event from the cancelled turn landing in the next one. does the suite cover stop, restart, then the old startup finally completing?

David Vornholt's profile picture
David Vornholt12 days ago

Mocking at the CLI level is the part I'd watch: when Codex or Claude change their output format, the mocks keep passing while the real integration breaks. Do you re-record the fixtures from the real CLIs on a schedule?

Pratik's profile picture
Pratik11 days ago

How can i contribute to this project?

Oskar's profile picture
Oskar11 days ago

we're accepting pull requests on GitHub:

Pratik's profile picture
Pratik11 days ago

Thanks

Brjan | AI Builder's profile picture
Brjan | AI Builder11 days ago

catching bugs like that is key for smoother interactions, great job!

Deep's profile picture
Deep12 days ago

Does stop need a turn id before it can cancel?

Theo's profile picture
Theo11 days ago

how do you mock them at the cli level, recorded output replayed by a fake binary? i'd guess the painful part is keeping those fixtures in sync each time one of the six changes its output format

PuneetSingh⚡️'s profile picture
PuneetSingh⚡️12 days ago

That bug class shows up in every harness. Tests cover idle and running, but "starting" is its own state and Stop has to mean something there too. Mocking at the CLI level is a nice way to hit those in-between states on purpose.

Ábel Énekes's profile picture
Ábel Énekes12 days ago

Nice catch! Wondering how the suite is written tho: mostly agent.act with the replay cache, or deterministic steps? Asking bc I've been thinking about where the intent lives. Steps in UI language have to change in a lot of places when the UI changes. Steps in high-level language don't, but then the same path in different tests gets healed separately, right? With page objects that's one method and one diff in domain language. With the cache it's gitignored by default, and when committed you review a JSON of recorded actions per test. Are we supposed to commit .e2e/cache and review those diffs?

Juan Esteban Sierra's profile picture
Juan Esteban Sierra12 days ago

Which of the six was the hardest to mock cleanly at the CLI level? Streaming output tends to break these harnesses before tool-call interception does.

PersonaStack.ai's profile picture
PersonaStack.ai11 days ago

It doesn't have to be this hard, friend.

Harsh Manwani's profile picture
Harsh Manwani12 days ago

CLI level mocks for agent testing are where the real dev-velocity gains are. Most people are still trying to e2e test the UI.

Surendra Mattaparthi's profile picture
Surendra Mattaparthi11 days ago

Testing at the CLI boundary is the right call, that's where the weird state lives. "Stop doesn't stop a turn that's still starting" is exactly the bug users hit and nobody can repro. Are you running this on every agent CLI release?

Mitansh's profile picture
Mitansh11 days ago

Forty e2e tests across six coding agents, mocked at the CLI level, is a solid safety net for T3 Code. Nice that it already caught the Stop bug 👀

Kevin Rajan's profile picture
Kevin Rajan11 days ago

bro ilysm

Related Videos