Skip to content

test(windows): separate ACL probe startup budget - #358

Merged
mohanagy merged 1 commit into
developmentfrom
fix/issue-352-windows-acl-bootstrap-budget
Aug 9, 2026
Merged

test(windows): separate ACL probe startup budget#358
mohanagy merged 1 commit into
developmentfrom
fix/issue-352-windows-acl-bootstrap-budget

Conversation

@mohanagy

@mohanagy mohanagy commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • give functional PowerShell probes a generous pre-marker startup/bootstrap budget, then reset to their bounded post-bootstrap execution deadline
  • keep the dedicated synthetic hanging probe on its existing five-second wall-clock contract
  • size the enclosing Vitest budgets from the number of functional probes while leaving production ACL code and timeouts untouched

Validation

  • npm test -- tests/windows-config-migration-acl.test.ts (parsed successfully; Windows-only cases skipped on macOS)
  • npm run typecheck
  • npm run lint -- --no-cache
  • full suite before the ancestry-only rebase: 1,828 passed, 33 skipped

Closes #352

Summary by CodeRabbit

  • Bug Fixes
    • Improved reliability of Windows ACL integration checks by distinguishing startup and execution phases.
    • Added clearer diagnostics for probe timeouts and startup failures.
    • Enhanced output handling across UTF-8 and UTF-16LE PowerShell responses.
    • Adjusted test timing based on the number of checks performed, reducing premature timeouts.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: ee52d49e-b266-4602-8c63-b058cd411420

📥 Commits

Reviewing files that changed from the base of the PR and between dd3ac48 and aafca5c.

📒 Files selected for processing (1)
  • tests/windows-config-migration-acl.test.ts

📝 Walkthrough

Walkthrough

Windows ACL integration probes now use centralized bootstrap and execution deadlines. Output parsing supports UTF-8 and UTF-16LE markers. Tests derive their timeout budgets from probe counts.

Changes

Windows ACL timing

Layer / File(s) Summary
Centralized timeout contracts
tests/windows-config-migration-acl.test.ts
The test defines shared PowerShell phase timeouts and calculates contract budgets from probe counts.
Phased probe deadlines
tests/windows-config-migration-acl.test.ts
Probes emit bootstrap markers. Shared parsing detects markers across encoded output and preserves streamed chunk tails.
Probe integration and test budgets
tests/windows-config-migration-acl.test.ts
ACL probes use phased deadlines, streamed output, cleanup on failure or close, and stage-specific timeout diagnostics. Integration tests use calculated budgets instead of fixed durations.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

  • mohanagy/miftah#229: Updates the same Windows ACL migration probes and timeout-marker handling.
  • mohanagy/miftah#272: Extends the Windows ACL probe helpers and unsafe-ancestor scenarios.
  • mohanagy/miftah#353: Modifies timeout handling and test budgets in the same Windows ACL migration test.

Poem

A rabbit checks each PowerShell run,
Bootstrap first, then work gets done.
UTF markers cross the stream,
Deadlines guard the testing dream.
Timers clear when probes close—
Stable checks from ear to toes!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description includes Summary and Validation, but it omits the required Security impact section and several validation checklist results. Add a Security impact section and report results for the required checks, privacy review, documentation, dependency, packaging, and vulnerability items.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the Windows ACL probe startup-budget change.
Linked Issues check ✅ Passed The test changes provide staged startup and execution deadlines, preserve the hanging-probe contract, and leave production ACL behavior unchanged [#352].
Out of Scope Changes check ✅ Passed The changes are limited to Windows ACL integration-test timing and diagnostics, which align with the linked issue objectives [#352].
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/issue-352-windows-acl-bootstrap-budget

Comment @coderabbitai help to get the list of available commands.

@mohanagy
mohanagy merged commit 56d4b63 into development Aug 9, 2026
12 checks passed
This was referenced Aug 9, 2026
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.

Stabilize Windows Node 24 ACL integration probe timing

1 participant