diff --git a/pkg/action/list.go b/pkg/action/list.go index 7f83a4b1e..e254a4977 100644 --- a/pkg/action/list.go +++ b/pkg/action/list.go @@ -153,6 +153,8 @@ func (l *List) Run() ([]ri.Releaser, error) { return nil, err } + l.Truncated = false + var filter *regexp.Regexp if l.Filter != "" { var err error diff --git a/pkg/action/list_test.go b/pkg/action/list_test.go index 4a3759f28..e35b1f15c 100644 --- a/pkg/action/list_test.go +++ b/pkg/action/list_test.go @@ -209,19 +209,20 @@ func TestList_Truncation(t *testing.T) { is.Len(list, 1) is.True(lister.Truncated, "Expected Truncated to be true when offset + limit < total") + // Early return path should reset Truncated even after a truncated run lister.Limit = 1 - lister.Offset = 2 + lister.Offset = 3 list, err = lister.Run() is.NoError(err) - is.Len(list, 1) - is.False(lister.Truncated, "Expected Truncated to be false when offset + limit == total") + is.Len(list, 0) + is.False(lister.Truncated, "Expected Truncated to be false when offset >= total") lister.Limit = 1 - lister.Offset = 3 + lister.Offset = 2 list, err = lister.Run() is.NoError(err) - is.Len(list, 0) - is.False(lister.Truncated, "Expected Truncated to be false when offset >= total") + is.Len(list, 1) + is.False(lister.Truncated, "Expected Truncated to be false when offset + limit == total") } func TestList_StateMask(t *testing.T) { diff --git a/pkg/cmd/list.go b/pkg/cmd/list.go index 0eb393dcf..dc3d4fe0e 100644 --- a/pkg/cmd/list.go +++ b/pkg/cmd/list.go @@ -119,7 +119,7 @@ func newListCmd(cfg *action.Configuration, out io.Writer) *cobra.Command { outputFlag := cmd.Flag("output") if outputFlag.Value.String() == "table" && client.Truncated && !cmd.Flags().Changed("max") { - fmt.Fprintln(os.Stderr, "WARNING: results were truncated due to the default --max limit. Use --max to show more releases.") + fmt.Fprintln(cmd.ErrOrStderr(), "WARNING: results were truncated due to the default --max limit. Use --max to show more releases.") } return nil