diff --git a/.golangci.yml b/.golangci.yml index 2d908ef..d94064b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,4 +1,7 @@ linters: + enable: + - testifylint + - usetesting disable: - errcheck diff --git a/diff_test.go b/diff_test.go index 8fc30c0..f30adfe 100644 --- a/diff_test.go +++ b/diff_test.go @@ -13,5 +13,5 @@ func TestPrettyDiff(t *testing.T) { []byte("line 1\nline 2"), []byte("line 1\nline 2 modified"), ) - assert.Nil(t, err) + assert.NoError(t, err) } diff --git a/graph_test.go b/graph_test.go index 4f4f5fe..7026342 100644 --- a/graph_test.go +++ b/graph_test.go @@ -7,6 +7,7 @@ import ( "github.com/dave/dst/decorator" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) var ( @@ -41,11 +42,11 @@ digraph { func TestCreateDot(t *testing.T) { node, err := decorator.Parse(testCode) - assert.Nil(t, err) + require.NoError(t, err) out := &bytes.Buffer{} err = CreateDot(node, out) - assert.Nil(t, err) + require.NoError(t, err) assert.Equal(t, strings.TrimSpace(expDot), out.String()) } diff --git a/main_test.go b/main_test.go index ce50546..6cbb75e 100644 --- a/main_test.go +++ b/main_test.go @@ -9,6 +9,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) var testFiles = map[string]string{ @@ -27,11 +28,7 @@ func main() { } func TestRunDir(t *testing.T) { - tmpDir, err := os.MkdirTemp("", "go") - if err != nil { - t.Fatal("Unexpected error creating temp dir", err) - } - defer os.RemoveAll(tmpDir) + tmpDir := t.TempDir() paths = &[]string{tmpDir} writeOutput = boolPtr(false) @@ -39,16 +36,14 @@ func TestRunDir(t *testing.T) { writeTestFiles(t, testFiles, false, tmpDir) - err = run() - assert.Nil(t, err) + err := run() + require.NoError(t, err) // Without writeOutput set to true, inputs should be unchanged for name, contents := range testFiles { path := filepath.Join(tmpDir, name) bytes, err := os.ReadFile(path) - if err != nil { - t.Fatal("Unexpected error reading test file", err) - } + require.NoError(t, err, "Unexpected error reading test file") assert.Equal( t, @@ -59,16 +54,14 @@ func TestRunDir(t *testing.T) { writeOutput = boolPtr(true) err = run() - assert.Nil(t, err) + require.NoError(t, err) // Now, files should be modified in place for name, contents := range testFiles { path := filepath.Join(tmpDir, name) bytes, err := os.ReadFile(path) - if err != nil { - t.Fatal("Unexpected error reading test file", err) - } + require.NoError(t, err, "Unexpected error reading test file") assert.NotEqual( t, @@ -79,11 +72,7 @@ func TestRunDir(t *testing.T) { } func TestRunFilePaths(t *testing.T) { - tmpDir, err := os.MkdirTemp("", "go") - if err != nil { - t.Fatal("Unexpected error creating temp dir", err) - } - defer os.RemoveAll(tmpDir) + tmpDir := t.TempDir() paths = &[]string{} writeOutput = boolPtr(true) @@ -91,17 +80,15 @@ func TestRunFilePaths(t *testing.T) { writeTestFiles(t, testFiles, true, tmpDir) - err = run() - assert.Nil(t, err) + err := run() + require.NoError(t, err) // Now, files should be modified in place for name, contents := range testFiles { path := filepath.Join(tmpDir, name) bytes, err := os.ReadFile(path) - if err != nil { - t.Fatal("Unexpected error reading test file", err) - } + require.NoError(t, err, "Unexpected error reading test file") assert.NotEqual( t, @@ -112,11 +99,7 @@ func TestRunFilePaths(t *testing.T) { } func TestRunListFiles(t *testing.T) { - tmpDir, err := os.MkdirTemp("", "go") - if err != nil { - t.Fatal("Unexpected error creating temp dir", err) - } - defer os.RemoveAll(tmpDir) + tmpDir := t.TempDir() paths = &[]string{} listFiles = boolPtr(true) @@ -132,7 +115,7 @@ func TestRunListFiles(t *testing.T) { writeTestFiles(t, updatedTestFiles, true, tmpDir) output, err := captureStdout(t, run) - assert.Nil(t, err) + require.NoError(t, err) // Only first two files appear in output list expectedPaths := []string{ @@ -171,9 +154,7 @@ func writeTestFiles( } err := os.WriteFile(path, []byte(contents), 0644) - if err != nil { - t.Fatal("Unexpected error writing test file", err) - } + require.NoError(t, err, "Unexpected error writing test file") } } @@ -184,18 +165,14 @@ func captureStdout(t *testing.T, f func() error) (string, error) { }() r, w, err := os.Pipe() - if err != nil { - t.Fatal("Unexpected error opening pipe", err) - } + require.NoError(t, err, "Unexpected error opening pipe") os.Stdout = w resultErr := f() w.Close() outBytes, err := io.ReadAll(r) - if err != nil { - t.Fatal("Unexpected error reading result", err) - } + require.NoError(t, err, "Unexpected error reading result") w.Close() return string(outBytes), resultErr diff --git a/shortener_test.go b/shortener_test.go index eefd805..3cf7994 100644 --- a/shortener_test.go +++ b/shortener_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) const fixturesDir = "_fixtures" @@ -16,7 +17,7 @@ const fixturesDir = "_fixtures" // environment variable set to "true". func TestShortener(t *testing.T) { info, err := os.ReadDir(fixturesDir) - assert.Nil(t, err) + require.NoError(t, err) fixturePaths := []string{} @@ -35,11 +36,7 @@ func TestShortener(t *testing.T) { ) } - dotDir, err := os.MkdirTemp("", "dot") - if err != nil { - t.Fatalf("Error creating output directory for dot files: %+v", err) - } - defer os.RemoveAll(dotDir) + dotDir := t.TempDir() shortener := NewShortener( ShortenerConfig{ @@ -57,38 +54,20 @@ func TestShortener(t *testing.T) { for _, fixturePath := range fixturePaths { contents, err := os.ReadFile(fixturePath) - if err != nil { - t.Fatalf( - "Unexpected error reading fixture %s: %+v", - fixturePath, - err, - ) - } + require.NoErrorf(t, err, "Unexpected error reading fixture %s", fixturePath) shortenedContents, err := shortener.Shorten(contents) - assert.Nil(t, err) + require.NoError(t, err) expectedPath := fixturePath[0:len(fixturePath)-3] + "__exp" + ".go" if os.Getenv("REGENERATE_TEST_OUTPUTS") == "true" { err := os.WriteFile(expectedPath, shortenedContents, 0644) - if err != nil { - t.Fatalf( - "Unexpected error writing output file %s: %+v", - expectedPath, - err, - ) - } + require.NoErrorf(t, err, "Unexpected error writing output file %s", expectedPath) } expectedContents, err := os.ReadFile(expectedPath) - if err != nil { - t.Fatalf( - "Unexpected error reading expected file %s: %+v", - expectedPath, - err, - ) - } + require.NoErrorf(t, err, "Unexpected error reading expected file %s", expectedPath) assert.Equal(t, string(expectedContents), string(shortenedContents)) }