diff --git a/internal/ui/termstatus/status.go b/internal/ui/termstatus/status.go index 79bb0a296..3265c7a04 100644 --- a/internal/ui/termstatus/status.go +++ b/internal/ui/termstatus/status.go @@ -180,6 +180,7 @@ func (t *Terminal) OutputWriter() io.Writer { // other option. Must not be used in combination with Print, Error, SetStatus // or any other method that writes to the terminal. func (t *Terminal) OutputRaw() io.Writer { + t.Flush() return t.wr } diff --git a/internal/ui/termstatus/status_test.go b/internal/ui/termstatus/status_test.go index f6b885cee..f65bb096f 100644 --- a/internal/ui/termstatus/status_test.go +++ b/internal/ui/termstatus/status_test.go @@ -124,7 +124,8 @@ func TestReadPasswordTerminal(t *testing.T) { func TestRawInputOutput(t *testing.T) { input := io.NopCloser(strings.NewReader("password")) var output bytes.Buffer - term := New(input, &output, io.Discard, false) + term, cancel := Setup(input, &output, io.Discard, false) + defer cancel() rtest.Equals(t, input, term.InputRaw()) rtest.Equals(t, false, term.InputIsTerminal()) rtest.Equals(t, &output, term.OutputRaw())