Files
codex/bazel/rules/testing/wine/BUILD.bazel
T
Dmitriy Kovalenko 021fccb046 Stabilize cross-platform tests and directory-change fork permissions (#59369)
## Why

Tests need to distinguish slow subprocess startup from operation timeouts and wait for asynchronous work before asserting results or cleaning up fixtures.

## What changed

- Synchronize subprocess readiness, queued-turn completion, and matching UI events; allow more time for cold startup and separate startup from shutdown deadlines.
- Adapt Windows fixtures and permission expectations, provide the voice-host test runtime DLL path, and normalize platform paths and animated status snapshots.
- Use current configuration permissions when changing directories in embedded TUI sessions, while retaining saved permissions for remote sessions.
- Allow the release prompt-prefix comparison to accept the exact image-tool description update that removes image detail options, and refresh the corresponding tool snapshot.

## Testing

Extend inherited-session metadata coverage to both legacy and paginated thread history, including persisted history mode and revision-aware resume.

GitOrigin-RevId: 0afb38403fc0adb0d83175344749584f0cdf9979
2026-11-04 09:51:28 +00:00

55 lines
1.3 KiB
Python

load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library")
load(":wine.bzl", "wine_rust_test")
package(default_visibility = ["//visibility:public"])
exports_files([
"wine.bzl",
"wine_runtime.bzl",
])
rust_library(
name = "wine_test_support",
testonly = True,
srcs = [
"src/lib.rs",
"src/lib_tests.rs",
],
crate_name = "wine_test_support",
crate_root = "src/lib.rs",
edition = "2024",
target_compatible_with = ["@platforms//os:linux"],
deps = [
"//codex-rs/utils/cargo-bin",
"//codex-rs/utils/pty",
"@crates//:anyhow",
"@crates//:tempfile",
"@crates//:tokio",
],
)
rust_binary(
name = "windows-smoke",
testonly = True,
srcs = ["fixtures/windows_smoke.rs"],
crate_name = "wine_smoke",
crate_root = "fixtures/windows_smoke.rs",
edition = "2024",
tags = ["manual"],
target_compatible_with = ["@platforms//os:windows"],
visibility = ["//visibility:private"],
)
wine_rust_test(
name = "wine-test-support-unit-tests",
timeout = "moderate",
crate = ":wine_test_support",
windows_binaries = {
"wine-smoke": ":windows-smoke",
},
deps = [
"@crates//:futures",
"@crates//:pretty_assertions",
],
)