package flag_test
import (
- "bytes"
. "flag"
"fmt"
"internal/testenv"
func TestSetOutput(t *testing.T) {
var flags FlagSet
- var buf bytes.Buffer
+ var buf strings.Builder
flags.SetOutput(&buf)
flags.Init("test", ContinueOnError)
flags.Parse([]string{"-unknown"})
func TestPrintDefaults(t *testing.T) {
fs := NewFlagSet("print defaults test", ContinueOnError)
- var buf bytes.Buffer
+ var buf strings.Builder
fs.SetOutput(&buf)
fs.Bool("A", false, "for bootstrapping, allow 'any' type")
fs.Bool("Alongflagname", false, "disable bounds checking")
// Issue 20998: Usage should respect CommandLine.output.
func TestUsageOutput(t *testing.T) {
ResetForTesting(DefaultUsage)
- var buf bytes.Buffer
+ var buf strings.Builder
CommandLine.SetOutput(&buf)
defer func(old []string) { os.Args = old }(os.Args)
os.Args = []string{"app", "-i=1", "-unknown"}
testName := fmt.Sprintf("FlagSet.Var(&v, %q, \"\")", test.flag)
fs := NewFlagSet("", ContinueOnError)
- buf := bytes.NewBuffer(nil)
+ buf := &strings.Builder{}
fs.SetOutput(buf)
mustPanic(t, testName, test.errorMsg, func() {
testName := fmt.Sprintf("flag redefined in FlagSet(%q)", test.flagSetName)
fs := NewFlagSet(test.flagSetName, ContinueOnError)
- buf := bytes.NewBuffer(nil)
+ buf := &strings.Builder{}
fs.SetOutput(buf)
var v flagVar