Repository navigation
mutate: a run's TMPDIR is made under the caller's, not inside the tree - #75
Merged
Merged
Conversation
Each run's TMPDIR was <work>/trees/<n>/tmp. A test's t.TempDir() adds its name and two levels more, so a test with a long name that binds a unix socket there went past the 108 bytes a socket path may have: it failed with nothing broken, and the lines only it reached came out SURVIVED. Eight tests in spin hit this, among them cmd/supervisor's keep tests on the fleet gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Each run's
TMPDIRwas<work>/trees/<n>/tmp, for example/tmp/mutate-3939977273/trees/5/tmp. A test'st.TempDir()then adds its name and/001, so in a test with a long name a unix socket went past the 108 bytes the path may have (bind: invalid argument). The test failed with nothing broken and was asked about no edit, so the lines only it reached came outSURVIVED.In spin this hit eight tests: cmd/supervisor's keep, token and signing tests, and cmd/cli's ssh-mux tests. Touching
runput the keep dispatch in the fleet gate, which blocked spin-stack/spin#747 there.Now each run gets
os.MkdirTemp("", "m"): still empty, still its own, still removed after. The new test binds a socket from a long-named test's directory under a deep tree, and it fails on the old code. The site's mutate page says why the directory is where it is.Checked with
task testandtask lint.🤖 Generated with Claude Code