[APPS-2792] Add: local-execution resilience tests - #492
Conversation
c2676bc to
db2d170
Compare
c994af1 to
fe1ce1f
Compare
ce94528 to
d02d8bd
Compare
fe1ce1f to
8777af3
Compare
d02d8bd to
d1d88d6
Compare
8777af3 to
91844e5
Compare
d1d88d6 to
813061b
Compare
91844e5 to
8fa667c
Compare
96a5e43 to
18c9216
Compare
8fa667c to
28fb51c
Compare
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🔗 Commit SHA: 603a8f1 | Docs | View more details | Give us feedback! |
5b24d84 to
570261e
Compare
28fb51c to
7805ce2
Compare
235b1a5 to
bced83c
Compare
7805ce2 to
7f5e32e
Compare
bced83c to
b823f05
Compare
7f5e32e to
a2d89c8
Compare
b823f05 to
68e0026
Compare
a2d89c8 to
a110cb0
Compare
68e0026 to
60e9fcc
Compare
a110cb0 to
84beda0
Compare
959d0e8 to
d3707a3
Compare
e6b3d80 to
e3d1864
Compare
4e21289 to
af19a80
Compare
e3d1864 to
a37c927
Compare
af19a80 to
e3f1b34
Compare
a37c927 to
08daffe
Compare
e3f1b34 to
a0d01dd
Compare
b8c3563 to
3258de8
Compare
d16eefb to
a8f9952
Compare
b6dd249 to
793a2c1
Compare
c44a69b to
91b68c7
Compare
a1c90e6 to
54571f6
Compare
91b68c7 to
28bc783
Compare
54571f6 to
3a8d987
Compare
28bc783 to
8aa14c2
Compare
4b41eb5 to
dd78fed
Compare
8aa14c2 to
fa44b78
Compare
dd78fed to
6a6640b
Compare
fa44b78 to
13f8d38
Compare
6a6640b to
dc85a6c
Compare
13f8d38 to
04d8b27
Compare
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
Pull request overview
Friend, this PR adds resilience tests documenting known limitations of in-process backend execution.
Changes:
- Tests synchronous CPU-bound timeout starvation.
- Tests
process.exit()cleanup behavior in a subprocess.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8c7928f483
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…des (Milestone 7) process.exit() inside a customer function can't be tested in-process without killing the Jest worker running the assertion. Spawns local-execution.process-exit.fixture.ts as its own Jest process so the process.exit() call runs through the real executeScriptLocally/ runScriptLocally code path instead of a hand-rolled emulation of it.
|
Superseded by #496 — this PR could not be reopened because its base branch ( |
Motivation
domains/chaos-engineeringtargets Datadog-owned Kubernetes clusters — a mismatch for this in-process, customer-dev-server model.Architecture
process.exit()test can't callrunScriptLocallydirectly in the main Jest process — exiting would kill the whole test run.Changes
2 changes across 2 files
Promise.racetimeout never fires — it can only settle once the loop finishes on its own.process.exit()inside the customer function terminates the whole process immediately, bypassingrunScriptLocally'stry/finallycleanup — spawns a dedicated fixture as its own Jest process (sinceprocess.exit()can't safely run inside this Jest process) so the observed behavior is the realexecuteScriptLocally/runScriptLocallycode path, not a hand-rolled emulation of it.local-execution.test.ts.QA Instructions
yarn workspace @dd/tests test:unit packages/plugins/apps/src/vite/local-execution.resilience.test.ts # Expected: 2 passed ✅ VERIFIEDyarn workspace @dd/apps-plugin run typecheck # Expected: clean exit ✅ VERIFIEDBlast Radius
Out of Scope / Follow-ups
1 item deferred
worker_threads) to close the confirmed sync-hang andprocess.exit()gapsDocumentation