Repository navigation
shellfs property test: generated symlinks never lead out of the test root - #597
Merged
Merged
Conversation
…root Since list follows a symlink given as the directory, a generated link to .. (or to root/..) made ShellFs and the std::fs oracle list the live, shared /tmp at different moments. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
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.
The flake
shellfs_props::small_response_capfailed in #596's CI listing/tmp/.tmpX/$(true), a generated symlink whose target was..and so led out of the test root into/tmp. Since the N1 fix,listfollows a symlink given as the directory, so ShellFs and the std::fs oracle both listed the live, shared/tmp, and the two reads differed while other tests created temp dirs. (The cause is in the generator, not the client: a test must not read a shared directory.)Fix
env_symlinknow creates a link only when its target, resolved lexically from the link's physical parent (absolute targets from/), stays inside the test root./dev/null(a file) and dangling targets inside the root are still generated. This covers..from a top-level link androot/..picked as a target.The differential generator on
jared/sandbox-differential(#590) has its own copy of this rule intests/differential/oracle.rsand needs the same change when it lands.Property tests 12/12 and clippy -D warnings pass.
🤖 Generated with Claude Code
https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64