diff --git a/.golangci.yml b/.golangci.yml index 1b95a5a99245..af8606be9e46 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -37,6 +37,7 @@ linters: - lll - misspell - nestif + - nolintlint - recvcheck - revive - staticcheck @@ -97,6 +98,9 @@ linters: nestif: # TODO: consider reducing this value. min-complexity: 12 + nolintlint: + allow-unused: false + require-specific: true revive: rules: - name: package-comments @@ -115,6 +119,8 @@ linters: exclusions: warn-unused: true # Log a warning if an exclusion path is unused. rules: + - path: (.*\.go) + text: "directive `// nolint:.*` should be written without leading space" - path: (sys/.*/init.*|sys/targets/common.go) text: "don't use ALL_CAPS in Go names|should not use ALL_CAPS in Go names" - path: (prog/.*) diff --git a/dashboard/app/access_test.go b/dashboard/app/access_test.go index 1141f40ee2c3..440f81f9bc66 100644 --- a/dashboard/app/access_test.go +++ b/dashboard/app/access_test.go @@ -43,7 +43,7 @@ func TestAccessConfig(t *testing.T) { } // TestAccess checks that all UIs respect access levels. -// nolint: funlen, goconst, gocyclo +// nolint: funlen, gocyclo func TestAccess(t *testing.T) { c := NewCtx(t) defer c.Close() diff --git a/dashboard/app/email_test.go b/dashboard/app/email_test.go index b9cdfb88c54c..158ef09f8a48 100644 --- a/dashboard/app/email_test.go +++ b/dashboard/app/email_test.go @@ -1063,7 +1063,6 @@ func TestBugFromSubjectInference(t *testing.T) { c.expectEQ(strings.Contains(email.Body, "This crash does not have a reproducer"), true) } -// nolint: funlen func TestEmailLinks(t *testing.T) { c := NewCtx(t) defer c.Close() diff --git a/dashboard/app/graphs.go b/dashboard/app/graphs.go index 068259135413..77dcaf13a27f 100644 --- a/dashboard/app/graphs.go +++ b/dashboard/app/graphs.go @@ -122,7 +122,6 @@ type uiMultiInput struct { Vals []string } -// nolint: dupl func handleKernelHealthGraph(c context.Context, w http.ResponseWriter, r *http.Request) error { hdr, err := commonHeader(c, r, w, "") if err != nil { @@ -139,7 +138,6 @@ func handleKernelHealthGraph(c context.Context, w http.ResponseWriter, r *http.R return serveTemplate(w, "graph_bugs.html", data) } -// nolint: dupl func handleGraphLifetimes(c context.Context, w http.ResponseWriter, r *http.Request) error { hdr, err := commonHeader(c, r, w, "") if err != nil { @@ -172,7 +170,6 @@ func handleGraphLifetimes(c context.Context, w http.ResponseWriter, r *http.Requ return serveTemplate(w, "graph_lifetimes.html", data) } -// nolint: dupl func handleFoundBugsGraph(c context.Context, w http.ResponseWriter, r *http.Request) error { hdr, err := commonHeader(c, r, w, "") if err != nil { @@ -352,7 +349,6 @@ func createFoundBugs(c context.Context, bugs []*Bug) *uiGraph { const projected = "projected" // This is linux-specific at the moment, potentially can move to pkg/report/crash // and extend to other OSes. - // nolint: lll types := []struct { name string color string diff --git a/dashboard/app/jobs.go b/dashboard/app/jobs.go index 9c1a9001efdd..85fc67a71bc0 100644 --- a/dashboard/app/jobs.go +++ b/dashboard/app/jobs.go @@ -1032,7 +1032,6 @@ func resetJobs(c context.Context, req *dashapi.JobResetReq) error { } // doneJob is called by syz-ci to mark completion of a job. -// nolint: gocyclo func doneJob(c context.Context, req *dashapi.JobDoneReq) error { jobID := req.ID jobKey, err := jobID2Key(c, req.ID) diff --git a/dashboard/app/main.go b/dashboard/app/main.go index 0c2c655c358e..ce281a4fbbb5 100644 --- a/dashboard/app/main.go +++ b/dashboard/app/main.go @@ -1072,7 +1072,7 @@ func handleAdmin(c context.Context, w http.ResponseWriter, r *http.Request) erro } // handleBug serves page about a single bug (which is passed in id argument). -// nolint: funlen, gocyclo +// nolint: gocyclo func handleBug(c context.Context, w http.ResponseWriter, r *http.Request) error { bug, err := findBugByID(c, r) if err != nil { @@ -1185,13 +1185,11 @@ func handleBug(c context.Context, w http.ResponseWriter, r *http.Request) error // - no fix bisections have been performed on the bug // - fix bisection was performed but resulted in a crash on HEAD // - there have been infrastructure problems during the job execution - // nolint: dupl if len(bugDetails.BisectFixJobs) > 1 || len(bugDetails.BisectFixJobs) > 0 && bugDetails.BisectFixJob == nil { data.Sections = append(data.Sections, makeCollapsibleBugJobs( "Fix bisection attempts", bugDetails.BisectFixJobs)) } // Similarly, a cause bisection can be repeated if there were infrastructure problems. - // nolint: dupl if len(bugDetails.BisectCauseJobs) > 1 || len(bugDetails.BisectCauseJobs) > 0 && bugDetails.BisectCauseJob == nil { data.Sections = append(data.Sections, makeCollapsibleBugJobs( "Cause bisection attempts", bugDetails.BisectCauseJobs)) diff --git a/dashboard/app/reporting.go b/dashboard/app/reporting.go index c5e6ff1e3891..61bee541d552 100644 --- a/dashboard/app/reporting.go +++ b/dashboard/app/reporting.go @@ -475,7 +475,6 @@ func reproStr(level dashapi.ReproLevel) string { } } -// nolint: gocyclo func createBugReport(c context.Context, bug *Bug, crash *Crash, crashKey *db.Key, bugReporting *BugReporting, reporting *Reporting) (*dashapi.BugReport, error) { var job *Job diff --git a/dashboard/app/reporting_email.go b/dashboard/app/reporting_email.go index b699074fbbbf..236a958572b9 100644 --- a/dashboard/app/reporting_email.go +++ b/dashboard/app/reporting_email.go @@ -686,7 +686,6 @@ func processInboxEmail(c context.Context, msg *email.Email, inbox *PerInboxConfi return forwardEmail(c, msg, missing, []string{cc, msg.Author}, "", msg.MessageID) } -// nolint: gocyclo func processIncomingEmail(c context.Context, msg *email.Email) error { // Ignore any incoming emails from syzbot itself. if ownEmail(c) == msg.Author { diff --git a/dashboard/app/subsystem_test.go b/dashboard/app/subsystem_test.go index 065b01d9c28a..845bc41f3760 100644 --- a/dashboard/app/subsystem_test.go +++ b/dashboard/app/subsystem_test.go @@ -286,7 +286,6 @@ func TestNoUserSubsystemOverwrite(t *testing.T) { expectLabels(t, client, extID, "subsystems:subsystemA") } -// nolint: goconst func TestPeriodicSubsystemReminders(t *testing.T) { c := NewCtx(t) defer c.Close() @@ -722,7 +721,6 @@ func TestSubsystemRemindersNoReport(t *testing.T) { client.expectNoEmail() } -// nolint: goconst func TestNoRemindersWithDiscussions(t *testing.T) { c := NewCtx(t) defer c.Close() @@ -827,7 +825,6 @@ You may send multiple commands in a single email message. `, bugToExtID["WARNING: a first"], bugToExtID["WARNING: a third"])) } -// nolint: goconst func TestSkipSubsystemReminders(t *testing.T) { c := NewCtx(t) defer c.Close() @@ -999,7 +996,6 @@ You may send multiple commands in a single email message. `, bugToExtID["WARNING: a first"], bugToExtID["WARNING: a second"])) } -// nolint: goconst func TestRemindersPriority(t *testing.T) { c := NewCtx(t) defer c.Close() diff --git a/executor/gen_linux_amd64.go b/executor/gen_linux_amd64.go index c552779b857e..021d538adcfa 100644 --- a/executor/gen_linux_amd64.go +++ b/executor/gen_linux_amd64.go @@ -1,7 +1,6 @@ // Copyright 2017 syzkaller project authors. All rights reserved. // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. -// nolint: lll //go:generate bash -c "gcc -Wa,--noexecstack -DGOARCH_$GOARCH=1 kvm_gen.cc kvm_amd64.S -o kvm_gen && ./kvm_gen > kvm_amd64.S.h && rm ./kvm_gen" package executor diff --git a/pkg/build/fuchsia.go b/pkg/build/fuchsia.go index c33bfab126eb..180db93b3172 100644 --- a/pkg/build/fuchsia.go +++ b/pkg/build/fuchsia.go @@ -27,7 +27,6 @@ func syzRoot() (string, error) { return filepath.Abs(filepath.Join(filepath.Dir(selfPath), "../..")) } -// nolint: goconst // to ignore "out/" func (fu fuchsia) build(params Params) (ImageDetails, error) { syzDir, err := syzRoot() if err != nil { diff --git a/pkg/cover/cover_test.go b/pkg/cover/cover_test.go index 169dbf08c4f0..1d179ebd3f10 100644 --- a/pkg/cover/cover_test.go +++ b/pkg/cover/cover_test.go @@ -67,7 +67,7 @@ func TestMergeDiff(t *testing.T) { func TestPerLineCoverage(t *testing.T) { const End = backend.LineEnd // Start line:col - end line:col. - // nolint + // nolint: govet covered := []backend.Range{ // Just covered. {1, 2, 1, 10}, @@ -88,7 +88,7 @@ func TestPerLineCoverage(t *testing.T) { {42, 20, 42, 30}, {42, 10, 42, 25}, } - // nolint + // nolint:govet uncovered := []backend.Range{ {10, 20, 10, 30}, {11, 0, 11, 20}, diff --git a/pkg/csource/options_test.go b/pkg/csource/options_test.go index f7812e6b96c4..5fdd59c8c777 100644 --- a/pkg/csource/options_test.go +++ b/pkg/csource/options_test.go @@ -28,7 +28,7 @@ func TestParseOptions(t *testing.T) { func TestParseOptionsCanned(t *testing.T) { // Dashboard stores csource options with syzkaller reproducers, // so we need to be able to parse old formats. - // nolint: lll, dupl + // nolint: lll canned := map[string]Options{ `{"threaded":true,"collide":true,"repeat":true,"procs":10,"sandbox":"namespace", "fault":true,"fault_call":1,"fault_nth":2,"tun":true,"tmpdir":true,"cgroups":true, diff --git a/pkg/ifuzz/x86/gen/gen.go b/pkg/ifuzz/x86/gen/gen.go index b79b8dabf3db..bcbcf72ad8e5 100644 --- a/pkg/ifuzz/x86/gen/gen.go +++ b/pkg/ifuzz/x86/gen/gen.go @@ -200,7 +200,7 @@ func (err errSkip) Error() string { return string(err) } -// nolint: gocyclo, gocognit, funlen +// nolint: gocyclo, funlen func parsePattern(insn *x86.Insn, vals []string) error { if insn.Opcode != nil { return fmt.Errorf("PATTERN is already parsed for the instruction") diff --git a/pkg/report/freebsd.go b/pkg/report/freebsd.go index 37c50eaf8bd5..acb1aac8835e 100644 --- a/pkg/report/freebsd.go +++ b/pkg/report/freebsd.go @@ -32,7 +32,6 @@ func (ctx *freebsd) Symbolize(rep *Report) error { var freebsdStackParams = &stackParams{} -// nolint: goconst var freebsdOopses = append([]*oops{ { []byte("Fatal trap"), diff --git a/pkg/report/linux.go b/pkg/report/linux.go index c61b2bc37614..f4266658ccfc 100644 --- a/pkg/report/linux.go +++ b/pkg/report/linux.go @@ -251,7 +251,7 @@ func (ctx *linux) reportMinLines(oopsLine []byte) int { } // Yes, it is complex, but all state and logic are tightly coupled. It's unclear how to simplify it. -// nolint: gocyclo, gocognit +// nolint: gocyclo func (ctx *linux) findReport(output []byte, oops *oops, startPos int, context string, useQuestionable bool) ( endPos, reportEnd int, report []byte, prefix [][]byte) { // Prepend 5 lines preceding start of the report, diff --git a/pkg/stat/sample/pvalue.go b/pkg/stat/sample/pvalue.go index acfff4bc4f5a..9428c8f24a08 100644 --- a/pkg/stat/sample/pvalue.go +++ b/pkg/stat/sample/pvalue.go @@ -4,7 +4,7 @@ package sample // TODO: I didn't find the substitution as of Feb 2023. Let's keep it as is while it works. -import "golang.org/x/perf/benchstat" // nolint:all +import "golang.org/x/perf/benchstat" // nolint:staticcheck // Mann-Whitney U test. func UTest(old, new *Sample) (pval float64, err error) { diff --git a/pkg/updater/updater.go b/pkg/updater/updater.go index 00181f7329dd..bf7b816ca6f2 100644 --- a/pkg/updater/updater.go +++ b/pkg/updater/updater.go @@ -242,7 +242,6 @@ func (upd *Updater) pollAndBuild(lastCommit string) string { return commit.Hash } -// nolint: goconst // "GOPATH=" looks good here, ignore func (upd *Updater) build(commit *vcs.Commit) error { // syzkaller testing may be slowed down by concurrent kernel builds too much // and cause timeout failures, so we serialize it with other builds: diff --git a/pkg/validator/validator_test.go b/pkg/validator/validator_test.go index ffe9356005fb..d2fc188cd46c 100644 --- a/pkg/validator/validator_test.go +++ b/pkg/validator/validator_test.go @@ -24,7 +24,6 @@ func TestIsCommitHash(t *testing.T) { validator.CommitHash("!311c1b497e51a628aa89e7cb954481e5f9dced2", "valName").Err.Error()) } -// nolint: dupl func TestIsNamespaceName(t *testing.T) { assert.True(t, validator.NamespaceName("upstream").Ok) assert.False(t, validator.NamespaceName("up").Ok) @@ -65,7 +64,6 @@ func TestIsDashboardClientKey(t *testing.T) { validator.DashClientKey("clKey", "clientKey").Err.Error()) } -// nolint: dupl func TestIsKernelFilePath(t *testing.T) { assert.True(t, validator.KernelFilePath("io_uring/advise.c").Ok) assert.True(t, validator.KernelFilePath("io-uring/advise.c").Ok) diff --git a/pkg/vcs/vcs.go b/pkg/vcs/vcs.go index 95167d2e992e..42a344e56347 100644 --- a/pkg/vcs/vcs.go +++ b/pkg/vcs/vcs.go @@ -317,7 +317,6 @@ func runSandboxed(dir, command string, args ...string) ([]byte, error) { } var ( - // nolint: lll gitLocalRepoRe = regexp.MustCompile(`^file:///[a-zA-Z0-9-_./~]+(/)?$`) // nolint: lll gitRemoteRepoRe = regexp.MustCompile(`^(git|ssh|http|https|ftp|ftps|sso)://[a-zA-Z0-9-_.]+(:[0-9]+)?(/[a-zA-Z0-9-_./~]+)?(/)?$`) @@ -382,7 +381,6 @@ func FileLink(url, hash, file string, line int) string { return link(url, hash, file, line, 3) } -// nolint: goconst func link(url, hash, file string, line, typ int) string { if url == "" || hash == "" { return "" diff --git a/pkg/vcs/vcs_test.go b/pkg/vcs/vcs_test.go index 7abeba55b0d0..ae48adb01d05 100644 --- a/pkg/vcs/vcs_test.go +++ b/pkg/vcs/vcs_test.go @@ -244,13 +244,11 @@ func TestFileLink(t *testing.T) { } func TestParse(t *testing.T) { - // nolint: lll test1 := []byte(`Foo Bar (maintainer:KERNEL) Foo Bar (reviewer:KERNEL) (open list:FOO) "Supporter Foo" (supporter:KERNEL) linux-kernel@vger.kernel.org (open list)`) - // nolint: lll test2 := []byte(`Foo Bar (maintainer:KERNEL) Foo Bar (reviewer:KERNEL) "Supporter Foo" (supporter:KERNEL) diff --git a/prog/encodingexec_test.go b/prog/encodingexec_test.go index 8687ddb69897..85a7539ca6a5 100644 --- a/prog/encodingexec_test.go +++ b/prog/encodingexec_test.go @@ -48,7 +48,6 @@ func TestSerializeForExecRandom(t *testing.T) { } } -// nolint: funlen func TestSerializeForExec(t *testing.T) { target := initTargetTest(t, "test", "64") var ( diff --git a/prog/kfuzztest_test.go b/prog/kfuzztest_test.go index 5f1b3d9c4d63..5c7beaf96216 100644 --- a/prog/kfuzztest_test.go +++ b/prog/kfuzztest_test.go @@ -52,7 +52,7 @@ func createPrefix() []byte { return prefix.Bytes() } -//nolint:all +// nolint:dupl,lll func TestMarshallKFuzzTestArg(t *testing.T) { testCases := []testCase{ // This test case validates the encoding of the following structure: diff --git a/sys/targets/targets.go b/sys/targets/targets.go index a076d2710f23..165f4a5d8dd6 100644 --- a/sys/targets/targets.go +++ b/sys/targets/targets.go @@ -187,7 +187,6 @@ func GetEx(OS, arch string, clang bool) *Target { return target.other } -// nolint: lll var List = map[string]map[string]*Target{ TestOS: { TestArch64: { diff --git a/syz-cluster/dashboard/handler.go b/syz-cluster/dashboard/handler.go index 537e5413661f..d8ebd7c61321 100644 --- a/syz-cluster/dashboard/handler.go +++ b/syz-cluster/dashboard/handler.go @@ -302,7 +302,6 @@ func (h *dashboardHandler) patchContent(w http.ResponseWriter, r *http.Request) return h.streamBlob(w, patch.BodyURI) } -// nolint:dupl func (h *dashboardHandler) allPatches(w http.ResponseWriter, r *http.Request) error { ctx := r.Context() series, err := h.seriesRepo.GetByID(ctx, r.PathValue("id")) diff --git a/syz-cluster/pkg/db/finding_repo.go b/syz-cluster/pkg/db/finding_repo.go index afcc559b1a00..20e9b43d9264 100644 --- a/syz-cluster/pkg/db/finding_repo.go +++ b/syz-cluster/pkg/db/finding_repo.go @@ -101,7 +101,6 @@ func (repo *FindingRepository) mustStore(ctx context.Context, finding *Finding) }) } -// nolint: dupl func (repo *FindingRepository) ListForSession(ctx context.Context, sessionID string, limit int) ([]*Finding, error) { stmt := spanner.Statement{ SQL: "SELECT * FROM `Findings` WHERE `SessionID` = @session ORDER BY `TestName`, `Title`", diff --git a/syz-cluster/pkg/db/report_repo.go b/syz-cluster/pkg/db/report_repo.go index 28ca3a89a322..d4b3286e9803 100644 --- a/syz-cluster/pkg/db/report_repo.go +++ b/syz-cluster/pkg/db/report_repo.go @@ -50,7 +50,6 @@ func (repo *ReportRepository) Insert(ctx context.Context, rep *SessionReport) er return fmt.Errorf("failed to pick a non-existing report ID") } -// nolint: dupl func (repo *ReportRepository) ListNotReported(ctx context.Context, reporter string, limit int) ([]*SessionReport, error) { stmt := spanner.Statement{ diff --git a/syz-cluster/pkg/db/series_repo.go b/syz-cluster/pkg/db/series_repo.go index bb8bf7a8dce3..0adbf3900503 100644 --- a/syz-cluster/pkg/db/series_repo.go +++ b/syz-cluster/pkg/db/series_repo.go @@ -34,7 +34,6 @@ func NewSeriesRepository(client *spanner.Client) *SeriesRepository { } // TODO: move to SeriesPatchesRepository? -// nolint:dupl func (repo *SeriesRepository) PatchByID(ctx context.Context, id string) (*Patch, error) { return readEntity[Patch](ctx, repo.client.Single(), spanner.Statement{ SQL: "SELECT * FROM Patches WHERE ID=@id", @@ -42,7 +41,6 @@ func (repo *SeriesRepository) PatchByID(ctx context.Context, id string) (*Patch, }) } -// nolint:dupl func (repo *SeriesRepository) GetByExtID(ctx context.Context, extID string) (*Series, error) { return readEntity[Series](ctx, repo.client.Single(), spanner.Statement{ SQL: "SELECT * FROM Series WHERE ExtID=@extID", @@ -279,7 +277,6 @@ func (repo *SeriesRepository) queryFindingCounts(ctx context.Context, ro *spanne } // golint sees too much similarity with SessionRepository's ListForSeries, but in reality there's not. -// nolint:dupl func (repo *SeriesRepository) ListPatches(ctx context.Context, series *Series) ([]*Patch, error) { return readEntities[Patch](ctx, repo.client.Single(), spanner.Statement{ SQL: "SELECT * FROM `Patches` WHERE `SeriesID` = @seriesID ORDER BY `Seq`", diff --git a/syz-cluster/pkg/db/session_repo.go b/syz-cluster/pkg/db/session_repo.go index 583a5f4afa53..2ec81759e7e6 100644 --- a/syz-cluster/pkg/db/session_repo.go +++ b/syz-cluster/pkg/db/session_repo.go @@ -110,7 +110,6 @@ func (repo *SessionRepository) ListWaiting(ctx context.Context, from *NextSessio } // golint sees too much similarity with SeriesRepository's ListPatches, but in reality there's not. -// nolint:dupl func (repo *SessionRepository) ListForSeries(ctx context.Context, series *Series) ([]*Session, error) { return repo.readEntities(ctx, spanner.Statement{ SQL: "SELECT * FROM `Sessions` WHERE `SeriesID` = @series ORDER BY CreatedAt DESC", diff --git a/syz-cluster/pkg/reporter/api.go b/syz-cluster/pkg/reporter/api.go index 192ea693d501..f12baf2164c5 100644 --- a/syz-cluster/pkg/reporter/api.go +++ b/syz-cluster/pkg/reporter/api.go @@ -38,7 +38,6 @@ func (s *APIServer) Mux() *http.ServeMux { return mux } -// nolint: dupl func (s *APIServer) upstreamReport(w http.ResponseWriter, r *http.Request) { req := api.ParseJSON[api.UpstreamReportReq](w, r) if req == nil { diff --git a/tools/syz-check/check.go b/tools/syz-check/check.go index bc57ea46205f..fbab98976fc9 100644 --- a/tools/syz-check/check.go +++ b/tools/syz-check/check.go @@ -755,7 +755,7 @@ type nlaPolicy struct { _ int32 } -// nolint +// nolint:staticcheck const ( NLA_UNSPEC = iota NLA_U8 @@ -780,7 +780,7 @@ const ( NLA_MIN_LEN ) -// nolint +// nolint:staticcheck const ( _ = iota NLA_VALIDATE_RANGE diff --git a/vm/proxyapp/proxyappclient.go b/vm/proxyapp/proxyappclient.go index c3740ce6a2c7..ffc5d5b85f55 100644 --- a/vm/proxyapp/proxyappclient.go +++ b/vm/proxyapp/proxyappclient.go @@ -423,7 +423,6 @@ type instance struct { } // Copy copies a hostSrc file into VM and returns file name in VM. -// nolint: dupl func (inst *instance) Copy(hostSrc string) (string, error) { var reply proxyrpc.CopyResult params := proxyrpc.CopyParams{ @@ -450,7 +449,6 @@ func (inst *instance) Copy(hostSrc string) (string, error) { // Forward sets up forwarding from within VM to the given tcp // port on the host and returns the address to use in VM. -// nolint: dupl func (inst *instance) Forward(port int) (string, error) { var reply proxyrpc.ForwardResult err := inst.ProxyApp.Call( diff --git a/vm/proxyapp/proxyappclient_test.go b/vm/proxyapp/proxyappclient_test.go index 1bf7d0571dce..8d9d9f91c554 100644 --- a/vm/proxyapp/proxyappclient_test.go +++ b/vm/proxyapp/proxyappclient_test.go @@ -137,10 +137,7 @@ func TestCtor_FailedStartProxyApp(t *testing.T) { assert.Nil(t, p) } -// TODO: reuse proxyAppServerFixture() code: func could be called here once Mock.Unset() error -// -// fixed https://github.com/stretchr/testify/issues/1236 -// nolint: dupl +// TODO: reuse proxyAppServerFixture() code: func could be called here once Mock.Unset() error. func TestCtor_FailedConstructPool(t *testing.T) { mProxyAppServer, stdin, stdout, stderr := makeMockProxyAppProcess(t) @@ -198,9 +195,7 @@ func initProxyAppServerFixture(mProxyAppServer *mockProxyAppInterface) *mockProx return mProxyAppServer } -// TODO: to remove duplicate see TestCtor_FailedConstructPool() comment -// -// nolint: dupl +// TODO: to remove duplicate see TestCtor_FailedConstructPool() comment. func proxyAppServerFixture(t *testing.T) (*mockProxyAppInterface, *mockCommandRunner, *proxyAppParams) { mProxyAppServer, stdin, stdout, stderr := makeMockProxyAppProcess(t) @@ -361,7 +356,6 @@ func TestInstance_Copy_OK(t *testing.T) { assert.NotEmpty(t, remotePath) } -// nolint: dupl func TestInstance_Copy_Failure(t *testing.T) { mockInstance, inst := createInstanceFixture(t) mockInstance. @@ -390,7 +384,6 @@ func TestInstance_Forward_OK(t *testing.T) { assert.Equal(t, "manager_address:12345", remoteAddressToUse) } -// nolint: dupl func TestInstance_Forward_Failure(t *testing.T) { mockInstance, inst := createInstanceFixture(t) mockInstance. @@ -470,7 +463,6 @@ func TestInstance_RunReadProgress_OnErrorReceived(t *testing.T) { assert.Equal(t, "mock error\nSYZFAIL: proxy app plugin error\n", output) } -// nolint: dupl func TestInstance_RunReadProgress_OnFinished(t *testing.T) { mockInstance, inst := createInstanceFixture(t) mockInstance. diff --git a/vm/vm_test.go b/vm/vm_test.go index 23e3f2c7d517..860254dabe2f 100644 --- a/vm/vm_test.go +++ b/vm/vm_test.go @@ -105,7 +105,6 @@ type Test struct { Report *report.Report } -// nolint: goconst // "DIAGNOSE\n", "BUG: bad\n" and "other output\n" var tests = []*Test{ { Name: "program-exits-normally",