Skip to content

Stabilize flaky plugin sandbox infinite-loop abort test#18

Merged
DavidBabinec merged 1 commit into
mainfrom
fix/flaky-sandbox-abort-test
Jun 10, 2026
Merged

Stabilize flaky plugin sandbox infinite-loop abort test#18
DavidBabinec merged 1 commit into
mainfrom
fix/flaky-sandbox-abort-test

Conversation

@DavidBabinec

Copy link
Copy Markdown
Contributor

The v0.0.3 release workflow's Verify job failed on one test: aborts a plugin that hangs in an infinite loop. Root cause is a test-design flaw, not a product regression.

The test passed evalTimeoutMs: 50. That budget also wraps the one-time bootstrap-bundle compile inside createPluginVm (vm.ts:265). On the loaded CI runner the bootstrap compile exceeded 50ms and was interrupted, so createPluginVm threw before the runaway activate loop ran (stack pointed at vm.ts:266 / withSyncDeadline, not the assertion). Locally bootstrap compiles in <50ms, so it always passed.

Fix: raise the test budget to 1s (well above worst-case bootstrap compile, still fast) and widen the elapsed assertion with slack. The runaway loop still aborts within the budget. Ran the test 3× locally — deterministic.

🤖 Generated with Claude Code

The test passed evalTimeoutMs=50, which also bounds the one-time bootstrap
bundle compile inside createPluginVm. On a loaded CI runner that compile
exceeded 50ms and was falsely interrupted, so createPluginVm threw before
the runaway activate loop ran. Raise the budget to 1s (comfortably above
worst-case bootstrap compile, still fast) and widen the elapsed assertion
with slack so the regression coverage is timing-robust.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@DavidBabinec DavidBabinec merged commit e46b24d into main Jun 10, 2026
6 checks passed
@DavidBabinec DavidBabinec deleted the fix/flaky-sandbox-abort-test branch June 10, 2026 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant