remote-tests
Testing against remote executors in integration tests.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Testing against remote executors in integration tests.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Perform a read-only, defect-first review of a specified code change and return every actionable finding. Use when another agent delegates review of uncommitted changes, a base-branch diff, a commit, or custom review instructions.
Use when the user asks how to build with OpenAI products or APIs, asks about Codex itself or choosing Codex surfaces, needs up-to-date official documentation with citations, help choosing the latest model for a use case, latest/current/default-model prompting guidance, or model upgrade and prompt-upgrade guidance; use OpenAI docs MCP tools for non-Codex docs questions, use the Codex manual helper first for broad Codex self-knowledge, and restrict fallback browsing to official OpenAI domains.
Run a final code review on a pull request
Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).
Create and scaffold plugin directories for Codex with a required `.codex-plugin/plugin.json`, optional plugin folders/files, valid manifest defaults, and personal-marketplace entries by default. Use when Codex needs to create a new personal plugin, add optional plugin structure, generate or update marketplace entries for plugin ordering and availability metadata, or update an existing local plugin during development with the CLI-driven cachebuster and reinstall flow.
Choose Rust types for operating system paths across the Codex repository. Use when defining new path-bearing types or explicitly migrating existing ones.
| name | remote-tests |
| description | Testing against remote executors in integration tests. |
Remote executor tests exercise the app-server/exec-server split to ensure that agent features work in both local and remote execution environments.
Remote executor tests currently require an x86_64 Linux host machine. There are two flavors:
Individual test cases must opt-in to being run against a remote executor.
Use TestCodexBuilder::build_with_auto_env() to opt-in to remote execution in core integration
tests unless the test needs more precise control over its executor.
Start the server with TestAppServer::new_with_auto_env() unless the test defines its own
$CODEX_HOME/environments.toml or will define custom environments at runtime.
Start threads with TestAppServer::send_thread_start_request_with_auto_env() if you've created the
server with the auto_env approach. Omit ThreadStartParams.environments (leave it as None) when
doing so.
If a test doesn't pass in a particular remote executor configuration you can skip it in just that configuration. Include a string reason for future readers when the selected skip macro supports one.
Choose the skip macro by what causes the test to fail:
skip_if_target_windows!: Windows target behavior.skip_if_wine_exec!: Wine-exec runner constraints.skip_if_host_windows!: Windows host constraints.skip_if_remote!: Local-only test behavior.skip_if_no_remote_env!: Remote-only test behavior.Prefer defining tests that run in all host/target configurations by default. See the $path-types
skill for the most common changes required to make tests compatible.
Docker container is built and initialized via ./scripts/test-remote-env.sh. Sourcing this script
in bash also provides the codex_remote_env_cleanup function to use after testing.
To run core integration tests against a Docker remote executor:
bash -c '
set -euo pipefail
unset CODEX_TEST_REMOTE_EXEC_SERVER_URL
source scripts/test-remote-env.sh
trap codex_remote_env_cleanup EXIT
cd codex-rs
just test -p codex-core --test all
'
To run app-server integration tests against a Docker remote executor:
bash -c '
set -euo pipefail
unset CODEX_TEST_REMOTE_EXEC_SERVER_URL
source scripts/test-remote-env.sh
trap codex_remote_env_cleanup EXIT
cd codex-rs
just test -p codex-app-server --test all
'
These tests build an exec-server for Windows and run it under Wine, with the app-server staying on the Linux host. The cross-platform build dependency means they only run in Bazel.
For core integration tests:
bazel test //codex-rs/core:core-all-wine-exec-test
For app-server integration tests:
bazel test //codex-rs/app-server:app-server-all-wine-exec-test
You can use a devbox to run these tests if you are running on a macOS machine.
You can list devboxes via applied_devbox ls, pick the one with codex in the name.
Connect to devbox via ssh <devbox_name>.
Reuse the same checkout of codex in ~/code/codex. Reset files if needed. Multiple checkouts take longer to build and take up more space.
Check whether the SHA and modified files are in sync between remote and local.