From 467b616c1222a593638d5615294bdc9e1c0f5552 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 12 Nov 2026 06:39:54 +0000 Subject: [PATCH] Expect /-separated scan headings on Windows scan_hosted_paths_run_once_per_project_directory (added in #2052) built its expected `== apps\a ==` heading with Path::join, but `scan` names each project directory through shown_project_dir, which prints `/` separators on every OS. The test fails deterministically on windows-latest, so the nightly CI run on main went red on 2026-11-12. Assert the `/` form the CLI actually prints. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_011f9aePpg46bxXWCYNj6tAX --- crates/socket-patch-cli/tests/scan/scan_render.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/socket-patch-cli/tests/scan/scan_render.rs b/crates/socket-patch-cli/tests/scan/scan_render.rs index 218aa49f8..e3e455cca 100644 --- a/crates/socket-patch-cli/tests/scan/scan_render.rs +++ b/crates/socket-patch-cli/tests/scan/scan_render.rs @@ -13,8 +13,6 @@ //! and the retained-wiring warning; //! 6. hosted mode's table, per-directory runs and corrupt `bun.lockb`. -use std::path::Path; - use wiremock::MockServer; use crate::scan_fixture::*; @@ -1518,9 +1516,11 @@ async fn scan_hosted_paths_run_once_per_project_directory() { let (code, stdout, stderr) = run_scan_api(tmp.path(), &mock.uri(), &["apps/*"]); assert_eq!(code, 0, "stdout={stdout}; stderr={stderr}"); - // glob rebuilds matches with the native separator (`apps\a` on Windows). + // Headings name the directory relative to --cwd with `/` separators on + // every OS (`shown_project_dir`), even though glob matches `apps\a` on + // Windows. for app in ["a", "b"] { - let header = format!("== {} ==", Path::new("apps").join(app).display()); + let header = format!("== apps/{app} =="); assert!(stdout.contains(&header), "missing {header:?}: {stdout}"); } assert_eq!(