-
Notifications
You must be signed in to change notification settings - Fork 1.1k
fix(windows): unblock the isolated fabric producer and unpin CI-scaled waits #2873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
dbbe16f
6f57fa6
467e071
0da5e31
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,7 +3,11 @@ import { spawn } from "node:child_process"; | |
| import { readFileSync } from "node:fs"; | ||
| import { join } from "node:path"; | ||
| import { setTrustedWindowsElevationExecutablesForTests } from "../src/lib/windows-elevation"; | ||
| import { createWindowsPowerShellFixture, type WindowsPowerShellFixture } from "./helpers/windows-power-shell-fixture"; | ||
| import { | ||
| createWindowsPowerShellFixture, | ||
| probeWindowsPowerShellFixture, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win Remove the duplicate local probe declaration.
🤖 Prompt for AI Agents |
||
| type WindowsPowerShellFixture, | ||
| } from "./helpers/windows-power-shell-fixture"; | ||
| import { | ||
| afterCatalogWriteHandleAppServers, | ||
| attachStaleAppServerHint, | ||
|
|
@@ -33,6 +37,16 @@ beforeAll(async () => { | |
| }); | ||
| afterAll(() => stallingFakePowerShell?.cleanup()); | ||
|
|
||
| // Both #1852 cases below reach the collector through the real execFile path, and | ||
| // the collector maps any exec failure to `state: "unknown"` with no processes. | ||
| // So a fixture that cannot run produces exactly the assertion failures a | ||
| // synchronous implementation would, and the Windows leg reported the design | ||
| // regression it does not have. This names the real condition instead. | ||
| test("the PowerShell fixture the #1852 cases depend on actually executes", async () => { | ||
| const probe = await probeWindowsPowerShellFixture(stallingFakePowerShell); | ||
| expect(probe.ok, `fake PowerShell fixture at ${stallingFakePowerShell.executable} did not run: ${probe.detail}`).toBe(true); | ||
| }); | ||
|
|
||
| test("not_running when no app-server process exists", () => { | ||
| const status = collectCodexAppServerCatalogState({ | ||
| listSnapshots: () => [], | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Match escaped quotes in the TOML literal.
encodeBasicStringalso escapes"as\", anddecodeBasicStringsupports that escape. The("[^"]*")pattern stops at the escaped quote, so a valid POSIX path such as/tmp/a"b.mdis not matched.readModelInstructionsFilethen returnsnull, andresolveBaseSelectionfalls back to{ kind: "default" }.Use a pattern that skips escaped characters, such as
"(?:\\.|[^"\\])*", and add a regression case for a quote-containing path.Proposed fix
📝 Committable suggestion
🧰 Tools
🪛 OpenGrep (1.26.0)
[ERROR] 520-520: Dynamic command passed to child_process.exec/execSync. Use child_process.execFile or spawn with an argument array instead.
(coderabbit.command-injection.exec-js)
🤖 Prompt for AI Agents