# https://go.dev/issue/51473: to avoid the need for tests to rely on
# runtime.GOROOT, 'go test' should run the test with its own GOROOT/bin
# at the beginning of $PATH.

[short] skip

[!plan9] env PATH=
[plan9] env path=
go test .

[!plan9] env PATH=$WORK${/}bin
[plan9] env path=$WORK${/}bin
go test .

-- go.mod --
module example

go 1.19
-- example_test.go --
package example

import (
	"os"
	"os/exec"
	"path/filepath"
	"testing"
)

func TestGoCommandExists(t *testing.T) {
	got, err := exec.LookPath("go")
	if err != nil {
		t.Fatal(err)
	}

	want := filepath.Join(os.Getenv("GOROOT"), "bin", "go" + os.Getenv("GOEXE"))
	if got != want {
		t.Fatalf(`exec.LookPath("go") = %q; want %q`, got, want)
	}
}
-- $WORK/bin/README.txt --
This directory contains no executables.
