fix quiet flag (#2081)

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
This commit is contained in:
Alex Goodman 2023-08-31 10:40:11 -04:00 committed by GitHub
parent 51d38f8e59
commit 36d794febe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 1 deletions

View File

@ -29,7 +29,7 @@ func New(id clio.Identification) clio.Application {
// select a UI based on the logging configuration and state of stdin (if stdin is a tty) // select a UI based on the logging configuration and state of stdin (if stdin is a tty)
func(cfg clio.Config) ([]clio.UI, error) { func(cfg clio.Config) ([]clio.UI, error) {
noUI := ui.None(cfg.Log.Quiet) noUI := ui.None(cfg.Log.Quiet)
if !cfg.Log.AllowUI(os.Stdin) { if !cfg.Log.AllowUI(os.Stdin) || cfg.Log.Quiet {
return []clio.UI{noUI}, nil return []clio.UI{noUI}, nil
} }

View File

@ -36,6 +36,24 @@ func TestPackagesCmdFlags(t *testing.T) {
assertSuccessfulReturnCode, assertSuccessfulReturnCode,
}, },
}, },
{
name: "quiet-flag-with-logger",
args: []string{"packages", "-qvv", "-o", "json", coverageImage},
assertions: []traitAssertion{
assertJsonReport,
assertNoStderr,
assertSuccessfulReturnCode,
},
},
{
name: "quiet-flag-with-tui",
args: []string{"packages", "-q", "-o", "json", coverageImage},
assertions: []traitAssertion{
assertJsonReport,
assertNoStderr,
assertSuccessfulReturnCode,
},
},
{ {
name: "multiple-output-flags", name: "multiple-output-flags",
args: []string{"packages", "-o", "table", "-o", "json=" + tmp + ".tmp/multiple-output-flag-test.json", coverageImage}, args: []string{"packages", "-o", "table", "-o", "json=" + tmp + ".tmp/multiple-output-flag-test.json", coverageImage},

View File

@ -83,6 +83,13 @@ func assertNotInOutput(data string) traitAssertion {
} }
} }
func assertNoStderr(tb testing.TB, _, stderr string, _ int) {
tb.Helper()
if len(stderr) > 0 {
tb.Errorf("expected stderr to be empty, but got %q", stderr)
}
}
func assertInOutput(data string) traitAssertion { func assertInOutput(data string) traitAssertion {
return func(tb testing.TB, stdout, stderr string, _ int) { return func(tb testing.TB, stdout, stderr string, _ int) {
tb.Helper() tb.Helper()