Commit b642ba20 authored by Justin Scott's avatar Justin Scott Committed by GitHub

Merge pull request #2831 from jascott1/sort_unknown_kind

bug(tiller): sort unknown but different kinds alphabetically based on kind name
parents b600ea47 ed24b319
......@@ -118,8 +118,12 @@ func (k *kindSorter) Less(i, j int) bool {
b := k.manifests[j]
first, aok := k.ordering[a.Head.Kind]
second, bok := k.ordering[b.Head.Kind]
// if same kind (including unknown) sub sort alphanumeric
if first == second {
// same kind (including unknown) so sub sort alphanumeric
// if both are unknown and of different kind sort by kind alphabetically
if !aok && !bok && a.Head.Kind != b.Head.Kind {
return a.Head.Kind < b.Head.Kind
}
return a.Name < b.Name
}
// unknown kind is last
......
......@@ -175,7 +175,7 @@ func TestKindSorterSubSort(t *testing.T) {
Head: &util.SimpleHead{Kind: "ClusterRoleBinding"},
},
{
Name: "u3",
Name: "u2",
Head: &util.SimpleHead{Kind: "Unknown"},
},
{
......@@ -183,8 +183,8 @@ func TestKindSorterSubSort(t *testing.T) {
Head: &util.SimpleHead{Kind: "Unknown"},
},
{
Name: "u2",
Head: &util.SimpleHead{Kind: "Unknown"},
Name: "t3",
Head: &util.SimpleHead{Kind: "Unknown2"},
},
}
for _, test := range []struct {
......@@ -193,7 +193,7 @@ func TestKindSorterSubSort(t *testing.T) {
expected string
}{
// expectation is sorted by kind (unknown is last) and then sub sorted alphabetically within each group
{"cm,clusterRole,clusterRoleBinding,Unknown", InstallOrder, "01Aa!zu1u2u3"},
{"cm,clusterRole,clusterRoleBinding,Unknown,Unknown2", InstallOrder, "01Aa!zu1u2t3"},
} {
var buf bytes.Buffer
t.Run(test.description, func(t *testing.T) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment