From b6c75c5fb114fd951a7e3d9aa569b9bcd06d6bc3 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Mon, 8 May 2023 10:47:45 -0400 Subject: [PATCH] test,internal/testdir: don't set GOOS/GOARCH The test directory driver currently sets the GOOS/GOARCH environment variables if they aren't set. This appears to be in service of a single test, test/env.go, which was introduced in September 2008 along with os.Getenv. It's not entirely clear what that test is even trying to check, since runtime.GOOS isn't necessarily the same as $GOOS. We keep the test around because golang.org/x/tools/go/ssa/interp uses it as a test case, but we simplify the test and eliminate the need for the driver to set GOOS/GOARCH. Change-Id: I5acc0093b557c95d1f0a526d031210256a68222d Reviewed-on: https://go-review.googlesource.com/c/go/+/493601 Reviewed-by: Dmitri Shuralyov TryBot-Result: Gopher Robot Run-TryBot: Austin Clements Reviewed-by: Bryan Mills --- src/internal/testdir/testdir_test.go | 8 -------- test/env.go | 13 ++++++++----- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/internal/testdir/testdir_test.go b/src/internal/testdir/testdir_test.go index 864b072384..8ad2353e9f 100644 --- a/src/internal/testdir/testdir_test.go +++ b/src/internal/testdir/testdir_test.go @@ -571,14 +571,6 @@ func (t test) run() error { t.Fatal(err) } - // A few tests (of things like the environment) require these to be set. - if os.Getenv("GOOS") == "" { - os.Setenv("GOOS", runtime.GOOS) - } - if os.Getenv("GOARCH") == "" { - os.Setenv("GOARCH", runtime.GOARCH) - } - var ( runInDir = tempDir tempDirIsGOPATH = false diff --git a/test/env.go b/test/env.go index 972374679a..1590f1e06b 100644 --- a/test/env.go +++ b/test/env.go @@ -4,8 +4,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Test that the Go environment variables are present and accessible through -// package os and package runtime. +// Test that environment variables are accessible through +// package os. package main @@ -15,9 +15,12 @@ import ( ) func main() { - ga := os.Getenv("GOARCH") - if ga != runtime.GOARCH { - print("$GOARCH=", ga, "!= runtime.GOARCH=", runtime.GOARCH, "\n") + ga := os.Getenv("PATH") + if runtime.GOOS == "plan9" { + ga = os.Getenv("path") + } + if ga == "" { + print("PATH is empty\n") os.Exit(1) } xxx := os.Getenv("DOES_NOT_EXIST")