> Personally, I would approach this kind of thing by writing a test that sets the umask to various different values and invokes subtests with each umask value.
I would love to do this but umask is a process global (as far as I understand it) and so can't be set within subtests. On Saturday, September 14, 2024 at 12:33:19 AM UTC+2 Ian Lance Taylor wrote: > On Fri, Sep 13, 2024 at 3:03 PM twp...@gmail.com <twp...@gmail.com> wrote: > > > > tl;dr: 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 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. > > > > 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. > > > > > > Next steps: > > > > * Is this something that the Go project would consider? > > * If so, I would be happy to submit a CL. > > Personally, I would approach this kind of thing by writing a test that > sets the umask to various different values and invokes subtests with > each umask value. That way the test is independent of the external > environment. > > In general our approach has been that if your test intrinsically > depends on the external environment, then you should run it with > -test.run=1 to disable the test cache. > > Ian > -- 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/5c112417-db5a-46a4-b4ef-0146af38dfc2n%40googlegroups.com.