fix scopelint errors / possible races in hooks (#614)
Ref #612 Fixes #514
This commit is contained in:
		
							parent
							
								
									1012256f16
								
							
						
					
					
						commit
						3b3d3092dd
					
				|  | @ -298,7 +298,9 @@ func (st *HelmState) isReleaseInstalled(context helmexec.HelmContext, helm helme | ||||||
| 
 | 
 | ||||||
| func (st *HelmState) DetectReleasesToBeDeleted(helm helmexec.Interface) ([]*ReleaseSpec, error) { | func (st *HelmState) DetectReleasesToBeDeleted(helm helmexec.Interface) ([]*ReleaseSpec, error) { | ||||||
| 	detected := []*ReleaseSpec{} | 	detected := []*ReleaseSpec{} | ||||||
| 	for _, release := range st.Releases { | 	for i := range st.Releases { | ||||||
|  | 		release := st.Releases[i] | ||||||
|  | 
 | ||||||
| 		if !release.Desired() { | 		if !release.Desired() { | ||||||
| 			installed, err := st.isReleaseInstalled(st.createHelmContext(&release, 0), helm, release) | 			installed, err := st.isReleaseInstalled(st.createHelmContext(&release, 0), helm, release) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
|  | @ -511,7 +513,9 @@ func (st *HelmState) TemplateReleases(helm helmexec.Interface, additionalValues | ||||||
| 		helm.SetExtraArgs(args...) | 		helm.SetExtraArgs(args...) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	for _, release := range st.Releases { | 	for i := range st.Releases { | ||||||
|  | 		release := st.Releases[i] | ||||||
|  | 
 | ||||||
| 		if !release.Desired() { | 		if !release.Desired() { | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  | @ -571,7 +575,9 @@ func (st *HelmState) LintReleases(helm helmexec.Interface, additionalValues []st | ||||||
| 		helm.SetExtraArgs(args...) | 		helm.SetExtraArgs(args...) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	for _, release := range st.Releases { | 	for i := range st.Releases { | ||||||
|  | 		release := st.Releases[i] | ||||||
|  | 
 | ||||||
| 		if !release.Desired() { | 		if !release.Desired() { | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  | @ -910,7 +916,9 @@ func (st *HelmState) FilterReleases() error { | ||||||
| func (st *HelmState) PrepareReleases(helm helmexec.Interface, helmfileCommand string) []error { | func (st *HelmState) PrepareReleases(helm helmexec.Interface, helmfileCommand string) []error { | ||||||
| 	errs := []error{} | 	errs := []error{} | ||||||
| 
 | 
 | ||||||
| 	for _, release := range st.Releases { | 	for i := range st.Releases { | ||||||
|  | 		release := st.Releases[i] | ||||||
|  | 
 | ||||||
| 		if _, err := st.triggerPrepareEvent(&release, helmfileCommand); err != nil { | 		if _, err := st.triggerPrepareEvent(&release, helmfileCommand); err != nil { | ||||||
| 			errs = append(errs, newReleaseError(&release, err)) | 			errs = append(errs, newReleaseError(&release, err)) | ||||||
| 			continue | 			continue | ||||||
|  |  | ||||||
|  | @ -36,7 +36,8 @@ func TestHelmState_executeTemplates(t *testing.T) { | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				basePath: ".", | 				basePath: ".", | ||||||
|  |  | ||||||
|  | @ -115,7 +115,8 @@ func TestHelmState_applyDefaultsTo(t *testing.T) { | ||||||
| 			want: specWithNamespaceFromFields, | 			want: specWithNamespaceFromFields, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				basePath:           tt.fields.BaseChartPath, | 				basePath:           tt.fields.BaseChartPath, | ||||||
|  | @ -505,7 +506,8 @@ func TestHelmState_flagsForUpgrade(t *testing.T) { | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				basePath:          "./", | 				basePath:          "./", | ||||||
|  | @ -584,7 +586,8 @@ func Test_isLocalChart(t *testing.T) { | ||||||
| 			want: true, | 			want: true, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			if got := isLocalChart(tt.args.chart); got != tt.want { | 			if got := isLocalChart(tt.args.chart); got != tt.want { | ||||||
| 				t.Errorf("%s(\"%s\") isLocalChart(): got %v, want %v", tt.name, tt.args.chart, got, tt.want) | 				t.Errorf("%s(\"%s\") isLocalChart(): got %v, want %v", tt.name, tt.args.chart, got, tt.want) | ||||||
|  | @ -636,7 +639,8 @@ func Test_normalizeChart(t *testing.T) { | ||||||
| 			want: "/app", | 			want: "/app", | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			if got := normalizeChart(tt.args.basePath, tt.args.chart); got != tt.want { | 			if got := normalizeChart(tt.args.basePath, tt.args.chart); got != tt.want { | ||||||
| 				t.Errorf("normalizeChart() = %v, want %v", got, tt.want) | 				t.Errorf("normalizeChart() = %v, want %v", got, tt.want) | ||||||
|  | @ -814,7 +818,8 @@ func TestHelmState_SyncRepos(t *testing.T) { | ||||||
| 			want: []string{"name", "http://example.com/", "", "", "example_user", "example_password"}, | 			want: []string{"name", "http://example.com/", "", "", "example_user", "example_password"}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			for k, v := range tt.envs { | 			for k, v := range tt.envs { | ||||||
| 				err := os.Setenv(k, v) | 				err := os.Setenv(k, v) | ||||||
|  | @ -929,7 +934,8 @@ func TestHelmState_SyncReleases(t *testing.T) { | ||||||
| 			wantReleases: []mockRelease{{"releaseName", []string{"--set", "foo.bar[0]={A,B}"}}}, | 			wantReleases: []mockRelease{{"releaseName", []string{"--set", "foo.bar[0]={A,B}"}}}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				Releases: tt.releases, | 				Releases: tt.releases, | ||||||
|  | @ -1016,7 +1022,8 @@ func TestHelmState_SyncReleasesAffectedRealeases(t *testing.T) { | ||||||
| 			wantAffected: mockAffected{[]*mockRelease{{"releaseNameFoo", []string{}}}, []*mockRelease{{"releaseNameBar", []string{}}}, []*mockRelease{{"releaseNameFoo-error", []string{}}}}, | 			wantAffected: mockAffected{[]*mockRelease{{"releaseNameFoo", []string{}}}, []*mockRelease{{"releaseNameBar", []string{}}}, []*mockRelease{{"releaseNameFoo-error", []string{}}}}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				Releases: tt.releases, | 				Releases: tt.releases, | ||||||
|  | @ -1106,7 +1113,8 @@ func TestGetDeployedVersion(t *testing.T) { | ||||||
| 			installedVersion: "1.0.0-alpha+001", | 			installedVersion: "1.0.0-alpha+001", | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				Releases: []ReleaseSpec{tt.release}, | 				Releases: []ReleaseSpec{tt.release}, | ||||||
|  | @ -1225,7 +1233,8 @@ func TestHelmState_DiffReleases(t *testing.T) { | ||||||
| 			wantReleases: []mockRelease{{"releaseName", []string{"--set", "foo.bar[0]={A,B}"}}}, | 			wantReleases: []mockRelease{{"releaseName", []string{"--set", "foo.bar[0]={A,B}"}}}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				Releases: tt.releases, | 				Releases: tt.releases, | ||||||
|  | @ -1294,7 +1303,8 @@ func TestHelmState_SyncReleasesCleanup(t *testing.T) { | ||||||
| 			expectedNumRemovedFiles: 2, | 			expectedNumRemovedFiles: 2, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			numRemovedFiles := 0 | 			numRemovedFiles := 0 | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
|  | @ -1383,7 +1393,8 @@ func TestHelmState_DiffReleasesCleanup(t *testing.T) { | ||||||
| 			expectedNumRemovedFiles: 2, | 			expectedNumRemovedFiles: 2, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			numRemovedFiles := 0 | 			numRemovedFiles := 0 | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
|  | @ -1624,8 +1635,9 @@ func TestHelmState_ReleaseStatuses(t *testing.T) { | ||||||
| 			want: []mockRelease{{"releaseA", []string{"--tiller-namespace", "tillerns"}}}, | 			want: []mockRelease{{"releaseA", []string{"--tiller-namespace", "tillerns"}}}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
| 		i := func(t *testing.T) { | 		tt := tests[i] | ||||||
|  | 		f := func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				Releases: tt.releases, | 				Releases: tt.releases, | ||||||
| 				logger:   logger, | 				logger:   logger, | ||||||
|  | @ -1651,7 +1663,7 @@ func TestHelmState_ReleaseStatuses(t *testing.T) { | ||||||
| 				t.Errorf("HelmState.ReleaseStatuses() for [%s] = %v, want %v", tt.name, tt.helm.releases, tt.want) | 				t.Errorf("HelmState.ReleaseStatuses() for [%s] = %v, want %v", tt.name, tt.helm.releases, tt.want) | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		t.Run(tt.name, i) | 		t.Run(tt.name, f) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -1708,8 +1720,9 @@ func TestHelmState_TestReleasesNoCleanUp(t *testing.T) { | ||||||
| 			want: []mockRelease{{"releaseA", []string{"--timeout", "1", "--tiller-namespace", "tillerns"}}}, | 			want: []mockRelease{{"releaseA", []string{"--timeout", "1", "--tiller-namespace", "tillerns"}}}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
| 		i := func(t *testing.T) { | 		tt := tests[i] | ||||||
|  | 		f := func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				Releases: tt.releases, | 				Releases: tt.releases, | ||||||
| 				logger:   logger, | 				logger:   logger, | ||||||
|  | @ -1723,7 +1736,7 @@ func TestHelmState_TestReleasesNoCleanUp(t *testing.T) { | ||||||
| 				t.Errorf("HelmState.TestReleases() for [%s] = %v, want %v", tt.name, tt.helm.releases, tt.want) | 				t.Errorf("HelmState.TestReleases() for [%s] = %v, want %v", tt.name, tt.helm.releases, tt.want) | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		t.Run(tt.name, i) | 		t.Run(tt.name, f) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -1758,8 +1771,9 @@ func TestHelmState_NoReleaseMatched(t *testing.T) { | ||||||
| 			wantErr: false, | 			wantErr: false, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
| 		i := func(t *testing.T) { | 		tt := tests[i] | ||||||
|  | 		f := func(t *testing.T) { | ||||||
| 			state := &HelmState{ | 			state := &HelmState{ | ||||||
| 				Releases: releases, | 				Releases: releases, | ||||||
| 				logger:   logger, | 				logger:   logger, | ||||||
|  | @ -1771,7 +1785,7 @@ func TestHelmState_NoReleaseMatched(t *testing.T) { | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		t.Run(tt.name, i) | 		t.Run(tt.name, f) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -1877,8 +1891,9 @@ func TestHelmState_Delete(t *testing.T) { | ||||||
| 			deleted:         []mockRelease{{"releaseA", []string{"--purge", "--tiller-namespace", "tillerns"}}}, | 			deleted:         []mockRelease{{"releaseA", []string{"--purge", "--tiller-namespace", "tillerns"}}}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
| 		i := func(t *testing.T) { | 		tt := tests[i] | ||||||
|  | 		f := func(t *testing.T) { | ||||||
| 			name := "releaseA" | 			name := "releaseA" | ||||||
| 			if tt.wantErr { | 			if tt.wantErr { | ||||||
| 				name = "releaseA-error" | 				name = "releaseA-error" | ||||||
|  | @ -1913,6 +1928,6 @@ func TestHelmState_Delete(t *testing.T) { | ||||||
| 				t.Errorf("unexpected deletions happened: expected %v, got %v", &affectedReleases.Deleted, tt.deleted) | 				t.Errorf("unexpected deletions happened: expected %v, got %v", &affectedReleases.Deleted, tt.deleted) | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		t.Run(tt.name, i) | 		t.Run(tt.name, f) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -230,7 +230,8 @@ func Test_renderTemplateToString(t *testing.T) { | ||||||
| 			wantErr: true, | 			wantErr: true, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, tt := range tests { | 	for i := range tests { | ||||||
|  | 		tt := tests[i] | ||||||
| 		t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| 			for k, v := range tt.args.envs { | 			for k, v := range tt.args.envs { | ||||||
| 				err := os.Setenv(k, v) | 				err := os.Setenv(k, v) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue