From fbdd7b7edeb95c2904f95dec98a461fa4672be42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A5=9A=E5=B2=B3?= Date: Thu, 24 Nov 2022 11:39:45 +0800 Subject: [PATCH] fix filter registry func flaky MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 楚岳 --- pkg/addon/utils.go | 4 +++- pkg/addon/utils_test.go | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/addon/utils.go b/pkg/addon/utils.go index 2851688bc..2f15b108f 100644 --- a/pkg/addon/utils.go +++ b/pkg/addon/utils.go @@ -504,7 +504,9 @@ func checkBondComponentExist(u unstructured.Unstructured, app v1beta1.Applicatio } // FilterDependencyRegistries will return all registries besides the target registry itself -func FilterDependencyRegistries(i int, registries []Registry) []Registry { +func FilterDependencyRegistries(i int, rs []Registry) []Registry { + registries := make([]Registry, len(rs)) + copy(registries, rs) if i < len(registries) { return append(registries[:i], registries[i+1:]...) } diff --git a/pkg/addon/utils_test.go b/pkg/addon/utils_test.go index fa156e5d9..ec81b5786 100644 --- a/pkg/addon/utils_test.go +++ b/pkg/addon/utils_test.go @@ -334,36 +334,43 @@ func TestFilterDependencyRegistries(t *testing.T) { registries []Registry index int res []Registry + origin []Registry }{ { registries: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, index: 0, res: []Registry{{Name: "r2"}, {Name: "r3"}}, + origin: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, }, { registries: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, index: 1, res: []Registry{{Name: "r1"}, {Name: "r3"}}, + origin: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, }, { registries: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, index: 2, res: []Registry{{Name: "r1"}, {Name: "r2"}}, + origin: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, }, { registries: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, index: 3, res: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, + origin: []Registry{{Name: "r1"}, {Name: "r2"}, {Name: "r3"}}, }, { registries: []Registry{}, index: 0, res: []Registry{}, + origin: []Registry{}, }, } for _, testCase := range testCases { res := FilterDependencyRegistries(testCase.index, testCase.registries) assert.Equal(t, res, testCase.res) + assert.Equal(t, testCase.registries, testCase.origin) } }