aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/reboot/reboot_test.go22
1 files changed, 20 insertions, 2 deletions
diff --git a/misc/reboot/reboot_test.go b/misc/reboot/reboot_test.go
index c4a9f3ef9f..94d61e000e 100644
--- a/misc/reboot/reboot_test.go
+++ b/misc/reboot/reboot_test.go
@@ -7,10 +7,13 @@
package reboot_test
import (
+ "fmt"
+ "io"
"os"
"os/exec"
"path/filepath"
"runtime"
+ "strings"
"testing"
"time"
)
@@ -67,12 +70,27 @@ func TestRepeatBootstrap(t *testing.T) {
makeScript = "make.bash"
}
+ var stdout strings.Builder
cmd := exec.Command(filepath.Join(goroot, "src", makeScript))
cmd.Dir = gorootSrc
- cmd.Env = append(cmd.Environ(), "GOROOT=", "GOROOT_BOOTSTRAP="+realGoroot)
+ cmd.Env = append(cmd.Environ(), "GOROOT=", "GOROOT_FINAL=", "GOROOT_BOOTSTRAP="+realGoroot)
cmd.Stderr = os.Stderr
- cmd.Stdout = os.Stdout
+ cmd.Stdout = io.MultiWriter(os.Stdout, &stdout)
if err := cmd.Run(); err != nil {
t.Fatal(err)
}
+
+ // Test that go.dev/issue/42563 hasn't regressed.
+ t.Run("PATH reminder", func(t *testing.T) {
+ var want string
+ switch gorootBin := filepath.Join(goroot, "bin"); runtime.GOOS {
+ default:
+ want = fmt.Sprintf("*** You need to add %s to your PATH.", gorootBin)
+ case "plan9":
+ want = fmt.Sprintf("*** You need to bind %s before /bin.", gorootBin)
+ }
+ if got := stdout.String(); !strings.Contains(got, want) {
+ t.Errorf("reminder %q is missing from %s stdout:\n%s", want, makeScript, got)
+ }
+ })
}