Преглед изворни кода

Simplify tests by using T.TempDir (#1186)

Oleksandr Redko пре 2 година
родитељ
комит
6dbb0c5af5
5 измењених фајлова са 10 додато и 37 уклоњено
  1. 3 9
      report/csv_test.go
  2. 3 11
      report/json_test.go
  3. 1 6
      report/report_test.go
  4. 3 10
      report/sarif_test.go
  5. 0 1
      testdata/tmp/note.txt

+ 3 - 9
report/csv_test.go

@@ -1,6 +1,7 @@
 package report
 
 import (
+	"bytes"
 	"os"
 	"path/filepath"
 	"strings"
@@ -45,42 +46,35 @@ func TestWriteCSV(t *testing.T) {
 	}
 
 	for _, test := range tests {
-		tmpfile, err := os.Create(filepath.Join(tmpPath, test.testReportName+".csv"))
+		tmpfile, err := os.Create(filepath.Join(t.TempDir(), test.testReportName+".csv"))
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		err = writeCsv(test.findings, tmpfile)
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		got, err := os.ReadFile(tmpfile.Name())
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		if test.wantEmpty {
 			if len(got) > 0 {
 				t.Errorf("Expected empty file, got %s", got)
 			}
-			os.Remove(tmpfile.Name())
 			continue
 		}
 		want, err := os.ReadFile(test.expected)
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 
-		if string(got) != string(want) {
+		if !bytes.Equal(got, want) {
 			err = os.WriteFile(strings.Replace(test.expected, ".csv", ".got.csv", 1), got, 0644)
 			if err != nil {
 				t.Error(err)
 			}
 			t.Errorf("got %s, want %s", string(got), string(want))
 		}
-
-		os.Remove(tmpfile.Name())
 	}
 }

+ 3 - 11
report/json_test.go

@@ -1,6 +1,7 @@
 package report
 
 import (
+	"bytes"
 	"os"
 	"path/filepath"
 	"strings"
@@ -46,44 +47,35 @@ func TestWriteJSON(t *testing.T) {
 	}
 
 	for _, test := range tests {
-		// create tmp file using os.TempDir()
-		tmpfile, err := os.Create(filepath.Join(tmpPath, test.testReportName+".json"))
+		tmpfile, err := os.Create(filepath.Join(t.TempDir(), test.testReportName+".json"))
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		err = writeJson(test.findings, tmpfile)
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		got, err := os.ReadFile(tmpfile.Name())
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		if test.wantEmpty {
 			if len(got) > 0 {
-				os.Remove(tmpfile.Name())
 				t.Errorf("Expected empty file, got %s", got)
 			}
-			os.Remove(tmpfile.Name())
 			continue
 		}
 		want, err := os.ReadFile(test.expected)
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 
-		if string(got) != string(want) {
+		if !bytes.Equal(got, want) {
 			err = os.WriteFile(strings.Replace(test.expected, ".json", ".got.json", 1), got, 0644)
 			if err != nil {
 				t.Error(err)
 			}
 			t.Errorf("got %s, want %s", string(got), string(want))
 		}
-
-		os.Remove(tmpfile.Name())
 	}
 }

+ 1 - 6
report/report_test.go

@@ -11,7 +11,6 @@ import (
 
 const (
 	expectPath = "../testdata/expected/"
-	tmpPath    = "../testdata/tmp"
 )
 
 func TestReport(t *testing.T) {
@@ -80,22 +79,18 @@ func TestReport(t *testing.T) {
 	}
 
 	for i, test := range tests {
-		tmpfile, err := os.Create(filepath.Join(tmpPath, strconv.Itoa(i)+test.ext))
+		tmpfile, err := os.Create(filepath.Join(t.TempDir(), strconv.Itoa(i)+test.ext))
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		err = Write(test.findings, config.Config{}, test.ext, tmpfile.Name())
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		got, err := os.ReadFile(tmpfile.Name())
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
-		os.Remove(tmpfile.Name())
 
 		if len(got) == 0 && !test.wantEmpty {
 			t.Errorf("got empty file with extension " + test.ext)

+ 3 - 10
report/sarif_test.go

@@ -1,6 +1,7 @@
 package report
 
 import (
+	"bytes"
 	"fmt"
 	"os"
 	"path/filepath"
@@ -48,10 +49,8 @@ func TestWriteSarif(t *testing.T) {
 	}
 
 	for _, test := range tests {
-		// create tmp file using os.TempDir()
-		tmpfile, err := os.Create(filepath.Join(tmpPath, test.testReportName+".json"))
+		tmpfile, err := os.Create(filepath.Join(t.TempDir(), test.testReportName+".json"))
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		viper.Reset()
@@ -76,29 +75,24 @@ func TestWriteSarif(t *testing.T) {
 		err = writeSarif(cfg, test.findings, tmpfile)
 		fmt.Println(cfg)
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		got, err := os.ReadFile(tmpfile.Name())
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 		if test.wantEmpty {
 			if len(got) > 0 {
-				os.Remove(tmpfile.Name())
 				t.Errorf("Expected empty file, got %s", got)
 			}
-			os.Remove(tmpfile.Name())
 			continue
 		}
 		want, err := os.ReadFile(test.expected)
 		if err != nil {
-			os.Remove(tmpfile.Name())
 			t.Error(err)
 		}
 
-		if string(got) != string(want) {
+		if !bytes.Equal(got, want) {
 			err = os.WriteFile(strings.Replace(test.expected, ".sarif", ".got.sarif", 1), got, 0644)
 			if err != nil {
 				t.Error(err)
@@ -106,6 +100,5 @@ func TestWriteSarif(t *testing.T) {
 			t.Errorf("got %s, want %s", string(got), string(want))
 		}
 
-		os.Remove(tmpfile.Name())
 	}
 }

+ 0 - 1
testdata/tmp/note.txt

@@ -1 +0,0 @@
-nothing should be saved here