test(808): do not run golden file tests on Windows

Steve Moyer created

Change summary

commands/env_test.go  | 60 +++++++++++++++++++++++++++++++++++++++++++++
commands/root_test.go | 55 ++---------------------------------------
2 files changed, 63 insertions(+), 52 deletions(-)

Detailed changes

commands/env_test.go 🔗

@@ -0,0 +1,60 @@
+package commands_test
+
+import (
+	"bytes"
+	"context"
+	"flag"
+	"io/ioutil"
+	"os"
+	"testing"
+
+	"github.com/MichaelMure/git-bug/commands"
+	"github.com/MichaelMure/git-bug/repository"
+	"github.com/spf13/cobra"
+	"github.com/stretchr/testify/require"
+)
+
+var update = flag.Bool("update", false, "pass -update to the test runner to update golden files")
+
+type testEnv struct {
+	cwd  string
+	repo *repository.GoGitRepo
+	cmd  *cobra.Command
+	out  *bytes.Buffer
+}
+
+func newTestEnv(t *testing.T) *testEnv {
+	t.Helper()
+
+	cwd, err := ioutil.TempDir("", "")
+	require.NoError(t, err)
+	t.Cleanup(func() {
+		require.NoError(t, os.RemoveAll(cwd))
+	})
+
+	repo, err := repository.InitGoGitRepo(cwd, commands.GitBugNamespace)
+	require.NoError(t, err)
+	t.Cleanup(func() {
+		require.NoError(t, repo.Close())
+	})
+
+	out := new(bytes.Buffer)
+	cmd := commands.NewRootCommand()
+	cmd.SetArgs([]string{})
+	cmd.SetErr(out)
+	cmd.SetOut(out)
+
+	return &testEnv{
+		cwd:  cwd,
+		repo: repo,
+		cmd:  cmd,
+		out:  out,
+	}
+}
+
+func (e *testEnv) Execute(t *testing.T) {
+	t.Helper()
+
+	ctx := context.WithValue(context.Background(), "cwd", e.cwd)
+	require.NoError(t, e.cmd.ExecuteContext(ctx))
+}

commands/root_test.go 🔗

@@ -1,70 +1,21 @@
+//go:build !windows
+
 package commands_test
 
 import (
 	"bytes"
-	"context"
-	"flag"
 	"io/ioutil"
-	"os"
 	"path/filepath"
 	"testing"
 
-	"github.com/MichaelMure/git-bug/commands"
-	"github.com/MichaelMure/git-bug/repository"
-	"github.com/spf13/cobra"
 	"github.com/stretchr/testify/require"
 )
 
-var update = flag.Bool("update", false, "pass -update to the test runner to update golden files")
-
-type testEnv struct {
-	cwd  string
-	repo *repository.GoGitRepo
-	cmd  *cobra.Command
-	out  *bytes.Buffer
-}
-
-func newTestEnv(t *testing.T) *testEnv {
-	t.Helper()
-
-	cwd, err := ioutil.TempDir("", "")
-	require.NoError(t, err)
-	t.Cleanup(func() {
-		require.NoError(t, os.RemoveAll(cwd))
-	})
-
-	repo, err := repository.InitGoGitRepo(cwd, commands.GitBugNamespace)
-	require.NoError(t, err)
-	t.Cleanup(func() {
-		require.NoError(t, repo.Close())
-	})
-
-	out := new(bytes.Buffer)
-	cmd := commands.NewRootCommand()
-	cmd.SetArgs([]string{})
-	cmd.SetErr(out)
-	cmd.SetOut(out)
-
-	return &testEnv{
-		cwd:  cwd,
-		repo: repo,
-		cmd:  cmd,
-		out:  out,
-	}
-}
-
-func (e *testEnv) Execute(t *testing.T) {
-	t.Helper()
-
-	ctx := context.WithValue(context.Background(), "cwd", e.cwd)
-	require.NoError(t, e.cmd.ExecuteContext(ctx))
-}
-
 func requireGoldenFileEqual(t *testing.T, path string, act []byte) {
 	t.Helper()
 
 	// Replace Windows line terminators
-	// act = []byte(strings.ReplaceAll(string(act), "\r\n", "\n"))
+	act = bytes.ReplaceAll(act, []byte{'\r'}, []byte{})
 
 	path = filepath.Join("testdata", path)