fix(codex): qualify git bash rerun guidance
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -113,7 +113,7 @@ describe("git-bash", () => {
|
|||||||
expect(result.checkedPaths).toEqual([PROGRAM_FILES_GIT_BASH, PROGRAM_FILES_X86_GIT_BASH])
|
expect(result.checkedPaths).toEqual([PROGRAM_FILES_GIT_BASH, PROGRAM_FILES_X86_GIT_BASH])
|
||||||
expect(result.installHint).toContain("winget install --id Git.Git -e --source winget")
|
expect(result.installHint).toContain("winget install --id Git.Git -e --source winget")
|
||||||
expect(result.installHint).toContain("OMO_CODEX_GIT_BASH_PATH=C:\\path\\to\\bash.exe")
|
expect(result.installHint).toContain("OMO_CODEX_GIT_BASH_PATH=C:\\path\\to\\bash.exe")
|
||||||
expect(result.installHint).toContain("rerun `bunx omo install --platform=codex`")
|
expect(result.installHint).toContain("rerun `bunx --package oh-my-openagent omo install --platform=codex`")
|
||||||
})
|
})
|
||||||
|
|
||||||
test("#given Windows without Git Bash and winget is allowed #when preparing #then winget runs and resolver is retried", async () => {
|
test("#given Windows without Git Bash and winget is allowed #when preparing #then winget runs and resolver is retried", async () => {
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ function missingGitBash(checkedPaths: readonly string[]): GitBashResolution {
|
|||||||
"Git Bash is required for native Windows Codex profile installs.",
|
"Git Bash is required for native Windows Codex profile installs.",
|
||||||
"Install it with: winget install --id Git.Git -e --source winget",
|
"Install it with: winget install --id Git.Git -e --source winget",
|
||||||
`For a custom install, set ${GIT_BASH_ENV_KEY}=C:\\path\\to\\bash.exe`,
|
`For a custom install, set ${GIT_BASH_ENV_KEY}=C:\\path\\to\\bash.exe`,
|
||||||
"Then rerun `bunx omo install --platform=codex`.",
|
"Then rerun `bunx --package oh-my-openagent omo install --platform=codex`.",
|
||||||
].join("\n"),
|
].join("\n"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ describe("install-codex Git Bash preflight", () => {
|
|||||||
"Git Bash is required.",
|
"Git Bash is required.",
|
||||||
"winget install --id Git.Git -e --source winget",
|
"winget install --id Git.Git -e --source winget",
|
||||||
"OMO_CODEX_GIT_BASH_PATH=C:\\path\\to\\bash.exe",
|
"OMO_CODEX_GIT_BASH_PATH=C:\\path\\to\\bash.exe",
|
||||||
"rerun `bunx omo install --platform=codex`",
|
"rerun `bunx --package oh-my-openagent omo install --platform=codex`",
|
||||||
].join("\n"),
|
].join("\n"),
|
||||||
}),
|
}),
|
||||||
runCommand: async (command: string, args: readonly string[], options: CommandRunOptions) => {
|
runCommand: async (command: string, args: readonly string[], options: CommandRunOptions) => {
|
||||||
@@ -61,9 +61,23 @@ describe("install-codex Git Bash preflight", () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// then
|
// then
|
||||||
await expect(install).rejects.toThrow("winget install --id Git.Git -e --source winget")
|
let installError: unknown
|
||||||
|
try {
|
||||||
|
await install
|
||||||
|
} catch (error) {
|
||||||
|
installError = error
|
||||||
|
}
|
||||||
|
expect(installError).toBeInstanceOf(Error)
|
||||||
|
expect((installError as Error).message).toContain("winget install --id Git.Git -e --source winget")
|
||||||
expect(commands).toEqual([])
|
expect(commands).toEqual([])
|
||||||
await expect(stat(join(codexHome, "config.toml"))).rejects.toThrow()
|
|
||||||
|
let configStatError: unknown
|
||||||
|
try {
|
||||||
|
await stat(join(codexHome, "config.toml"))
|
||||||
|
} catch (error) {
|
||||||
|
configStatError = error
|
||||||
|
}
|
||||||
|
expect(configStatError).toBeInstanceOf(Error)
|
||||||
})
|
})
|
||||||
|
|
||||||
test("#given Windows without Git Bash #when winget succeeds and resolver recovers #then install continues", async () => {
|
test("#given Windows without Git Bash #when winget succeeds and resolver recovers #then install continues", async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user