1
2
3
4
5 package verylongtest
6
7 import (
8 "bytes"
9 "internal/testenv"
10 "os"
11 "os/exec"
12 "runtime"
13 "testing"
14 )
15
16
17
18 func TestExecInDeletedDir(t *testing.T) {
19 switch runtime.GOOS {
20 case "windows", "plan9",
21 "aix",
22 "solaris", "illumos":
23 t.Skipf("%v does not support removing the current working directory", runtime.GOOS)
24 }
25 gotool := testenv.GoToolPath(t)
26
27 tmpdir := t.TempDir()
28 t.Chdir(tmpdir)
29
30 if err := os.Remove(tmpdir); err != nil {
31 t.Fatal(err)
32 }
33
34
35 var stdout, stderr bytes.Buffer
36 cmd := exec.Command(gotool, "version")
37 cmd.Env = append(os.Environ(), "GO111MODULE=off")
38 cmd.Stdout = &stdout
39 cmd.Stderr = &stderr
40 if err := cmd.Run(); err != nil {
41 t.Fatalf("running go version: %v\n[stdout]: %s\n[stderr]: %s", err, stdout.Bytes(), stderr.Bytes())
42 }
43 }
44
View as plain text