From c1af19f3cce7bba542cc8fd5ce19b39132710260 Mon Sep 17 00:00:00 2001 From: wan9chi Date: Thu, 23 Jul 2026 20:47:45 +0800 Subject: [PATCH] test(e2e): allow external step programs Co-authored-by: GPT-5 Codex --- .../vite_task_bin/tests/e2e_snapshots/main.rs | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/crates/vite_task_bin/tests/e2e_snapshots/main.rs b/crates/vite_task_bin/tests/e2e_snapshots/main.rs index 2546bffc..14ef9922 100644 --- a/crates/vite_task_bin/tests/e2e_snapshots/main.rs +++ b/crates/vite_task_bin/tests/e2e_snapshots/main.rs @@ -425,16 +425,19 @@ fn run_case( let argv = step.argv(); - // Only vt and vtt are allowed as step programs. let program = argv[0].as_str(); - assert!( - program == "vt" || program == "vtt", - "step program must be 'vt' or 'vtt', got '{program}'" - ); - let exe_env = vite_str::format!("CARGO_BIN_EXE_{program}"); - let resolved = - env::var_os(exe_env.as_str()).unwrap_or_else(|| panic!("{exe_env} not set")); - let mut cmd = CommandBuilder::new(resolved); + // Resolve the locally built task binaries exactly. Other programs + // are resolved through the prepared PATH, allowing ignored tests + // to opt into external toolchains without weakening the default + // suite's self-contained execution. + let mut cmd = if matches!(program, "vt" | "vtt") { + let exe_env = vite_str::format!("CARGO_BIN_EXE_{program}"); + let resolved = + env::var_os(exe_env.as_str()).unwrap_or_else(|| panic!("{exe_env} not set")); + CommandBuilder::new(resolved) + } else { + CommandBuilder::new(program) + }; for arg in &argv[1..] { cmd.arg(arg.as_str()); }