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.

Reply via email to