diff --git a/pkg/kubectl/cmd/get/get.go b/pkg/kubectl/cmd/get/get.go index 8011485e412..82a3d2f971b 100644 --- a/pkg/kubectl/cmd/get/get.go +++ b/pkg/kubectl/cmd/get/get.go @@ -314,11 +314,14 @@ type RuntimeSorter struct { } func (r *RuntimeSorter) Sort() error { - if len(r.objects) <= 1 { - // a list is only considered "sorted" if there are 0 or 1 items in it - // AND (if 1 item) the item is not a Table object + // a list is only considered "sorted" if there are 0 or 1 items in it + // AND (if 1 item) the item is not a Table object + if len(r.objects) == 0 { + return nil + } + if len(r.objects) == 1 { _, isTable := r.objects[0].(*metav1beta1.Table) - if len(r.objects) == 0 || !isTable { + if !isTable { return nil } } diff --git a/pkg/kubectl/cmd/get/get_test.go b/pkg/kubectl/cmd/get/get_test.go index 2c7da6967c8..9d12a895794 100644 --- a/pkg/kubectl/cmd/get/get_test.go +++ b/pkg/kubectl/cmd/get/get_test.go @@ -560,6 +560,15 @@ func TestRuntimeSorter(t *testing.T) { expect string expectError string }{ + { + name: "ensure sorter works with an empty object list", + field: "metadata.name", + objs: []runtime.Object{}, + op: func(sorter *RuntimeSorter, objs []runtime.Object, out io.Writer) error { + return nil + }, + expect: "", + }, { name: "ensure sorter returns original position", field: "metadata.name",