197func (cmd Cmd) TryOutputJSON(dest interface{}, args ...string) error {
198 buf := new(bytes.Buffer)
199
200 cmd.Stdout = buf201
202 err := cmd.Try(args...)
203 if err != nil {
184func (cmd Cmd) TryOutput(args ...string) (string, error) {
185 buf := new(bytes.Buffer)
186
187 cmd.Stdout = buf188
189 err := cmd.Try(args...)
190 if err != nil {
100
101func (cmd Cmd) OutputJSON(t *testing.T, dest interface{}, args ...string) {
102 buf := new(bytes.Buffer)
103 cmd.Stdout = buf104 cmd.Run(t, args...)
105
106 err := json.Unmarshal(buf.Bytes(), dest)
93
94func (cmd Cmd) Output(t *testing.T, args ...string) string {
95 buf := new(bytes.Buffer)
96 cmd.Stdout = buf 97 cmd.Run(t, args...)
98 return buf.String()
99}
63}
64
65func (cmd Cmd) ExpectExit(code int) Cmd {
66 cmd.ExpectExitCode = code 67 return cmd
68}
69
A method that modifies its receiver value can have undesired behavior. The modification can also be the root of a bug because the actual value receiver could be a copy of that used at the calling site. This rule warns when a method modifies its receiver.
type data struct {
num int
key *string
items map[string]bool
}
func (d data) vmethod() {
d.num = 8
}
type data struct {
num int
key *string
items map[string]bool
}
func (d *data) vmethod() {
d.num = 8
}