Skip to content

Commit

Permalink
feat: tests in parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
juev committed Dec 6, 2023
1 parent e32c86f commit 3ef853a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 36 deletions.
5 changes: 1 addition & 4 deletions gobrew.go
Original file line number Diff line number Diff line change
Expand Up @@ -798,10 +798,7 @@ func (gb *GoBrew) getGolangVersions() (result []string) {
func doRequest(url string) (data []byte) {
client := &http.Client{}
request, err := http.NewRequest("GET", url, nil)
if err != nil {
color.Errorln("==> [Error] Cannot create request:", err.Error())
return
}
utils.CheckError(err, "==> [Error] Cannot create request")

request.Header.Set("User-Agent", "gobrew")

Expand Down
54 changes: 22 additions & 32 deletions gobrew_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
)

func TestNewGobrewHomeDirUsesUserHomeDir(t *testing.T) {
t.Parallel()
homeDir, err := os.UserHomeDir()

if err != nil {
Expand All @@ -23,13 +24,15 @@ func TestNewGobrewHomeDirUsesUserHomeDir(t *testing.T) {
}

func TestNewGobrewHomeDirDefaultsToHome(t *testing.T) {
t.Parallel()
var envName string

if runtime.GOOS == "windows" {
switch runtime.GOOS {
case "windows":
envName = "USERPROFILE"
} else if runtime.GOOS == "plan9" {
case "plan9":
envName = "home"
} else {
default:
envName = "HOME"
}

Expand All @@ -46,6 +49,7 @@ func TestNewGobrewHomeDirDefaultsToHome(t *testing.T) {
}

func TestNewGobrewHomeDirUsesGoBrewRoot(t *testing.T) {
t.Parallel()
oldEnvValue := os.Getenv("GOBREW_ROOT")
defer func() {
_ = os.Setenv("GOBREW_ROOT", oldEnvValue)
Expand All @@ -59,6 +63,7 @@ func TestNewGobrewHomeDirUsesGoBrewRoot(t *testing.T) {
}

func TestJudgeVersion(t *testing.T) {
t.Parallel()
tests := []struct {
version string
wantVersion string
Expand Down Expand Up @@ -88,8 +93,8 @@ func TestJudgeVersion(t *testing.T) {
version: "1.18@dev-latest",
wantVersion: "1.18.10",
},
// // following 2 tests fail upon new version release
// // commenting out for now as the tool is stable
// following 2 tests fail upon new version release
// commenting out for now as the tool is stable
// {
// version: "latest",
// wantVersion: "1.19.1",
Expand All @@ -100,7 +105,9 @@ func TestJudgeVersion(t *testing.T) {
// },
}
for _, test := range tests {
test := test
t.Run(test.version, func(t *testing.T) {
t.Parallel()
gb := NewGoBrew()
version := gb.judgeVersion(test.version)
assert.Equal(t, test.wantVersion, version)
Expand All @@ -110,13 +117,15 @@ func TestJudgeVersion(t *testing.T) {
}

func TestListVersions(t *testing.T) {
t.Parallel()
tempDir := t.TempDir()
gb := NewGoBrewDirectory(tempDir)

gb.ListVersions()
}

func TestExistVersion(t *testing.T) {
t.Parallel()
tempDir := t.TempDir()
gb := NewGoBrewDirectory(tempDir)

Expand All @@ -126,37 +135,25 @@ func TestExistVersion(t *testing.T) {
}

func TestInstallAndExistVersion(t *testing.T) {
tempDir := filepath.Join(os.TempDir(), "gobrew-test-install-uninstall")
err := os.MkdirAll(tempDir, os.ModePerm)
if err != nil {
t.Skip("could not create directory for gobrew update:", err)
return
}

t.Parallel()
tempDir := t.TempDir()
gb := NewGoBrewDirectory(tempDir)
gb.Install("1.19")
exists := gb.existsVersion("1.19")
assert.Equal(t, true, exists)
}

func TestUnInstallThenNotExistVersion(t *testing.T) {
tempDir := filepath.Join(os.TempDir(), "gobrew-test-install-uninstall")
err := os.MkdirAll(tempDir, os.ModePerm)
if err != nil {
t.Skip("could not create directory for gobrew update:", err)
return
}
defer func() {
_ = os.RemoveAll(tempDir)
}()

t.Parallel()
tempDir := t.TempDir()
gb := NewGoBrewDirectory(tempDir)
gb.Uninstall("1.19")
exists := gb.existsVersion("1.19")
assert.Equal(t, false, exists)
}

func TestUpgrade(t *testing.T) {
t.Parallel()
tempDir := t.TempDir()

gb := NewGoBrewDirectory(tempDir)
Expand All @@ -183,6 +180,7 @@ func TestUpgrade(t *testing.T) {
}

func TestDoNotUpgradeLatestVersion(t *testing.T) {
t.Parallel()
t.Skip("skipping test...needs to rewrite")
tempDir := t.TempDir()

Expand Down Expand Up @@ -211,16 +209,8 @@ func TestDoNotUpgradeLatestVersion(t *testing.T) {
}

func TestInteractive(t *testing.T) {
tempDir := filepath.Join(os.TempDir(), "gobrew-test-interactive")
err := os.MkdirAll(tempDir, os.ModePerm)
if err != nil {
t.Skip("could not create directory for gobrew update:", err)
return
}

defer func() {
_ = os.RemoveAll(tempDir)
}()
t.Parallel()
tempDir := t.TempDir()

gb := NewGoBrewDirectory(tempDir)
currentVersion := gb.CurrentVersion()
Expand Down

0 comments on commit 3ef853a

Please sign in to comment.