Source file
src/cmd/go/chdir_test.go
1
2
3
4
5 package main
6
7 import (
8 "cmd/go/internal/base"
9 "os"
10 "strings"
11 "testing"
12 )
13
14 func TestChdir(t *testing.T) {
15
16
17
18
19 script, err := os.ReadFile("testdata/script/chdir.txt")
20 if err != nil {
21 t.Fatal(err)
22 }
23
24 var walk func(string, *base.Command)
25 walk = func(name string, cmd *base.Command) {
26 if len(cmd.Commands) > 0 {
27 for _, sub := range cmd.Commands {
28 walk(name+" "+sub.Name(), sub)
29 }
30 return
31 }
32 if !cmd.Runnable() {
33 return
34 }
35 if cmd.CustomFlags {
36 if !strings.Contains(string(script), "# "+name+"\n") {
37 t.Errorf("%s has custom flags, not tested in testdata/script/chdir.txt", name)
38 }
39 return
40 }
41 f := cmd.Flag.Lookup("C")
42 if f == nil {
43 t.Errorf("%s has no -C flag", name)
44 } else if f.Usage != "AddChdirFlag" {
45 t.Errorf("%s has -C flag but not from AddChdirFlag", name)
46 }
47 }
48 walk("go", base.Go)
49 }
50
View as plain text