|
@@ -9,6 +9,7 @@ import (
|
|
|
"os"
|
|
|
"path/filepath"
|
|
|
"regexp"
|
|
|
+ "runtime"
|
|
|
"testing"
|
|
|
|
|
|
"github.com/rogpeppe/go-internal/testscript"
|
|
@@ -32,12 +33,22 @@ func TestScripts(t *testing.T) {
|
|
|
if err := os.Mkdir(bindir, 0777); err != nil {
|
|
|
return err
|
|
|
}
|
|
|
+ binfile := filepath.Join(bindir, "garble")
|
|
|
+ if runtime.GOOS == "windows" {
|
|
|
+ binfile += ".exe"
|
|
|
+ }
|
|
|
if err := os.Symlink(os.Args[0], filepath.Join(bindir, "garble")); err != nil {
|
|
|
return err
|
|
|
}
|
|
|
env.Vars = append(env.Vars, fmt.Sprintf("PATH=%s%c%s", bindir, filepath.ListSeparator, os.Getenv("PATH")))
|
|
|
env.Vars = append(env.Vars, "TESTSCRIPT_COMMAND=garble")
|
|
|
|
|
|
+ // GitHub Actions doesn't define %LocalAppData% on
|
|
|
+ // Windows, which breaks $GOCACHE. Set it ourselves.
|
|
|
+ if runtime.GOOS == "windows" {
|
|
|
+ env.Vars = append(env.Vars, fmt.Sprintf(`LOCALAPPDATA=%s\appdata`, env.WorkDir))
|
|
|
+ }
|
|
|
+
|
|
|
for _, name := range [...]string{
|
|
|
"HOME",
|
|
|
"USERPROFILE", // $HOME for windows
|