From 1f77d24a86b85a086b3a66ccbaa73173db95c96d Mon Sep 17 00:00:00 2001 From: John Weathers Date: Fri, 27 Feb 2026 18:04:58 -0500 Subject: [PATCH] fix(list): reset Truncated state and use Cobra stderr stream Reset Truncated on each Run(), use cmd.ErrOrStderr(), and reorder tests to cover early-return stale state. Signed-off-by: John Weathers --- pkg/action/list.go | 2 ++ pkg/action/list_test.go | 13 +++++++------ pkg/cmd/list.go | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) 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