test: skip sandbox-sensitive core tests on gha linux arm

This commit is contained in:
Yaroslav Volovich
2026-02-25 20:10:17 +00:00
parent d52f1a5d37
commit 5d91f2b2c2
6 changed files with 36 additions and 0 deletions

View File

@@ -483,3 +483,28 @@ macro_rules! skip_if_windows {
}
}};
}
pub fn is_github_actions_linux_aarch64() -> bool {
cfg!(all(target_os = "linux", target_arch = "aarch64"))
&& ::std::env::var("GITHUB_ACTIONS").is_ok()
}
#[macro_export]
macro_rules! skip_if_github_actions_linux_aarch64 {
() => {{
if $crate::is_github_actions_linux_aarch64() {
println!(
"Skipping test because the default Linux sandbox is unavailable on GitHub Actions linux-aarch64."
);
return;
}
}};
($return_value:expr $(,)?) => {{
if $crate::is_github_actions_linux_aarch64() {
println!(
"Skipping test because the default Linux sandbox is unavailable on GitHub Actions linux-aarch64."
);
return $return_value;
}
}};
}

View File

@@ -12,6 +12,7 @@ use core_test_support::responses::mount_sse_once;
use core_test_support::responses::mount_sse_sequence;
use core_test_support::responses::sse;
use core_test_support::responses::start_mock_server;
use core_test_support::skip_if_github_actions_linux_aarch64;
use core_test_support::test_codex::test_codex;
use core_test_support::wait_for_event;
use regex_lite::Regex;
@@ -70,6 +71,8 @@ async fn interrupt_long_running_tool_emits_turn_aborted() {
/// responses server, and ensures the model receives the synthesized abort.
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn interrupt_tool_records_history_entries() {
skip_if_github_actions_linux_aarch64!();
let command = "sleep 60";
let call_id = "call-history";

View File

@@ -31,6 +31,7 @@ use core_test_support::responses::ev_response_created;
use core_test_support::responses::mount_sse_once;
use core_test_support::responses::sse;
use core_test_support::responses::start_mock_server;
use core_test_support::skip_if_github_actions_linux_aarch64;
use core_test_support::skip_if_no_network;
use core_test_support::test_codex::TestCodex;
use core_test_support::test_codex::test_codex;
@@ -1573,6 +1574,7 @@ fn scenarios() -> Vec<ScenarioSpec> {
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn approval_matrix_covers_all_modes() -> Result<()> {
skip_if_github_actions_linux_aarch64!(Ok(()));
skip_if_no_network!(Ok(()));
for scenario in scenarios() {

View File

@@ -20,6 +20,7 @@ use core_test_support::responses::mount_sse_once;
use core_test_support::responses::mount_sse_sequence;
use core_test_support::responses::sse;
use core_test_support::responses::start_mock_server;
use core_test_support::skip_if_github_actions_linux_aarch64;
use core_test_support::skip_if_no_network;
use core_test_support::streaming_sse::StreamingSseChunk;
use core_test_support::streaming_sse::start_streaming_sse_server;
@@ -141,6 +142,7 @@ async fn read_file_tools_run_in_parallel() -> anyhow::Result<()> {
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn shell_tools_run_in_parallel() -> anyhow::Result<()> {
skip_if_github_actions_linux_aarch64!(Ok(()));
skip_if_no_network!(Ok(()));
let server = start_mock_server().await;

View File

@@ -21,6 +21,7 @@ use core_test_support::responses::mount_sse_once;
use core_test_support::responses::mount_sse_sequence;
use core_test_support::responses::sse;
use core_test_support::responses::start_mock_server;
use core_test_support::skip_if_github_actions_linux_aarch64;
use core_test_support::skip_if_no_network;
use core_test_support::test_codex::test_codex;
use regex_lite::Regex;
@@ -190,6 +191,7 @@ async fn shell_escalated_permissions_rejected_then_ok() -> Result<()> {
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn sandbox_denied_shell_returns_original_output() -> Result<()> {
skip_if_github_actions_linux_aarch64!(Ok(()));
skip_if_no_network!(Ok(()));
let server = start_mock_server().await;

View File

@@ -24,6 +24,7 @@ use core_test_support::responses::ev_response_created;
use core_test_support::responses::mount_sse_sequence;
use core_test_support::responses::sse;
use core_test_support::responses::start_mock_server;
use core_test_support::skip_if_github_actions_linux_aarch64;
use core_test_support::skip_if_no_network;
use core_test_support::skip_if_sandbox;
use core_test_support::skip_if_windows;
@@ -2493,6 +2494,7 @@ PY
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn unified_exec_runs_under_sandbox() -> Result<()> {
skip_if_github_actions_linux_aarch64!(Ok(()));
skip_if_no_network!(Ok(()));
skip_if_sandbox!(Ok(()));
skip_if_windows!(Ok(()));