diff options
| author | Alex Flint <[email protected]> | 2023-02-08 06:56:56 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-02-08 06:56:56 -0800 |
| commit | e25b4707a7d6c63ff6910c1e1bcb416cb8debfb2 (patch) | |
| tree | 1077d83c624e955733ce4e695465f084f0be9539 /usage_test.go | |
| parent | 5dbdd5d0c585feef8723223464a9362d635324f6 (diff) | |
| parent | df28e7154bbab76436bc59e5dc67fb6d6824fc62 (diff) | |
Merge pull request #211 from alexflint/clean-up-osexit-stderr-stdout
clean up customizable stdout, stderr, and exit in parser config
Diffstat (limited to 'usage_test.go')
| -rw-r--r-- | usage_test.go | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/usage_test.go b/usage_test.go index be5894a..69feac2 100644 --- a/usage_test.go +++ b/usage_test.go @@ -572,18 +572,9 @@ Options: } func TestFail(t *testing.T) { - originalStderr := stderr - originalExit := osExit - defer func() { - stderr = originalStderr - osExit = originalExit - }() - - var b bytes.Buffer - stderr = &b - + var stdout bytes.Buffer var exitCode int - osExit = func(code int) { exitCode = code } + exit := func(code int) { exitCode = code } expectedStdout := ` Usage: example [--foo FOO] @@ -593,27 +584,18 @@ error: something went wrong var args struct { Foo int } - p, err := NewParser(Config{Program: "example"}, &args) + p, err := NewParser(Config{Program: "example", Exit: exit, Out: &stdout}, &args) require.NoError(t, err) p.Fail("something went wrong") - assert.Equal(t, expectedStdout[1:], b.String()) + assert.Equal(t, expectedStdout[1:], stdout.String()) assert.Equal(t, -1, exitCode) } func TestFailSubcommand(t *testing.T) { - originalStderr := stderr - originalExit := osExit - defer func() { - stderr = originalStderr - osExit = originalExit - }() - - var b bytes.Buffer - stderr = &b - + var stdout bytes.Buffer var exitCode int - osExit = func(code int) { exitCode = code } + exit := func(code int) { exitCode = code } expectedStdout := ` Usage: example sub @@ -623,13 +605,13 @@ error: something went wrong var args struct { Sub *struct{} `arg:"subcommand"` } - p, err := NewParser(Config{Program: "example"}, &args) + p, err := NewParser(Config{Program: "example", Exit: exit, Out: &stdout}, &args) require.NoError(t, err) err = p.FailSubcommand("something went wrong", "sub") require.NoError(t, err) - assert.Equal(t, expectedStdout[1:], b.String()) + assert.Equal(t, expectedStdout[1:], stdout.String()) assert.Equal(t, -1, exitCode) } |
