| Server IP : 157.230.181.24 / Your IP : 216.73.217.11 Web Server : Apache/2.4.58 (Ubuntu) System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64 User : ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/go/src/cmd/go/ |
Upload File : |
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import (
"cmd/go/internal/base"
"os"
"strings"
"testing"
)
func TestChdir(t *testing.T) {
// We want -C to apply to every go subcommand.
// Test that every command either has a -C flag registered
// or has CustomFlags set. In the latter case, the command
// must be explicitly tested in TestScript/chdir.
script, err := os.ReadFile("testdata/script/chdir.txt")
if err != nil {
t.Fatal(err)
}
var walk func(string, *base.Command)
walk = func(name string, cmd *base.Command) {
if len(cmd.Commands) > 0 {
for _, sub := range cmd.Commands {
walk(name+" "+sub.Name(), sub)
}
return
}
if !cmd.Runnable() {
return
}
if cmd.CustomFlags {
if !strings.Contains(string(script), "# "+name+"\n") {
t.Errorf("%s has custom flags, not tested in testdata/script/chdir.txt", name)
}
return
}
f := cmd.Flag.Lookup("C")
if f == nil {
t.Errorf("%s has no -C flag", name)
} else if f.Usage != "AddChdirFlag" {
t.Errorf("%s has -C flag but not from AddChdirFlag", name)
}
}
walk("go", base.Go)
}