From df86cadd8b8b67a6bd90f23cf1e310988e4f6203 Mon Sep 17 00:00:00 2001 From: Wei Fu Date: Mon, 18 Sep 2023 12:38:24 +0800 Subject: [PATCH] *: fix ineffassign lint Signed-off-by: Wei Fu --- Makefile | 11 ++++++++++- scripts/test.sh | 11 +---------- server/lease/lessor_bench_test.go | 4 ---- tests/common/compact_test.go | 2 +- tests/e2e/corrupt_test.go | 2 ++ tests/e2e/ctl_v3_member_test.go | 1 + tests/e2e/v3_curl_cluster_test.go | 2 ++ tests/framework/e2e/cluster.go | 2 +- tests/integration/v3_auth_test.go | 4 ++-- 9 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 8527f21d53b..0e8f90b7970 100644 --- a/Makefile +++ b/Makefile @@ -85,8 +85,13 @@ fix-bom: verify-dep: PASSES="dep" ./scripts/test.sh +# TODO: https://github.com/etcd-io/etcd/issues/16610 +# +# The golangci-lint doesn't verify sub modules. Before #16610 fixed, verify-lint +# still depends on legacy {ineffassign,nakedret,unparam,...}_pass. These X_pass +# will be removed when the golangci-lint covers all the sub modules. .PHONY: verify-lint -verify-lint: +verify-lint: verify-ineffassign golangci-lint run --config tools/.golangci.yaml .PHONY: fix-lint @@ -145,6 +150,10 @@ verify-yamllint: verify-govet-shadow: PASSES="govet_shadow" ./scripts/test.sh +.PHONY: verify-ineffassign +verify-ineffassign: + PASSES="ineffassign" ./scripts/test.sh + YAMLFMT_VERSION = $(shell cd tools/mod && go list -m -f '{{.Version}}' github.com/google/yamlfmt) .PHONY: fix-yamllint diff --git a/scripts/test.sh b/scripts/test.sh index 4ec9f2dbfb1..6f9b89f732c 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -442,17 +442,8 @@ function unconvert_pass { run_for_modules generic_checker run_go_tool "github.com/mdempsky/unconvert" unconvert -v } -function ineffassign_per_package { - # bash 3.x compatible replacement of: mapfile -t gofiles < <(go_srcs_in_module) - local gofiles=() - while IFS= read -r line; do gofiles+=("$line"); done < <(go_srcs_in_module) - - # TODO: ineffassign should work with package instead of files - run_go_tool github.com/gordonklaus/ineffassign "${gofiles[@]}" -} - function ineffassign_pass { - run_for_modules generic_checker ineffassign_per_package + run_for_modules generic_checker run_go_tool "github.com/gordonklaus/ineffassign" } function nakedret_pass { diff --git a/server/lease/lessor_bench_test.go b/server/lease/lessor_bench_test.go index 73cdbede30d..8e6ff791b19 100644 --- a/server/lease/lessor_bench_test.go +++ b/server/lease/lessor_bench_test.go @@ -90,7 +90,6 @@ func benchmarkLessorGrant(benchSize int, b *testing.B) { b.StopTimer() if tearDown != nil { tearDown() - tearDown = nil } le, tearDown = setUp(b) b.StartTimer() @@ -117,7 +116,6 @@ func benchmarkLessorRevoke(benchSize int, b *testing.B) { b.StopTimer() if tearDown != nil { tearDown() - tearDown = nil } le, tearDown = setUp(b) for j := 1; j <= benchSize; j++ { @@ -148,7 +146,6 @@ func benchmarkLessorRenew(benchSize int, b *testing.B) { b.StopTimer() if tearDown != nil { tearDown() - tearDown = nil } le, tearDown = setUp(b) for j := 1; j <= benchSize; j++ { @@ -181,7 +178,6 @@ func benchmarkLessorFindExpired(benchSize int, b *testing.B) { b.StopTimer() if tearDown != nil { tearDown() - tearDown = nil } le, tearDown = setUp(b) for j := 1; j <= benchSize; j++ { diff --git a/tests/common/compact_test.go b/tests/common/compact_test.go index fe068a77a3a..584be40407b 100644 --- a/tests/common/compact_test.go +++ b/tests/common/compact_test.go @@ -69,7 +69,7 @@ func TestCompact(t *testing.T) { t.Fatalf("compactTest: Compact error (%v)", err) } - get, err = cc.Get(ctx, "key", config.GetOptions{Revision: 3}) + _, err = cc.Get(ctx, "key", config.GetOptions{Revision: 3}) if err != nil { if !strings.Contains(err.Error(), "required revision has been compacted") { t.Fatalf("compactTest: Get compact key error (%v)", err) diff --git a/tests/e2e/corrupt_test.go b/tests/e2e/corrupt_test.go index e3ebf50b38e..7484509e1b1 100644 --- a/tests/e2e/corrupt_test.go +++ b/tests/e2e/corrupt_test.go @@ -324,6 +324,7 @@ func TestCompactHashCheckDetectCorruptionInterrupt(t *testing.T) { t.Log("compaction started...") _, err = cc.Compact(ctx, 5, config.CompactOption{}) + require.NoError(t, err) err = epc.Procs[slowCompactionNodeIndex].Close() require.NoError(t, err) @@ -333,6 +334,7 @@ func TestCompactHashCheckDetectCorruptionInterrupt(t *testing.T) { t.Logf("restart proc %d to interrupt its compaction...", slowCompactionNodeIndex) err = epc.Procs[slowCompactionNodeIndex].Restart(ctx) + require.NoError(t, err) // Wait until the node finished compaction and the leader finished compaction hash check _, err = epc.Procs[slowCompactionNodeIndex].Logs().ExpectWithContext(ctx, expect.ExpectedResponse{Value: "finished scheduled compaction"}) diff --git a/tests/e2e/ctl_v3_member_test.go b/tests/e2e/ctl_v3_member_test.go index 47af0cf6b23..7e42446b37a 100644 --- a/tests/e2e/ctl_v3_member_test.go +++ b/tests/e2e/ctl_v3_member_test.go @@ -71,6 +71,7 @@ func memberListSerializableTest(cx ctlCtx) { require.NoError(cx.t, err) resp, err = getMemberList(cx, true) + require.NoError(cx.t, err) require.Equal(cx.t, 2, len(resp.Members)) } diff --git a/tests/e2e/v3_curl_cluster_test.go b/tests/e2e/v3_curl_cluster_test.go index 181a7afd57b..a8ae9ab4ae5 100644 --- a/tests/e2e/v3_curl_cluster_test.go +++ b/tests/e2e/v3_curl_cluster_test.go @@ -71,6 +71,8 @@ func testCurlV3ClusterOperations(cx ctlCtx) { // update member cx.t.Logf("Update peerURL from %q to %q for member %q", peerURL, updatedPeerURL, newMemberIDStr) newMemberID, err := strconv.ParseUint(newMemberIDStr, 10, 64) + require.NoError(cx.t, err) + updateMemberReq, err := json.Marshal(&pb.MemberUpdateRequest{ID: newMemberID, PeerURLs: []string{updatedPeerURL}}) require.NoError(cx.t, err) diff --git a/tests/framework/e2e/cluster.go b/tests/framework/e2e/cluster.go index 17c3c37a0d3..e9c50df0f0f 100644 --- a/tests/framework/e2e/cluster.go +++ b/tests/framework/e2e/cluster.go @@ -510,7 +510,7 @@ func (cfg *EtcdProcessClusterConfig) EtcdServerProcessConfig(tb testing.TB, i in name := fmt.Sprintf("%s-test-%d", testNameCleanRegex.ReplaceAllString(tb.Name(), ""), i) - dataDirPath := cfg.DataDirPath + var dataDirPath string if cfg.DataDirPath == "" { dataDirPath = tb.TempDir() } else { diff --git a/tests/integration/v3_auth_test.go b/tests/integration/v3_auth_test.go index ade1737ec0c..74841b2aaab 100644 --- a/tests/integration/v3_auth_test.go +++ b/tests/integration/v3_auth_test.go @@ -444,12 +444,12 @@ func TestV3AuthWatchAndTokenExpire(t *testing.T) { // The first watch gets a valid auth token through watcher.newWatcherGrpcStream() // We should discard the first one by waiting TTL after the first watch. wChan := c.Watch(ctx, "key", clientv3.WithRev(1)) - watchResponse := <-wChan + <-wChan time.Sleep(5 * time.Second) wChan = c.Watch(ctx, "key", clientv3.WithRev(1)) - watchResponse = <-wChan + watchResponse := <-wChan testutil.AssertNil(t, watchResponse.Err()) }