1) Fail if we can't read critical env vars
2) Don't rely on KUBE_ROOT env var when `go list` works
3) Don't rely on GOOS env var when `go env` works
4) Don't quietly ignore "can't read" errors
Once we stop ignoring errors, some tests fail for real (and should
always have failed).
The "Imported k8s.io/staging constant" test seems to not be allowed at
all anymore. Han said to nix it and he'd look async.
Oversall this test is dodgy. You REALLY can't glue strings together and
expect valid Go module paths. We should consider a deeper rework.
Also add entrypoints for verifying and updating a test file for easier
debugging. This is considerably faster than running the stablity checks
against the entire Kubernetes codebase.
Change-Id: I5d5e5b3abf396ebf1317a44130f20771a09afb7f