Repository navigation
fix(ace): system-folder filter matches whole path components; macOS tests use a non-system scratch root - #973
Merged
Conversation
…ests use a non-system scratch root The scheduled macOS leg has failed since #961: its folder-check tests build their fixtures under tempfile's default dir, which on macOS is /var/folders, and the filter refuses /var by design. The filter also matched by string prefix, so a user folder like /variants or /usr-projects was refused, and macOS's canonical /private/etc and /private/var forms slipped past the post-canonicalize re-check. - is_system_directory (unix): component-wise Path::starts_with over the system roots, plus /private/etc and /private/var. - auto_discover tests: scratch_root() puts fixtures under the crate dir on macOS only. - New unix test pins component matching and the /private forms. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018hjX3pEMmC7CHfG41PiPj7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The scheduled Validate run on main (38880007740, 10-16) failed on Rust (macos, nightly): two tests added in #961,
confirmed_dirs_drop_missing_duplicates_and_drive_rootsanda_typed_folder_is_checked_before_it_is_added, build their fixtures under tempfile's default dir. On macOS that is/var/folders/..., and the scan filter refuses/varby design, so the folder came back assystem_folder.Looking at the filter turned up two production defects on unix:
/variants/appor/usr-projectswere refused./etcand/varto/private/etcand/private/var, so the check thatfolder_problemrepeats aftercanonicalizelet those system folders through.What
is_system_directory(unix only) now matches whole path components withPath::starts_withagainst the system roots, and adds/private/etcand/private/var. The Windows branch is unchanged.scratch_root(), which puts fixtures under the crate dir on macOS only./privateforms.Verification
workflow_dispatchValidate run on this branch to exercise the macOS leg, which PR CI doesn't run.Not in this PR: the same 10-16 run's Rust (default) failure and the nightly supply-chain audit (#971) both came from
zip4.6.1 and 8.6.0 being yanked on crates.io at the time. Both versions are unyanked again (checked on the sparse index), and I re-dispatched the nightly audit.🤖 Generated with Claude Code
https://claude.ai/code/session_018hjX3pEMmC7CHfG41PiPj7