compiler_wrapper: fix flaky tests

We're running many tests in parallel that have dependencies on the
`umask` global. We shouldn't be running these in parallel with each
other, since they may read values for this that're set by other

Since these are difficult to spot, this CL does two things:
- Requiring that all tests mark themselves as either readers of or
writers to umask. Any test that does this gets run in serial with other
tests that do it.
- Requires code that modifies/reads the umask to go through `env.umask`,
rather than `syscall.Umask`. This allows us to cheaply and accurately
verify that a test's dependency on the process' umask was stated.

TEST=`go test -count=100` passed

Change-Id: Ifa871cfa48c005646499b21c1bfa1a4799ca641b
Reviewed-by: Ryan Beltran <>
Tested-by: George Burgess <>
12 files changed