Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cmd/go: improve handling of os.DevNull on Windows
The "go test" and "go build" commands have special-case behavior when passed "-o /dev/null". These checks are case-sensitive and assume that os.DevNull is an absolute path. Windows filesystems are case-insensitive and os.DevNull is NUL, which is not an absolute path. CL 145220 changed filepath.IsAbs to report "NUL" as absolute to work around this issue; that change is being rolled back and a better fix here is to compare the value of -o against os.DevNull before attempting to merge it with a base path. Make that fix. On Windows, accept any capitilization of "NUL" as the null device. This change doesn't cover every possible name for the null device, such as "-o //./NUL", but this test is for efficiency rather than correctness. Accepting just the most common name is fine. For #56217. Change-Id: I60b59b671789fc456074d3c8bc755a74ea8d5765 Reviewed-on: https://go-review.googlesource.com/c/go/+/449117 TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Damien Neil <[email protected]> Reviewed-by: Bryan Mills <[email protected]>
- Loading branch information