[codex] Add /usr/bin/bash shell fallback (#26538)

## Why

Some Linux environments expose `bash` at `/usr/bin/bash` instead of
`/bin/bash`. The shell detection fallback list should cover both
standard locations once PATH/user-shell probing fails.

Stacked on #26480.

## What changed

- Add `/usr/bin/bash` to the bash fallback path list in
`codex-shell-command`.
- Extend shell type detection coverage for `/usr/bin/bash`.
- Add AGENTS.md testing guidance to avoid tests for statically defined
values and negative tests for removed logic.

## Verification

- `just test -p codex-shell-command`
This commit is contained in:
pakrym-oai
2026-06-05 09:38:26 -07:00
committed by GitHub
Unverified
parent d40454522e
commit 9ddb1de633
2 changed files with 7 additions and 1 deletions
+5 -1
View File
@@ -174,7 +174,7 @@ fn get_zsh_shell(path: Option<&PathBuf>) -> Option<DetectedShell> {
})
}
const BASH_FALLBACK_PATHS: &[&str] = &["/bin/bash"];
const BASH_FALLBACK_PATHS: &[&str] = &["/bin/bash", "/usr/bin/bash"];
fn get_bash_shell(path: Option<&PathBuf>) -> Option<DetectedShell> {
let shell_path = get_shell_path(ShellType::Bash, path, "bash", BASH_FALLBACK_PATHS);
@@ -327,6 +327,10 @@ mod tests {
detect_shell_type(PathBuf::from("/bin/bash")),
Some(ShellType::Bash)
);
assert_eq!(
detect_shell_type(PathBuf::from("/usr/bin/bash")),
Some(ShellType::Bash)
);
assert_eq!(
detect_shell_type(PathBuf::from("powershell.exe")),
Some(ShellType::PowerShell)