Files
Adam Perry @ OpenAI 1fe89de576 Run core integration tests against a Wine-backed Windows executor (#28401)
## Why

We want to exercise a linux app-server against a windows exec-server
without having to repeat every test case. This approach has slight
precedent in the remote docker test setup.

## What

Run the shared `codex-core` integration suite against Windows
exec-server behavior from Linux. This makes cross-OS path and shell
regressions visible while keeping unsupported cases owned by individual
tests.

- Add `local`, `docker`, and `wine-exec` test environment selection with
legacy Docker compatibility.
- Extend `codex_rust_crate` to generate a sharded Wine-exec variant
using a cross-built Windows server and pinned Bazel Wine/PowerShell
runtimes.
- Teach remote-aware helpers about Windows paths and track temporary
incompatibilities with source-local `skip_if_wine_exec!` calls and
follow-up reasons.
2026-06-16 00:38:41 +00:00

48 lines
1.4 KiB
Python

load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library")
rust_library(
name = "wine-exec-server-test-support",
testonly = True,
srcs = ["wine_exec_server.rs"],
crate_name = "wine_exec_server_test_support",
crate_root = "wine_exec_server.rs",
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//codex-rs/core/tests/remote_env_windows:__pkg__"],
deps = [
"//bazel/rules/testing/wine:wine_test_support",
"//codex-rs/utils/cargo-bin",
"@crates//:anyhow",
"@crates//:tokio",
],
)
rust_binary(
name = "wine-exec-test-runner",
testonly = True,
srcs = ["wine_remote_test_runner.rs"],
crate_name = "wine_exec_test_runner",
crate_root = "wine_remote_test_runner.rs",
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
deps = [
":wine-exec-server-test-support",
"@crates//:anyhow",
"@crates//:tokio",
],
)
rust_binary(
name = "windows-exec-server",
testonly = True,
srcs = ["windows_exec_server.rs"],
crate_name = "windows_exec_server",
crate_root = "windows_exec_server.rs",
tags = ["manual"],
target_compatible_with = ["@platforms//os:windows"],
visibility = ["//visibility:public"],
deps = [
"//codex-rs/exec-server",
"@crates//:tokio",
],
)