perf(test): parallelize fresh-create identity cases - #11343
Conversation
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe onboarding test now runs cases concurrently with asynchronous child-process execution. It isolates fixture environment variables per process, adds Docker volume fixtures for host-doctor interactions, and awaits recovery, cancellation, and reentry assertions. ChangesOnboarding test execution
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change parallelizes isolated onboarding test scenarios and updates their child-process and recovery handling without changing production behavior. No current merge-blocking risk is identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall line coverage in commit 17a6d2d in the TypeScript / code-coverage/cliThe overall line coverage in commit 17a6d2d in the Show a line coverage summary of the most impacted files.
Updated |
|
PR Review Advisor finished for commit |
Outcome
The current slowest CLI coverage test file drops from 132.85s to a 47.28s three-run median locally: 64% faster, with all 15 subprocess scenarios preserved. The fresh hosted timing report measured the current-main file at 134.85s.
Production behavior is unchanged.
Reason
onboard-fresh-create-identity.test.tsruns 15 independent, process-isolated onboarding scenarios. Each case usedspawnSync, so the file serialized every child process even though the scenarios use separate homes, ports, and payloads.Related issues
Part of #6237.
Changes
execFilewrapper while preserving exit status, stdout, stderr, timeout, and process isolation.This recovers the useful distribution goal from closed PR #11098 without its 1,180-line helper extraction, four wrapper files, or shard remapping.
Verification
17a6d2d83703d380d63310f9951e76e871520412Verified.Review notes
The cases remain subprocess-isolated and retain all assertions. Concurrency is bounded by Vitest rather than adding a new worker setting or CI configuration.
Signed-off-by: Charan Jagwani cjagwani@nvidia.com
Summary by CodeRabbit