Skip to content

Commit

Permalink
- added deleting of obsolete binaries
Browse files Browse the repository at this point in the history
  • Loading branch information
MatrixCrawler committed May 29, 2024
1 parent 9e51cbd commit 08d97eb
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
9 changes: 4 additions & 5 deletions lib/recent.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,10 @@ func prependRecentVersionToList(version, installPath, distribution string, r *Re
}
sliceToCheck = append([]string{version}, sliceToCheck...)

//TODO delete files that are falling of the first three slice elements
//if len(sliceToCheck) > 3 {
// deleteDownloadedBinaries(installPath, distribution, sliceToCheck[3:])
// sliceToCheck = sliceToCheck[0:2]
//}
if len(sliceToCheck) > 3 {
deleteDownloadedBinaries(installPath, distribution, sliceToCheck[3:])
sliceToCheck = sliceToCheck[0:2]
}

if distribution == distributionTerraform {
r.Terraform = sliceToCheck
Expand Down
24 changes: 24 additions & 0 deletions lib/recent_test.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package lib

import (
"errors"
"github.com/stretchr/testify/assert"
"os"
"path/filepath"
"strconv"
"testing"
)

Expand Down Expand Up @@ -124,3 +126,25 @@ func Test_prependNewVersion(t *testing.T) {
assert.Equal(t, "1.2.3", recentFileData.Terraform[1])
assert.Equal(t, "4.5.6", recentFileData.Terraform[2])
}

func Test_deleteDownloadedBinaries(t *testing.T) {
logger = InitLogger("DEBUG")
temp, err := os.MkdirTemp("", "recent-test")
if err != nil {
t.Errorf("Could not create temporary directory")
}
defer func(path string) {
_ = os.RemoveAll(path)
}(temp)
// Create 4 file stubs
for i := 0; i < 4; i++ {
_, err = os.Create(filepath.Join(temp, ConvertExecutableExt(TerraformPrefix+strconv.Itoa(i)+".0.0")))
if err != nil {
t.Error("Could not create dummy file")
t.Error(err)
}
}
deleteDownloadedBinaries(temp, distributionTerraform, []string{"4.0.0"})
_, err = os.Stat(filepath.Join(temp, ConvertExecutableExt(TerraformPrefix+"4.0.0")))
assert.True(t, errors.Is(err, os.ErrNotExist))
}

0 comments on commit 08d97eb

Please sign in to comment.