From e4fe373a711e3d22e31783d0dbe76493816a77f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Mengu=C3=A9?= Date: Sun, 11 Jun 2023 23:26:15 +0200 Subject: [PATCH 1/4] assert/cmd/gty-migrate-from-testify: fix TestRun The test TestRun of the gty-migrate-from-testify tool apparently needs to have the original packages available to run. So let's install them ("go get" in GOPATH mode, in a temporary directory) before running the migration test. --- assert/cmd/gty-migrate-from-testify/main_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/assert/cmd/gty-migrate-from-testify/main_test.go b/assert/cmd/gty-migrate-from-testify/main_test.go index d7f5968..dfc93d7 100644 --- a/assert/cmd/gty-migrate-from-testify/main_test.go +++ b/assert/cmd/gty-migrate-from-testify/main_test.go @@ -2,6 +2,7 @@ package main import ( "os" + "os/exec" "testing" "github.com/google/go-cmp/cmp" @@ -11,6 +12,14 @@ import ( "gotest.tools/v3/golden" ) +func goGet(t *testing.T, pkg string) { + t.Log("go get", pkg) + cmd := exec.Command("go", "get", pkg) + if err := cmd.Run(); err != nil { + t.Fatal(err) + } +} + func TestRun(t *testing.T) { setupLogging(&options{}) dir := fs.NewDir(t, "test-run", @@ -19,6 +28,13 @@ func TestRun(t *testing.T) { defer env.Patch(t, "GO111MODULE", "off")() defer env.Patch(t, "GOPATH", dir.Path())() + + // Fetch dependencies in GOPATH mode + // Check list in testdata/full/some_test.go + goGet(t, "github.com/go-check/check") + goGet(t, "github.com/stretchr/testify/assert") + goGet(t, "github.com/stretchr/testify/require") + err := run(options{ pkgs: []string{"example.com/example"}, showLoaderErrors: true, From 97ac965ef945030c06a71bba07707f2b260c47bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Mengu=C3=A9?= Date: Sun, 11 Jun 2023 23:51:13 +0200 Subject: [PATCH 2/4] assert/cmd/gty-migrate-from-testify: fix incorrect import path for go-check Fix incorrect import path for go-check in gty-migrate-from-testify test: github.com/go-check/check => gopkg.in/check.v1 --- assert/cmd/gty-migrate-from-testify/main_test.go | 2 +- .../testdata/full-expected/some_test.go | 2 +- assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/assert/cmd/gty-migrate-from-testify/main_test.go b/assert/cmd/gty-migrate-from-testify/main_test.go index dfc93d7..2d526c2 100644 --- a/assert/cmd/gty-migrate-from-testify/main_test.go +++ b/assert/cmd/gty-migrate-from-testify/main_test.go @@ -31,7 +31,7 @@ func TestRun(t *testing.T) { // Fetch dependencies in GOPATH mode // Check list in testdata/full/some_test.go - goGet(t, "github.com/go-check/check") + goGet(t, "gopkg.in/check.v1") goGet(t, "github.com/stretchr/testify/assert") goGet(t, "github.com/stretchr/testify/require") diff --git a/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go b/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go index 1cbdf0f..b0d450a 100644 --- a/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go +++ b/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/go-check/check" + "gopkg.in/check.v1" "gotest.tools/v3/assert" "gotest.tools/v3/assert/cmp" ) diff --git a/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go b/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go index f510038..600ec8e 100644 --- a/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go +++ b/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go @@ -4,9 +4,9 @@ import ( "fmt" "testing" - "github.com/go-check/check" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "gopkg.in/check.v1" ) type mystruct struct { From fcde373fd36f2df6d120657d343b9eedbf15c69b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Mengu=C3=A9?= Date: Mon, 12 Jun 2023 00:59:18 +0200 Subject: [PATCH 3/4] assert/cmd/gty-migrate-from-testify: fix use of gopkg.in/check.v1 in test Fix test to use the gopkg.in/check.v1 API correctly. The func TestWithChecker(c *check.C) was incompatible with "go test". --- .../testdata/full-expected/some_test.go | 8 ++++++-- .../gty-migrate-from-testify/testdata/full/some_test.go | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go b/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go index b0d450a..78ae524 100644 --- a/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go +++ b/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go @@ -134,9 +134,13 @@ func TestTableTest(t *testing.T) { } } -func TestWithChecker(c *check.C) { +type MySuite struct{} + +var _ = check.Suite(&MySuite{}) + +func (s *MySuite) TestWithChecker(c *check.C) { var err error - assert.Check(c, err) + c.Assert(err, check.Equals, nil) } func HelperWithAssertTestingT(t assert.TestingT) { diff --git a/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go b/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go index 600ec8e..f7adb02 100644 --- a/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go +++ b/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go @@ -135,9 +135,13 @@ func TestTableTest(t *testing.T) { } } -func TestWithChecker(c *check.C) { +type MySuite struct{} + +var _ = check.Suite(&MySuite{}) + +func (s *MySuite) TestWithChecker(c *check.C) { var err error - assert.NoError(c, err) + c.Assert(err, check.Equals, nil) } func HelperWithAssertTestingT(t assert.TestingT) { From 0117718a563c707fe2b85c75c3427209dbf2d2e4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 29 Jun 2023 21:33:11 -0400 Subject: [PATCH 4/4] Move migrate command to separate module --- .circleci/config.yml | 9 +++++++-- .../migrate-from-testify}/call.go | 0 .../migrate-from-testify}/call_test.go | 0 .../migrate-from-testify}/doc.go | 0 .../migrate-from-testify}/flags.go | 0 cmd/migrate-from-testify/go.mod | 14 ++++++++++++++ cmd/migrate-from-testify/go.sum | 11 +++++++++++ .../migrate-from-testify}/main.go | 0 .../migrate-from-testify}/main_test.go | 15 --------------- .../migrate-from-testify}/migrate.go | 0 .../migrate-from-testify}/migrate_test.go | 0 .../testdata/full-expected/some_test.go | 0 .../testdata/full/some_test.go | 0 .../migrate-from-testify}/walktype.go | 0 14 files changed, 32 insertions(+), 17 deletions(-) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/call.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/call_test.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/doc.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/flags.go (100%) create mode 100644 cmd/migrate-from-testify/go.mod create mode 100644 cmd/migrate-from-testify/go.sum rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/main.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/main_test.go (76%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/migrate.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/migrate_test.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/testdata/full-expected/some_test.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/testdata/full/some_test.go (100%) rename {assert/cmd/gty-migrate-from-testify => cmd/migrate-from-testify}/walktype.go (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6a73f72..2ccdf76 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,22 +12,27 @@ workflows: executor: name: go/golang tag: 1.18-alpine - post-steps: &xgenerics + post-steps: &othermods - run: name: "test x/generics" working_directory: ./x/generics command: gotestsum -ftestname + - run: + name: "test cmd/migrate-from-testify" + working_directory: ./cmd/migrate-from-testify + command: gotestsum -ftestname - go/test: name: test-golang-1.19 executor: name: go/golang tag: 1.19-alpine - post-steps: *xgenerics + post-steps: *othermods - go/test: name: test-golang-1.20 executor: name: go/golang tag: 1.20-alpine + post-steps: *othermods - go/test: name: test-windows executor: windows diff --git a/assert/cmd/gty-migrate-from-testify/call.go b/cmd/migrate-from-testify/call.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/call.go rename to cmd/migrate-from-testify/call.go diff --git a/assert/cmd/gty-migrate-from-testify/call_test.go b/cmd/migrate-from-testify/call_test.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/call_test.go rename to cmd/migrate-from-testify/call_test.go diff --git a/assert/cmd/gty-migrate-from-testify/doc.go b/cmd/migrate-from-testify/doc.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/doc.go rename to cmd/migrate-from-testify/doc.go diff --git a/assert/cmd/gty-migrate-from-testify/flags.go b/cmd/migrate-from-testify/flags.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/flags.go rename to cmd/migrate-from-testify/flags.go diff --git a/cmd/migrate-from-testify/go.mod b/cmd/migrate-from-testify/go.mod new file mode 100644 index 0000000..3bc5675 --- /dev/null +++ b/cmd/migrate-from-testify/go.mod @@ -0,0 +1,14 @@ +module gotest.tools/cmd/migrate-from-testify + +go 1.19 + +require ( + github.com/google/go-cmp v0.5.9 + golang.org/x/tools v0.10.0 + gotest.tools/v3 v3.5.0 +) + +require ( + golang.org/x/mod v0.11.0 // indirect + golang.org/x/sys v0.9.0 // indirect +) diff --git a/cmd/migrate-from-testify/go.sum b/cmd/migrate-from-testify/go.sum new file mode 100644 index 0000000..fcb950e --- /dev/null +++ b/cmd/migrate-from-testify/go.sum @@ -0,0 +1,11 @@ +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= +golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= diff --git a/assert/cmd/gty-migrate-from-testify/main.go b/cmd/migrate-from-testify/main.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/main.go rename to cmd/migrate-from-testify/main.go diff --git a/assert/cmd/gty-migrate-from-testify/main_test.go b/cmd/migrate-from-testify/main_test.go similarity index 76% rename from assert/cmd/gty-migrate-from-testify/main_test.go rename to cmd/migrate-from-testify/main_test.go index 2d526c2..a3326b2 100644 --- a/assert/cmd/gty-migrate-from-testify/main_test.go +++ b/cmd/migrate-from-testify/main_test.go @@ -2,7 +2,6 @@ package main import ( "os" - "os/exec" "testing" "github.com/google/go-cmp/cmp" @@ -12,14 +11,6 @@ import ( "gotest.tools/v3/golden" ) -func goGet(t *testing.T, pkg string) { - t.Log("go get", pkg) - cmd := exec.Command("go", "get", pkg) - if err := cmd.Run(); err != nil { - t.Fatal(err) - } -} - func TestRun(t *testing.T) { setupLogging(&options{}) dir := fs.NewDir(t, "test-run", @@ -29,12 +20,6 @@ func TestRun(t *testing.T) { defer env.Patch(t, "GO111MODULE", "off")() defer env.Patch(t, "GOPATH", dir.Path())() - // Fetch dependencies in GOPATH mode - // Check list in testdata/full/some_test.go - goGet(t, "gopkg.in/check.v1") - goGet(t, "github.com/stretchr/testify/assert") - goGet(t, "github.com/stretchr/testify/require") - err := run(options{ pkgs: []string{"example.com/example"}, showLoaderErrors: true, diff --git a/assert/cmd/gty-migrate-from-testify/migrate.go b/cmd/migrate-from-testify/migrate.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/migrate.go rename to cmd/migrate-from-testify/migrate.go diff --git a/assert/cmd/gty-migrate-from-testify/migrate_test.go b/cmd/migrate-from-testify/migrate_test.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/migrate_test.go rename to cmd/migrate-from-testify/migrate_test.go diff --git a/assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go b/cmd/migrate-from-testify/testdata/full-expected/some_test.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/testdata/full-expected/some_test.go rename to cmd/migrate-from-testify/testdata/full-expected/some_test.go diff --git a/assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go b/cmd/migrate-from-testify/testdata/full/some_test.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/testdata/full/some_test.go rename to cmd/migrate-from-testify/testdata/full/some_test.go diff --git a/assert/cmd/gty-migrate-from-testify/walktype.go b/cmd/migrate-from-testify/walktype.go similarity index 100% rename from assert/cmd/gty-migrate-from-testify/walktype.go rename to cmd/migrate-from-testify/walktype.go