1// Copyright 2010 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package flag
6
7import (
8	"io"
9	"os"
10)
11
12// Additional routines compiled into the package only during testing.
13
14var DefaultUsage = Usage
15
16// ResetForTesting clears all flag state and sets the usage function as directed.
17// After calling ResetForTesting, parse errors in flag handling will not
18// exit the program.
19func ResetForTesting(usage func()) {
20	CommandLine = NewFlagSet(os.Args[0], ContinueOnError)
21	CommandLine.SetOutput(io.Discard)
22	CommandLine.Usage = commandLineUsage
23	Usage = usage
24}
25