From 7b96f516e086a9cf90ce2ec092aff7ba0bbc7a06 Mon Sep 17 00:00:00 2001 From: brennop Date: Thu, 1 Oct 2026 15:10:02 -0300 Subject: [PATCH] Look for iw4l.exe as the default approved-test binary on Windows The runner's default --bin is target/play/iw4l, and its pre-flight check calls is_file() on that path. On Windows the build writes iw4l.exe, so `make approved` stopped with "target/play/iw4l is not built" right after building it. stage_binary already falls back to .exe, but the check runs first. Append EXE_SUFFIX to the default; it is empty on unix. The pre-flight now names target/play/iw4l.exe. A full run with `ARGS='--bin target/play/iw4l.exe'`, the path the default now gives, passed 47/47 assertions on Windows. --- crates/approved_tests/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/approved_tests/src/main.rs b/crates/approved_tests/src/main.rs index b8162d6..e72786d 100644 --- a/crates/approved_tests/src/main.rs +++ b/crates/approved_tests/src/main.rs @@ -76,7 +76,7 @@ fn parse_args(root: &Path) -> Result { seed: None, replay: None, cache: CacheMode::Cold, - bin: root.join("target/play/iw4l"), + bin: root.join(format!("target/play/iw4l{}", std::env::consts::EXE_SUFFIX)), }; while let Some(flag) = it.next() { let mut value = || it.next().ok_or(format!("{flag} needs a value"));