tl;dr: umask <https://en.wikipedia.org/wiki/Umask> is a system-wide global that affects go tests and should be considered when validating go test's cache.
Motivation: I'm the author of a popular open source <https://github.com/twpayne/chezmoi> project that writes files to the user's home directory and cares about getting exact file permissions correct. The file permissions depend on the the current umask setting. As umask is a process global variable, it cannot be set for individual tests, and so separate tests are needed for different umasks <https://github.com/twpayne/chezmoi/blob/48ae2b50cbd70572c8f73554f1ddf968b9a97434/Makefile#L94-L95> . Currently changing the umask does not invalidate go test's cache, so I get incorrect test results if I change the umask and re-run go test. Suggested solution: Include umask as an op in go test's id calculation <https://github.com/golang/go/blob/f117d1c9b5951ab2456c1e512ac0423fcf3d7ada/src/cmd/go/internal/test/test.go#L1878-L1914> . Next steps: * Is this something that the Go project would consider? * If so, I would be happy to submit a CL. Thanks, Tom -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/80655581-661e-46a5-baaa-9a1ba7a8b319n%40googlegroups.com.