From c308f1cd910d52acf73bbb6f6eb6bfe469916490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Mon, 18 Jan 2021 22:44:53 +0100 Subject: [PATCH] Prevent further use of SetPrepareCmd and InitCmdStubber --- .golangci.yml | 7 ++++++- internal/run/run.go | 2 +- pkg/cmd/issue/create/create_test.go | 3 +++ pkg/cmd/issue/list/list_test.go | 1 + pkg/cmd/issue/view/view_test.go | 4 ++++ pkg/cmd/pr/checkout/checkout_test.go | 13 +++++++++++++ pkg/cmd/pr/create/create_test.go | 13 +++++++++++++ pkg/cmd/pr/list/list_test.go | 1 + pkg/cmd/pr/view/view_test.go | 7 +++++++ pkg/cmd/repo/create/create_test.go | 6 ++++++ test/helpers.go | 1 + 11 files changed, 56 insertions(+), 2 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 57e53d6fb..ff7f37014 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,3 +1,8 @@ linters: enable: - gofmt + - gofmt + - nolintlint + +issues: + max-issues-per-linter: 0 + max-same-issues: 0 diff --git a/internal/run/run.go b/internal/run/run.go index bc2c92191..34fad8500 100644 --- a/internal/run/run.go +++ b/internal/run/run.go @@ -22,7 +22,7 @@ var PrepareCmd = func(cmd *exec.Cmd) Runnable { return &cmdWithStderr{cmd} } -// SetPrepareCmd overrides PrepareCmd and returns a func to revert it back +// Deprecated: use Stub func SetPrepareCmd(fn func(*exec.Cmd) Runnable) func() { origPrepare := PrepareCmd PrepareCmd = func(cmd *exec.Cmd) Runnable { diff --git a/pkg/cmd/issue/create/create_test.go b/pkg/cmd/issue/create/create_test.go index 21177164a..63eb552c9 100644 --- a/pkg/cmd/issue/create/create_test.go +++ b/pkg/cmd/issue/create/create_test.go @@ -294,6 +294,7 @@ func TestIssueCreate_continueInBrowser(t *testing.T) { }) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -422,6 +423,7 @@ func TestIssueCreate_web(t *testing.T) { defer http.Verify(t) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -447,6 +449,7 @@ func TestIssueCreate_webTitleBody(t *testing.T) { defer http.Verify(t) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} diff --git a/pkg/cmd/issue/list/list_test.go b/pkg/cmd/issue/list/list_test.go index 456741a91..3e46a0c0b 100644 --- a/pkg/cmd/issue/list/list_test.go +++ b/pkg/cmd/issue/list/list_test.go @@ -218,6 +218,7 @@ func TestIssueList_web(t *testing.T) { defer http.Verify(t) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} diff --git a/pkg/cmd/issue/view/view_test.go b/pkg/cmd/issue/view/view_test.go index 82890eac9..448e5aedd 100644 --- a/pkg/cmd/issue/view/view_test.go +++ b/pkg/cmd/issue/view/view_test.go @@ -74,6 +74,7 @@ func TestIssueView_web(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -110,6 +111,7 @@ func TestIssueView_web_numberArgWithHash(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -281,6 +283,7 @@ func TestIssueView_web_notFound(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -332,6 +335,7 @@ func TestIssueView_web_urlArg(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} diff --git a/pkg/cmd/pr/checkout/checkout_test.go b/pkg/cmd/pr/checkout/checkout_test.go index 2ca060587..b8d3c89b1 100644 --- a/pkg/cmd/pr/checkout/checkout_test.go +++ b/pkg/cmd/pr/checkout/checkout_test.go @@ -117,6 +117,7 @@ func TestPRCheckout_sameRepo(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git show-ref --verify -- refs/heads/feature": @@ -162,6 +163,7 @@ func TestPRCheckout_urlArg(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git show-ref --verify -- refs/heads/feature": @@ -201,6 +203,7 @@ func TestPRCheckout_urlArg_differentBase(t *testing.T) { http.StubRepoInfoResponse("OWNER", "REPO", "master") ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git show-ref --verify -- refs/heads/feature": @@ -253,6 +256,7 @@ func TestPRCheckout_branchArg(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git show-ref --verify -- refs/heads/feature": @@ -292,6 +296,7 @@ func TestPRCheckout_existingBranch(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git show-ref --verify -- refs/heads/feature": @@ -344,6 +349,7 @@ func TestPRCheckout_differentRepo_remoteExists(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git show-ref --verify -- refs/heads/feature": @@ -386,6 +392,7 @@ func TestPRCheckout_differentRepo(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git config branch.feature.merge": @@ -428,6 +435,7 @@ func TestPRCheckout_differentRepo_existingBranch(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git config branch.feature.merge": @@ -468,6 +476,7 @@ func TestPRCheckout_detachedHead(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git config branch.feature.merge": @@ -508,6 +517,7 @@ func TestPRCheckout_differentRepo_currentBranch(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git config branch.feature.merge": @@ -547,6 +557,7 @@ func TestPRCheckout_differentRepo_invalidBranchName(t *testing.T) { } } } } `)) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { t.Errorf("unexpected external invocation: %v", cmd.Args) return &test.OutputStub{} @@ -580,6 +591,7 @@ func TestPRCheckout_maintainerCanModify(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git config branch.feature.merge": @@ -621,6 +633,7 @@ func TestPRCheckout_recurseSubmodules(t *testing.T) { `)) ranCommands := [][]string{} + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case "git show-ref --verify -- refs/heads/feature": diff --git a/pkg/cmd/pr/create/create_test.go b/pkg/cmd/pr/create/create_test.go index 63963aa77..5ed0028d3 100644 --- a/pkg/cmd/pr/create/create_test.go +++ b/pkg/cmd/pr/create/create_test.go @@ -105,6 +105,7 @@ func TestPRCreate_nontty_web(t *testing.T) { http.StubRepoInfoResponse("OWNER", "REPO", "master") + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -178,6 +179,7 @@ func TestPRCreate_recover(t *testing.T) { assert.Equal(t, "recovered body", input["body"].(string)) })) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -254,6 +256,7 @@ func TestPRCreate_nontty(t *testing.T) { }), ) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -296,6 +299,7 @@ func TestPRCreate(t *testing.T) { assert.Equal(t, "feature", input["headRefName"].(string)) })) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -351,6 +355,7 @@ func TestPRCreate_createFork(t *testing.T) { assert.Equal(t, "monalisa:feature", input["headRefName"].(string)) })) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -502,6 +507,7 @@ func TestPRCreate_nonLegacyTemplate(t *testing.T) { assert.Equal(t, "- commit 1\n- commit 0\n\nFixes a bug and Closes an issue", input["body"].(string)) })) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -635,6 +641,7 @@ func TestPRCreate_metadata(t *testing.T) { eq(t, inputs["union"], true) })) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -662,6 +669,7 @@ func TestPRCreate_alreadyExists(t *testing.T) { ] } } } }`), ) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -688,6 +696,7 @@ func TestPRCreate_web(t *testing.T) { httpmock.GraphQL(`query UserCurrent\b`), httpmock.StringResponse(`{"data": {"viewer": {"login": "OWNER"} } }`)) + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -715,6 +724,7 @@ func TestPRCreate_web(t *testing.T) { } func Test_determineTrackingBranch_empty(t *testing.T) { + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -730,6 +740,7 @@ func Test_determineTrackingBranch_empty(t *testing.T) { } func Test_determineTrackingBranch_noMatch(t *testing.T) { + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -755,6 +766,7 @@ deadb00f refs/remotes/origin/feature`) // git show-ref --verify (ShowRefs) } func Test_determineTrackingBranch_hasMatch(t *testing.T) { + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() @@ -786,6 +798,7 @@ deadbeef refs/remotes/upstream/feature`) // git show-ref --verify (ShowRefs) } func Test_determineTrackingBranch_respectTrackingConfig(t *testing.T) { + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub cs, cmdTeardown := test.InitCmdStubber() defer cmdTeardown() diff --git a/pkg/cmd/pr/list/list_test.go b/pkg/cmd/pr/list/list_test.go index ab99e4aa9..2e05eb6bf 100644 --- a/pkg/cmd/pr/list/list_test.go +++ b/pkg/cmd/pr/list/list_test.go @@ -207,6 +207,7 @@ func TestPRList_web(t *testing.T) { defer http.Verify(t) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} diff --git a/pkg/cmd/pr/view/view_test.go b/pkg/cmd/pr/view/view_test.go index e61ccd614..aeaf5ee01 100644 --- a/pkg/cmd/pr/view/view_test.go +++ b/pkg/cmd/pr/view/view_test.go @@ -494,6 +494,7 @@ func TestPRView_web_currentBranch(t *testing.T) { http.Register(httpmock.GraphQL(`query PullRequestForBranch\b`), httpmock.FileResponse("./fixtures/prView.json")) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case `git config --get-regexp ^branch\.blueberries\.(remote|merge)$`: @@ -528,6 +529,7 @@ func TestPRView_web_noResultsForBranch(t *testing.T) { http.Register(httpmock.GraphQL(`query PullRequestForBranch\b`), httpmock.FileResponse("./fixtures/prView_NoActiveBranch.json")) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { switch strings.Join(cmd.Args, " ") { case `git config --get-regexp ^branch\.blueberries\.(remote|merge)$`: @@ -562,6 +564,7 @@ func TestPRView_web_numberArg(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -595,6 +598,7 @@ func TestPRView_web_numberArgWithHash(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -628,6 +632,7 @@ func TestPRView_web_urlArg(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -663,6 +668,7 @@ func TestPRView_web_branchArg(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -699,6 +705,7 @@ func TestPRView_web_branchWithOwnerArg(t *testing.T) { ) var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} diff --git a/pkg/cmd/repo/create/create_test.go b/pkg/cmd/repo/create/create_test.go index f9f3ea12d..70d6cc763 100644 --- a/pkg/cmd/repo/create/create_test.go +++ b/pkg/cmd/repo/create/create_test.go @@ -85,6 +85,7 @@ func TestRepoCreate(t *testing.T) { httpClient := &http.Client{Transport: reg} var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -170,6 +171,7 @@ func TestRepoCreate_outsideGitWorkDir(t *testing.T) { {}, {}, } + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { if len(cmdOutputs) == 0 { t.Fatal("Too many calls to git command") @@ -244,6 +246,7 @@ func TestRepoCreate_org(t *testing.T) { httpClient := &http.Client{Transport: reg} var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -326,6 +329,7 @@ func TestRepoCreate_orgWithTeam(t *testing.T) { httpClient := &http.Client{Transport: reg} var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -409,6 +413,7 @@ func TestRepoCreate_template(t *testing.T) { httpClient := &http.Client{Transport: reg} var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} @@ -489,6 +494,7 @@ func TestRepoCreate_withoutNameArg(t *testing.T) { httpClient := &http.Client{Transport: reg} var seenCmd *exec.Cmd + //nolint:staticcheck // SA1019 TODO: rewrite to use run.Stub restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable { seenCmd = cmd return &test.OutputStub{} diff --git a/test/helpers.go b/test/helpers.go index edfa25bda..5a493dcae 100644 --- a/test/helpers.go +++ b/test/helpers.go @@ -49,6 +49,7 @@ type CmdStubber struct { Calls []*exec.Cmd } +// Deprecated: use run.Stub func InitCmdStubber() (*CmdStubber, func()) { cs := CmdStubber{} teardown := run.SetPrepareCmd(createStubbedPrepareCmd(&cs))