diff --git a/pkg/kubectl/resource/builder.go b/pkg/kubectl/resource/builder.go index 6a12058d415..7d4dc811668 100644 --- a/pkg/kubectl/resource/builder.go +++ b/pkg/kubectl/resource/builder.go @@ -806,12 +806,13 @@ func HasNames(args []string) (bool, error) { // MultipleTypesRequested returns true if the provided args contain multiple resource kinds func MultipleTypesRequested(args []string) bool { + if len(args) == 1 && args[0] == "all" { + return true + } + args = normalizeMultipleResourcesArgs(args) rKinds := sets.NewString() for _, arg := range args { - if arg == "all" { - return true - } rTuple, found, err := splitResourceTypeName(arg) if err != nil { continue diff --git a/pkg/kubectl/resource/builder_test.go b/pkg/kubectl/resource/builder_test.go index 9ddfd1bda4d..e38364becc9 100644 --- a/pkg/kubectl/resource/builder_test.go +++ b/pkg/kubectl/resource/builder_test.go @@ -1255,6 +1255,14 @@ func TestMultipleTypesRequested(t *testing.T) { args: []string{"rc"}, expectedMultipleTypes: false, }, + { + args: []string{"pod,all"}, + expectedMultipleTypes: true, + }, + { + args: []string{"all,rc,pod"}, + expectedMultipleTypes: true, + }, { args: []string{"rc,pod,svc"}, expectedMultipleTypes: true, @@ -1287,7 +1295,7 @@ func TestMultipleTypesRequested(t *testing.T) { for _, test := range tests { hasMultipleTypes := MultipleTypesRequested(test.args) if hasMultipleTypes != test.expectedMultipleTypes { - t.Errorf("expected HasName to return %v for %s", test.expectedMultipleTypes, test.args) + t.Errorf("expected MultipleTypesRequested to return %v for %s", test.expectedMultipleTypes, test.args) } } }