mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
## What changed - Prefer the managed executable under `packages/standalone/current/bin` when it exists. - Fall back to the legacy `packages/standalone/current` executable layout. - Preserve platform-specific missing-install paths so launch validation and lifecycle commands continue to behave as expected. ## Testing - Add a path-selection test covering missing, legacy, and packaged installs. GitOrigin-RevId: 4c0d066257e9984a35e3b95dd83c768d9ce69431
22 lines
956 B
Rust
22 lines
956 B
Rust
use pretty_assertions::assert_eq;
|
|
|
|
#[test]
|
|
fn discovers_package_and_legacy_installs() {
|
|
let home = tempfile::TempDir::new().expect("home");
|
|
let current = home.path().join("packages/standalone/current");
|
|
let legacy = current.join(super::managed_codex_file_name());
|
|
let expected = if cfg!(windows) {
|
|
current.join("bin").join("codex.exe")
|
|
} else {
|
|
legacy.clone()
|
|
};
|
|
assert_eq!(super::managed_codex_bin(home.path()), expected);
|
|
std::fs::create_dir_all(¤t).expect("current directory");
|
|
std::fs::write(&legacy, b"legacy").expect("legacy executable");
|
|
assert_eq!(super::managed_codex_bin(home.path()), legacy);
|
|
let packaged = current.join("bin").join(super::managed_codex_file_name());
|
|
std::fs::create_dir(current.join("bin")).expect("bin directory");
|
|
std::fs::write(&packaged, b"packaged").expect("packaged executable");
|
|
assert_eq!(super::managed_codex_bin(home.path()), packaged);
|
|
}
|