diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 0ad733dbe10..6326fc61476 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,4 +25,4 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@ec5d18412c0aeab7936cb16880d708ba2a64e1ae # v6.2.0 with: - version: v1.62 + version: v1.63 diff --git a/.golangci.yml b/.golangci.yml index bf4c9a0ebff..58ab321e501 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -36,6 +36,7 @@ linters: - errname - errorlint - exhaustive + - exptostd - fatcontext - forcetypeassert - gci @@ -70,6 +71,7 @@ linters: - musttag - nakedret - nilerr + - nilnesserr - noctx - nolintlint - nosprintfhostport @@ -97,6 +99,7 @@ linters: - unparam - unused - usestdlibvars + - usetesting - wastedassign - whitespace - zerologlint diff --git a/cmd/schedule-builder/cmd/markdown_test.go b/cmd/schedule-builder/cmd/markdown_test.go index 4700a092919..f736fd89a0b 100644 --- a/cmd/schedule-builder/cmd/markdown_test.go +++ b/cmd/schedule-builder/cmd/markdown_test.go @@ -453,11 +453,11 @@ func TestUpdatePatchSchedule(t *testing.T) { }, } { t.Run(tc.name, func(t *testing.T) { - scheduleFile, err := os.CreateTemp("", "schedule-") + scheduleFile, err := os.CreateTemp(t.TempDir(), "schedule-") require.NoError(t, err) require.NoError(t, scheduleFile.Close()) - eolFile, err := os.CreateTemp("", "eol-") + eolFile, err := os.CreateTemp(t.TempDir(), "eol-") require.NoError(t, err) require.NoError(t, eolFile.Close()) diff --git a/cmd/schedule-builder/cmd/root_test.go b/cmd/schedule-builder/cmd/root_test.go index f0d68bf9e1e..261442855e0 100644 --- a/cmd/schedule-builder/cmd/root_test.go +++ b/cmd/schedule-builder/cmd/root_test.go @@ -246,13 +246,11 @@ func TestRun(t *testing.T) { for tcCount, tc := range testcases { t.Logf("Test case: %s", tc.name) - tempDir, err := os.MkdirTemp("/tmp", "schedule-test") - require.NoError(t, err) + tempDir := t.TempDir() tc.options.outputFile = fmt.Sprintf("%s/output-%d.md", tempDir, tcCount) - err = run(tc.options) + err := run(tc.options) tc.expect(err, tc.options.outputFile) - require.NoError(t, os.RemoveAll(tempDir)) } } diff --git a/dependencies.yaml b/dependencies.yaml index 950f58a4e46..c5dba246b36 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -474,7 +474,7 @@ dependencies: # golangci-lint-version - name: "golangci-lint" - version: v1.62 + version: v1.63 refPaths: - path: .github/workflows/lint.yml match: "version: v\\d+.\\d+?\\.?(\\d+)?" diff --git a/pkg/binary/binary_test.go b/pkg/binary/binary_test.go index 30382833983..702f36ec4b6 100644 --- a/pkg/binary/binary_test.go +++ b/pkg/binary/binary_test.go @@ -93,7 +93,7 @@ func GetTestHeaders() []TestHeader { // writeTestBinary Writes a test binary and returns the path. func writeTestBinary(t *testing.T, base64Data string) *os.File { - f, err := os.CreateTemp("", "test-binary-") + f, err := os.CreateTemp(t.TempDir(), "test-binary-") require.NoError(t, err) binData, err := base64.StdEncoding.DecodeString(base64Data) diff --git a/pkg/binary/binary_unit_test.go b/pkg/binary/binary_unit_test.go index c717f64a80f..eb2b39af442 100644 --- a/pkg/binary/binary_unit_test.go +++ b/pkg/binary/binary_unit_test.go @@ -25,7 +25,7 @@ import ( ) func TestContainsString(t *testing.T) { - tmpfile, err := os.CreateTemp("", "") + tmpfile, err := os.CreateTemp(t.TempDir(), "") require.NoError(t, err) defer os.Remove(tmpfile.Name()) diff --git a/pkg/notes/document/document_test.go b/pkg/notes/document/document_test.go index 23e14b8628f..4b5c6079675 100644 --- a/pkg/notes/document/document_test.go +++ b/pkg/notes/document/document_test.go @@ -41,9 +41,7 @@ const ( func TestFileMetadata(t *testing.T) { // Given - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - defer os.RemoveAll(dir) + dir := t.TempDir() for _, file := range []string{ "kubernetes-client-darwin-386.tar.gz", @@ -146,9 +144,7 @@ func TestDocument_RenderMarkdownTemplateFailure(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - defer os.RemoveAll(dir) + dir := t.TempDir() if tt.templateExist { fileName := strings.Split(tt.templateSpec, ":")[1] @@ -159,7 +155,7 @@ func TestDocument_RenderMarkdownTemplateFailure(t *testing.T) { } doc := Document{} - _, err = doc.RenderMarkdownTemplate("", "", "", tt.templateSpec) + _, err := doc.RenderMarkdownTemplate("", "", "", tt.templateSpec) require.Error(t, err, "Unexpected success") }) } @@ -167,9 +163,7 @@ func TestDocument_RenderMarkdownTemplateFailure(t *testing.T) { func TestCreateDownloadsTable(t *testing.T) { // Given - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - defer os.RemoveAll(dir) + dir := t.TempDir() setupTestDir(t, dir) // When @@ -529,9 +523,7 @@ func TestDocument_RenderMarkdownTemplate(t *testing.T) { templateSpec := tt.templateSpec var dir string if tt.hasDownloads || tt.userTemplate { - dir, err = os.MkdirTemp("", "") - require.NoError(t, err, "Creating tmpDir") - defer os.RemoveAll(dir) + dir = t.TempDir() setupTestDir(t, dir) diff --git a/pkg/notes/options/options_test.go b/pkg/notes/options/options_test.go index 942d8619b9e..906f7d15abd 100644 --- a/pkg/notes/options/options_test.go +++ b/pkg/notes/options/options_test.go @@ -92,16 +92,14 @@ func newTestOptions(t *testing.T) *testOptions { // First commit func newTestRepo(t *testing.T) *testRepo { // Setup the bare repo as base - bareTempDir, err := os.MkdirTemp("", "k8s-test-bare-") - require.NoError(t, err) + bareTempDir := t.TempDir() bareRepo, err := git.PlainInit(bareTempDir, true) require.NoError(t, err) require.NotNil(t, bareRepo) // Clone from the bare to be able to add our test data - cloneTempDir, err := os.MkdirTemp("", "k8s-test-clone-") - require.NoError(t, err) + cloneTempDir := t.TempDir() cloneRepo, err := git.PlainInit(cloneTempDir, false) require.NoError(t, err) diff --git a/pkg/release/images_test.go b/pkg/release/images_test.go index d423248f0a6..c96219f6625 100644 --- a/pkg/release/images_test.go +++ b/pkg/release/images_test.go @@ -221,11 +221,7 @@ func TestPublish(t *testing.T) { { name: "failure no images-path", prepare: func(*releasefakes.FakeImageImpl) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-test-") - require.NoError(t, err) - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return t.TempDir(), func() {} }, shouldError: true, }, @@ -339,11 +335,7 @@ func TestValidate(t *testing.T) { }, { // failure no images-path prepare: func(*releasefakes.FakeImageImpl) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-test-") - require.NoError(t, err) - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return t.TempDir(), func() {} }, shouldError: true, }, @@ -391,8 +383,7 @@ func TestValidate(t *testing.T) { } func newImagesPath(t *testing.T) string { - tempDir, err := os.MkdirTemp("", "publish-test-") - require.NoError(t, err) + tempDir := t.TempDir() require.NoError(t, os.MkdirAll( filepath.Join(tempDir, release.ImagesPath), diff --git a/pkg/release/provenance_test.go b/pkg/release/provenance_test.go index f37ca51ffb2..2baef75a597 100644 --- a/pkg/release/provenance_test.go +++ b/pkg/release/provenance_test.go @@ -29,9 +29,7 @@ import ( func TestGetBuildSubjects(t *testing.T) { // create a test dir with stuff - dir, err := os.MkdirTemp("", "provenance-test-") - require.NoError(t, err) - defer os.RemoveAll(dir) + dir := t.TempDir() require.NoError(t, os.Mkdir(filepath.Join(dir, ImagesPath), os.FileMode(0o755))) testFiles := map[string]struct { @@ -80,9 +78,7 @@ func TestGetBuildSubjects(t *testing.T) { func TestGetStagingSubjects(t *testing.T) { // create a test dir with stuff - dir, err := os.MkdirTemp("", "provenance-test-") - require.NoError(t, err) - defer os.RemoveAll(dir) + dir := t.TempDir() require.NoError(t, os.Mkdir(filepath.Join(dir, "second"), os.FileMode(0o755))) testFiles := map[string]struct { diff --git a/pkg/release/publish_test.go b/pkg/release/publish_test.go index 0652d7b2095..8873436943c 100644 --- a/pkg/release/publish_test.go +++ b/pkg/release/publish_test.go @@ -43,12 +43,10 @@ func TestPublishVersion(t *testing.T) { } for _, tc := range []struct { - bucket string - gcsRoot string - version string - prepare func( - *releasefakes.FakePublisherClient, - ) (buildDir string, cleanup func()) + bucket string + gcsRoot string + version string + prepare func(*releasefakes.FakePublisherClient) privateBucket bool fast bool shouldError bool @@ -58,34 +56,17 @@ func TestPublishVersion(t *testing.T) { gcsRoot: "release", version: testVersion, fast: true, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - + prepare: func(mock *releasefakes.FakePublisherClient) { mock.GSUtilOutputReturnsOnCall(0, olderTestVersion, nil) mock.GSUtilOutputReturnsOnCall(1, testVersion, nil) mock.GetURLResponseReturns(testVersion, nil) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } }, shouldError: false, }, { // failure GetMarkerPath - bucket: release.ProductionBucket, - version: testVersion, - fast: true, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - - mock.GetMarkerPathReturns("", err) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } - }, + bucket: release.ProductionBucket, + version: testVersion, + fast: true, shouldError: true, }, { // success update on private bucket @@ -93,16 +74,9 @@ func TestPublishVersion(t *testing.T) { gcsRoot: "release", version: testVersion, privateBucket: true, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - + prepare: func(mock *releasefakes.FakePublisherClient) { mockVersionMarkers(mock) mock.GSUtilOutputReturnsOnCall(5, testVersion, nil) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } }, shouldError: false, }, @@ -111,16 +85,9 @@ func TestPublishVersion(t *testing.T) { gcsRoot: "release", version: testVersion, privateBucket: true, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - + prepare: func(mock *releasefakes.FakePublisherClient) { mockVersionMarkers(mock) mock.GSUtilOutputReturnsOnCall(5, "", errors.New("")) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } }, shouldError: true, }, @@ -129,16 +96,9 @@ func TestPublishVersion(t *testing.T) { gcsRoot: "release", version: testVersion, privateBucket: true, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - + prepare: func(mock *releasefakes.FakePublisherClient) { mockVersionMarkers(mock) mock.GSUtilOutputReturnsOnCall(5, "wrong", nil) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } }, shouldError: true, }, @@ -147,16 +107,9 @@ func TestPublishVersion(t *testing.T) { gcsRoot: "release", version: testVersion, privateBucket: false, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - + prepare: func(mock *releasefakes.FakePublisherClient) { mockVersionMarkers(mock) mock.GetURLResponseReturns(testVersion, nil) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } }, shouldError: false, }, @@ -165,15 +118,9 @@ func TestPublishVersion(t *testing.T) { gcsRoot: "release", version: testVersion, privateBucket: false, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) + prepare: func(mock *releasefakes.FakePublisherClient) { mockVersionMarkers(mock) mock.GetURLResponseReturns("", errors.New("")) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } }, shouldError: true, }, @@ -182,40 +129,27 @@ func TestPublishVersion(t *testing.T) { gcsRoot: "release", version: testVersion, privateBucket: false, - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - + prepare: func(mock *releasefakes.FakePublisherClient) { mock.GSUtilReturnsOnCall(0, errors.New("")) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } }, shouldError: true, }, { // failure no semver version - bucket: release.ProductionBucket, - gcsRoot: "release", - version: "wrong", - prepare: func(mock *releasefakes.FakePublisherClient) (string, func()) { - tempDir, err := os.MkdirTemp("", "publish-version-test-") - require.NoError(t, err) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } - }, + bucket: release.ProductionBucket, + gcsRoot: "release", + version: "wrong", shouldError: true, }, } { sut := release.NewPublisher() clientMock := &releasefakes.FakePublisherClient{} sut.SetClient(clientMock) - buildDir, cleanup := tc.prepare(clientMock) + if tc.prepare != nil { + tc.prepare(clientMock) + } err := sut.PublishVersion( - "release", tc.version, buildDir, tc.bucket, tc.gcsRoot, + "release", tc.version, t.TempDir(), tc.bucket, tc.gcsRoot, nil, tc.privateBucket, tc.fast, ) if tc.shouldError { @@ -223,7 +157,6 @@ func TestPublishVersion(t *testing.T) { } else { require.NoError(t, err) } - cleanup() } } diff --git a/pkg/release/release_test.go b/pkg/release/release_test.go index 21337db50b4..2e772f9ad53 100644 --- a/pkg/release/release_test.go +++ b/pkg/release/release_test.go @@ -60,8 +60,7 @@ func TestGetToolRefSuccess(t *testing.T) { } func TestReadDockerVersion(t *testing.T) { - baseTmpDir, err := os.MkdirTemp("", "ahhh") - require.NoError(t, err) + baseTmpDir := t.TempDir() release := "kubernetes" version := "1.1.1" @@ -73,7 +72,7 @@ func TestReadDockerVersion(t *testing.T) { var b bytes.Buffer // Create version file - err = os.WriteFile(filepath.Join(baseTmpDir, BuildDir, ReleaseTarsPath, "kubernetes", "version"), versionBytes, os.FileMode(0o644)) + err := os.WriteFile(filepath.Join(baseTmpDir, BuildDir, ReleaseTarsPath, "kubernetes", "version"), versionBytes, os.FileMode(0o644)) require.NoError(t, err) // Create a zip archive. @@ -95,8 +94,6 @@ func TestReadDockerVersion(t *testing.T) { os.FileMode(0o644), )) - defer cleanupTmps(t, baseTmpDir) - type args struct { path string } @@ -231,12 +228,6 @@ func TestIsDirtyBuild(t *testing.T) { } } -func cleanupTmps(t *testing.T, dir ...string) { - for _, each := range dir { - require.NoError(t, os.RemoveAll(each)) - } -} - func TestURLPrefixForBucket(t *testing.T) { for _, bucket := range []string{"bucket", "", ProductionBucket} { res := URLPrefixForBucket(bucket) @@ -248,13 +239,12 @@ func TestURLPrefixForBucket(t *testing.T) { func TestCopyBinaries(t *testing.T) { for _, tc := range []struct { - prepare func() (rootPath string, cleanup func()) + prepare func() (rootPath string) validate func(error, string) }{ { // success client - prepare: func() (string, func()) { - tempDir, err := os.MkdirTemp("", "test-copy-binaries-") - require.NoError(t, err) + prepare: func() string { + tempDir := t.TempDir() binDir := filepath.Join( tempDir, "client", "linux-amd64", "kubernetes", "client", "bin", @@ -262,13 +252,11 @@ func TestCopyBinaries(t *testing.T) { require.NoError(t, os.MkdirAll(binDir, os.FileMode(0o755))) for _, f := range []string{"1", "2", "3"} { - _, err = os.Create(filepath.Join(binDir, f)) + _, err := os.Create(filepath.Join(binDir, f)) require.NoError(t, err) } - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return tempDir }, validate: func(err error, testDir string) { require.NoError(t, err) @@ -283,27 +271,23 @@ func TestCopyBinaries(t *testing.T) { }, }, { // success client skip non-dir - prepare: func() (string, func()) { - tempDir, err := os.MkdirTemp("", "test-copy-binaries-") - require.NoError(t, err) + prepare: func() string { + tempDir := t.TempDir() require.NoError(t, os.MkdirAll(filepath.Join( tempDir, "client", "linux-amd64", "kubernetes", "client", "bin", ), os.FileMode(0o755))) - _, err = os.Create(filepath.Join(tempDir, "client", "some-file")) + _, err := os.Create(filepath.Join(tempDir, "client", "some-file")) require.NoError(t, err) - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return tempDir }, validate: func(err error, _ string) { require.NoError(t, err) }, }, { // success server - prepare: func() (string, func()) { - tempDir, err := os.MkdirTemp("", "test-copy-binaries-") - require.NoError(t, err) + prepare: func() string { + tempDir := t.TempDir() require.NoError(t, os.MkdirAll(filepath.Join( tempDir, "client", "linux-amd64", "kubernetes", "client", "bin", @@ -312,16 +296,13 @@ func TestCopyBinaries(t *testing.T) { tempDir, "server", "linux-amd64", "kubernetes", "server", "bin", ), os.FileMode(0o755))) - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return tempDir }, validate: func(err error, _ string) { require.NoError(t, err) }, }, { // success node - prepare: func() (string, func()) { - tempDir, err := os.MkdirTemp("", "test-copy-binaries-") - require.NoError(t, err) + prepare: func() string { + tempDir := t.TempDir() require.NoError(t, os.MkdirAll(filepath.Join( tempDir, "client", "linux-amd64", "kubernetes", "client", "bin", @@ -330,16 +311,13 @@ func TestCopyBinaries(t *testing.T) { tempDir, "node", "linux-amd64", "kubernetes", "node", "bin", ), os.FileMode(0o755))) - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return tempDir }, validate: func(err error, _ string) { require.NoError(t, err) }, }, { // failure wrong server dir - prepare: func() (string, func()) { - tempDir, err := os.MkdirTemp("", "test-copy-binaries-") - require.NoError(t, err) + prepare: func() string { + tempDir := t.TempDir() require.NoError(t, os.MkdirAll(filepath.Join( tempDir, "client", "linux-amd64", "kubernetes", "client", "bin", @@ -348,16 +326,13 @@ func TestCopyBinaries(t *testing.T) { tempDir, "server", "linux-amd64", "kubernetes", "wrong", "bin", ), os.FileMode(0o755))) - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return tempDir }, validate: func(err error, _ string) { require.Error(t, err) }, }, { // failure wrong node dir - prepare: func() (string, func()) { - tempDir, err := os.MkdirTemp("", "test-copy-binaries-") - require.NoError(t, err) + prepare: func() string { + tempDir := t.TempDir() require.NoError(t, os.MkdirAll(filepath.Join( tempDir, "client", "linux-amd64", "kubernetes", "client", "bin", @@ -366,19 +341,17 @@ func TestCopyBinaries(t *testing.T) { tempDir, "node", "linux-amd64", "kubernetes", "wrong", "bin", ), os.FileMode(0o755))) - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return tempDir }, validate: func(err error, _ string) { require.Error(t, err) }, }, { // empty dirs should error - prepare: func() (string, func()) { return "", func() {} }, + prepare: func() string { return "" }, validate: func(err error, _ string) { require.Error(t, err) }, }, } { // Given - rootPath, cleanup := tc.prepare() + rootPath := tc.prepare() stageDir := filepath.Join(rootPath, StagePath) // When @@ -386,19 +359,17 @@ func TestCopyBinaries(t *testing.T) { // Then tc.validate(err, stageDir) - cleanup() } } func TestWriteChecksums(t *testing.T) { for _, tc := range []struct { - prepare func() (rootPath string, cleanup func()) + prepare func() (rootPath string) validate func(err error, rootPath string) }{ { // success - prepare: func() (rootPath string, cleanup func()) { - tempDir, err := os.MkdirTemp("", "write-checksum-test-") - require.NoError(t, err) + prepare: func() (rootPath string) { + tempDir := t.TempDir() rootSHAs := []byte{1, 2, 4, 8, 16, 32, 64, 128} for i, v := range rootSHAs { @@ -417,9 +388,7 @@ func TestWriteChecksums(t *testing.T) { )) } - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + return tempDir }, validate: func(err error, rootPath string) { require.NoError(t, err) @@ -468,25 +437,18 @@ func TestWriteChecksums(t *testing.T) { }, { // success no content - prepare: func() (rootPath string, cleanup func()) { - tempDir, err := os.MkdirTemp("", "write-checksum-test-") - require.NoError(t, err) - - return tempDir, func() { - require.NoError(t, os.RemoveAll(tempDir)) - } + prepare: func() (rootPath string) { + return t.TempDir() }, validate: func(err error, _ string) { require.NoError(t, err) }, }, { // failure dir not existing - prepare: func() (rootPath string, cleanup func()) { - tempDir, err := os.MkdirTemp("", "write-checksum-test-") - require.NoError(t, err) + prepare: func() (rootPath string) { + tempDir := t.TempDir() require.NoError(t, os.RemoveAll(tempDir)) - - return tempDir, func() {} + return tempDir }, validate: func(err error, _ string) { require.Error(t, err) @@ -494,13 +456,12 @@ func TestWriteChecksums(t *testing.T) { }, } { // Given - rootPath, cleanup := tc.prepare() + rootPath := tc.prepare() // When err := WriteChecksums(rootPath) // Then tc.validate(err, rootPath) - cleanup() } } diff --git a/pkg/release/repository_test.go b/pkg/release/repository_test.go index 4717ba4a6b9..26eeeb32779 100644 --- a/pkg/release/repository_test.go +++ b/pkg/release/repository_test.go @@ -38,10 +38,9 @@ type sut struct { } func newSUT(t *testing.T) *sut { - dir, err := os.MkdirTemp("", "k8s-test-") - require.NoError(t, err) + dir := t.TempDir() - _, err = gogit.PlainInit(dir, false) + _, err := gogit.PlainInit(dir, false) require.NoError(t, err) require.NoError(t, os.Chdir(dir)) @@ -55,14 +54,9 @@ func newSUT(t *testing.T) *sut { return &sut{repo, mock, dir, t} } -func (s *sut) cleanup() { - require.NoError(s.t, os.RemoveAll(s.dir)) -} - func TestGetTagSuccess(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.DescribeReturns("v1.0.0", nil) // When @@ -76,7 +70,6 @@ func TestGetTagSuccess(t *testing.T) { func TestGetTagFailure(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.DescribeReturns("", errors.New("")) // When @@ -90,7 +83,6 @@ func TestGetTagFailure(t *testing.T) { func TestCheckStateSuccess(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("branch", nil) sut.mock.RemotesReturns([]*git.Remote{ git.NewRemote("origin", []string{"github.com:org/repo"}), @@ -109,7 +101,6 @@ func TestCheckStateSuccess(t *testing.T) { func TestCheckStateFailedNoRemoteFound(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("branch", nil) sut.mock.RemotesReturns([]*git.Remote{ git.NewRemote("origin", []string{"some-other-url"}), @@ -125,7 +116,6 @@ func TestCheckStateFailedNoRemoteFound(t *testing.T) { func TestCheckStateFailedRemoteFailed(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("branch", nil) sut.mock.RemotesReturns(nil, errors.New("")) @@ -139,7 +129,6 @@ func TestCheckStateFailedRemoteFailed(t *testing.T) { func TestCheckStateFailedWrongBranch(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("wrong", nil) // When @@ -152,7 +141,6 @@ func TestCheckStateFailedWrongBranch(t *testing.T) { func TestCheckStateFailedBranchFailed(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("", errors.New("")) // When @@ -165,7 +153,6 @@ func TestCheckStateFailedBranchFailed(t *testing.T) { func TestCheckStateFailedLsRemote(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("branch", nil) sut.mock.RemotesReturns([]*git.Remote{ git.NewRemote("origin", []string{"github.com:org/repo"}), @@ -182,7 +169,6 @@ func TestCheckStateFailedLsRemote(t *testing.T) { func TestCheckStateFailedBranchHeadRetrievalFails(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("branch", nil) sut.mock.RemotesReturns([]*git.Remote{ git.NewRemote("origin", []string{"github.com:org/repo"}), @@ -200,7 +186,6 @@ func TestCheckStateFailedBranchHeadRetrievalFails(t *testing.T) { func TestCheckStateFailedBranchHeadRetrievalNotEqual(t *testing.T) { // Given sut := newSUT(t) - defer sut.cleanup() sut.mock.CurrentBranchReturns("branch", nil) sut.mock.RemotesReturns([]*git.Remote{ git.NewRemote("origin", []string{"github.com:org/repo"}),