build: enable goimports and varcheck linters (#16446)

This commit is contained in:
thomasmodeneis 2018-04-18 00:53:50 +02:00 committed by Felix Lange
parent 7605e63cb9
commit ba1030b6b8
28 changed files with 54 additions and 98 deletions

@ -37,6 +37,9 @@ ios:
test: all test: all
build/env.sh go run build/ci.go test build/env.sh go run build/ci.go test
lint: ## Run linters.
build/env.sh go run build/ci.go lint
clean: clean:
rm -fr build/_workspace/pkg/ $(GOBIN)/* rm -fr build/_workspace/pkg/ $(GOBIN)/*

@ -53,11 +53,9 @@ const (
ledgerOpGetConfiguration ledgerOpcode = 0x06 // Returns specific wallet application configuration ledgerOpGetConfiguration ledgerOpcode = 0x06 // Returns specific wallet application configuration
ledgerP1DirectlyFetchAddress ledgerParam1 = 0x00 // Return address directly from the wallet ledgerP1DirectlyFetchAddress ledgerParam1 = 0x00 // Return address directly from the wallet
ledgerP1ConfirmFetchAddress ledgerParam1 = 0x01 // Require a user confirmation before returning the address
ledgerP1InitTransactionData ledgerParam1 = 0x00 // First transaction data block for signing ledgerP1InitTransactionData ledgerParam1 = 0x00 // First transaction data block for signing
ledgerP1ContTransactionData ledgerParam1 = 0x80 // Subsequent transaction data block for signing ledgerP1ContTransactionData ledgerParam1 = 0x80 // Subsequent transaction data block for signing
ledgerP2DiscardAddressChainCode ledgerParam2 = 0x00 // Do not return the chain code along with the address ledgerP2DiscardAddressChainCode ledgerParam2 = 0x00 // Do not return the chain code along with the address
ledgerP2ReturnAddressChainCode ledgerParam2 = 0x01 // Require a user confirmation before returning the address
) )
// errLedgerReplyInvalidHeader is the error message returned by a Ledger data exchange // errLedgerReplyInvalidHeader is the error message returned by a Ledger data exchange

@ -329,7 +329,10 @@ func doLint(cmdline []string) {
// Run fast linters batched together // Run fast linters batched together
configs := []string{ configs := []string{
"--vendor", "--vendor",
"--tests",
"--disable-all", "--disable-all",
"--enable=goimports",
"--enable=varcheck",
"--enable=vet", "--enable=vet",
"--enable=gofmt", "--enable=gofmt",
"--enable=misspell", "--enable=misspell",
@ -340,7 +343,7 @@ func doLint(cmdline []string) {
// Run slow linters one by one // Run slow linters one by one
for _, linter := range []string{"unconvert", "gosimple"} { for _, linter := range []string{"unconvert", "gosimple"} {
configs = []string{"--vendor", "--deadline=10m", "--disable-all", "--enable=" + linter} configs = []string{"--vendor", "--tests", "--deadline=10m", "--disable-all", "--enable=" + linter}
build.MustRunCommand(filepath.Join(GOBIN, "gometalinter.v2"), append(configs, packages...)...) build.MustRunCommand(filepath.Join(GOBIN, "gometalinter.v2"), append(configs, packages...)...)
} }
} }

18
build/goimports.sh Executable file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
find_files() {
find . -not \( \
\( \
-wholename '.github' \
-o -wholename './build/_workspace' \
-o -wholename './build/bin' \
-o -wholename './crypto/bn256' \
-o -wholename '*/vendor/*' \
\) -prune \
\) -name '*.go'
}
GOFMT="gofmt -s -w";
GOIMPORTS="goimports -w";
find_files | xargs $GOFMT;
find_files | xargs $GOIMPORTS;

@ -53,10 +53,6 @@ var (
Name: "json", Name: "json",
Usage: "output JSON instead of human-readable format", Usage: "output JSON instead of human-readable format",
} }
messageFlag = cli.StringFlag{
Name: "message",
Usage: "the file that contains the message to sign/verify",
}
) )
func main() { func main() {

@ -18,12 +18,13 @@
package consensus package consensus
import ( import (
"math/big"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/state" "github.com/ethereum/go-ethereum/core/state"
"github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/params"
"github.com/ethereum/go-ethereum/rpc" "github.com/ethereum/go-ethereum/rpc"
"math/big"
) )
// ChainReader defines a small collection of methods needed to access the local // ChainReader defines a small collection of methods needed to access the local

@ -17,7 +17,6 @@
package asm package asm
import ( import (
"errors"
"fmt" "fmt"
"math/big" "math/big"
"os" "os"
@ -264,11 +263,6 @@ func (err compileError) Error() string {
return fmt.Sprintf("%d syntax error: unexpected %v, expected %v", err.lineno, err.got, err.want) return fmt.Sprintf("%d syntax error: unexpected %v, expected %v", err.lineno, err.got, err.want)
} }
var (
errExpBol = errors.New("expected beginning of line")
errExpElementOrLabel = errors.New("expected beginning of line")
)
func compileErr(c token, got, want string) error { func compileErr(c token, got, want string) error {
return compileError{ return compileError{
got: got, got: got,

@ -38,8 +38,6 @@ import (
const ( const (
// chainHeadChanSize is the size of channel listening to ChainHeadEvent. // chainHeadChanSize is the size of channel listening to ChainHeadEvent.
chainHeadChanSize = 10 chainHeadChanSize = 10
// rmTxChanSize is the size of channel listening to RemovedTransactionEvent.
rmTxChanSize = 10
) )
var ( var (

@ -33,7 +33,6 @@ import (
var ( var (
ErrInvalidSig = errors.New("invalid transaction v, r, s values") ErrInvalidSig = errors.New("invalid transaction v, r, s values")
errNoSigner = errors.New("missing signing methods")
) )
// deriveSigner makes a *best* guess about which signer to use. // deriveSigner makes a *best* guess about which signer to use.

@ -31,7 +31,6 @@ import (
var ( var (
bigZero = new(big.Int) bigZero = new(big.Int)
tt255 = math.BigPow(2, 255) tt255 = math.BigPow(2, 255)
tt256 = math.BigPow(2, 256)
errWriteProtection = errors.New("evm: write protection") errWriteProtection = errors.New("evm: write protection")
errReturnDataOutOfBounds = errors.New("evm: return data out of bounds") errReturnDataOutOfBounds = errors.New("evm: return data out of bounds")
errExecutionReverted = errors.New("evm: execution reverted") errExecutionReverted = errors.New("evm: execution reverted")

@ -6,9 +6,12 @@ package bn256
import ( import (
"crypto/rand" "crypto/rand"
"testing"
"github.com/stretchr/testify/require"
) )
func ExamplePair() { func TestExamplePair(t *testing.T) {
// This implements the tripartite Diffie-Hellman algorithm from "A One // This implements the tripartite Diffie-Hellman algorithm from "A One
// Round Protocol for Tripartite Diffie-Hellman", A. Joux. // Round Protocol for Tripartite Diffie-Hellman", A. Joux.
// http://www.springerlink.com/content/cddc57yyva0hburb/fulltext.pdf // http://www.springerlink.com/content/cddc57yyva0hburb/fulltext.pdf
@ -40,4 +43,9 @@ func ExamplePair() {
k3.ScalarMult(k3, c) k3.ScalarMult(k3, c)
// k1, k2 and k3 will all be equal. // k1, k2 and k3 will all be equal.
require.Equal(t, k1, k2)
require.Equal(t, k1, k3)
require.Equal(t, len(np), 4) //Avoid gometalinter varcheck err on np
} }

@ -72,13 +72,3 @@ func (eth *LightEthereum) startBloomHandlers() {
}() }()
} }
} }
const (
// bloomConfirms is the number of confirmation blocks before a bloom section is
// considered probably final and its rotated bits are calculated.
bloomConfirms = 256
// bloomThrottling is the time to wait between processing two consecutive index
// sections. It's useful during chain upgrades to prevent disk overload.
bloomThrottling = 100 * time.Millisecond
)

@ -73,7 +73,6 @@ const (
// and a short term value which is adjusted exponentially with a factor of // and a short term value which is adjusted exponentially with a factor of
// pstatRecentAdjust with each dial/connection and also returned exponentially // pstatRecentAdjust with each dial/connection and also returned exponentially
// to the average with the time constant pstatReturnToMeanTC // to the average with the time constant pstatReturnToMeanTC
pstatRecentAdjust = 0.1
pstatReturnToMeanTC = time.Hour pstatReturnToMeanTC = time.Hour
// node address selection weight is dropped by a factor of exp(-addrFailDropLn) after // node address selection weight is dropped by a factor of exp(-addrFailDropLn) after
// each unsuccessful connection (restored after a successful one) // each unsuccessful connection (restored after a successful one)
@ -83,9 +82,6 @@ const (
responseScoreTC = time.Millisecond * 100 responseScoreTC = time.Millisecond * 100
delayScoreTC = time.Second * 5 delayScoreTC = time.Second * 5
timeoutPow = 10 timeoutPow = 10
// peerSelectMinWeight is added to calculated weights at request peer selection
// to give poorly performing peers a little chance of coming back
peerSelectMinWeight = 0.005
// initStatsWeight is used to initialize previously unknown peers with good // initStatsWeight is used to initialize previously unknown peers with good
// statistics to give a chance to prove themselves // statistics to give a chance to prove themselves
initStatsWeight = 1 initStatsWeight = 1

@ -25,11 +25,6 @@ import (
"github.com/ethereum/go-ethereum/light" "github.com/ethereum/go-ethereum/light"
) )
const (
//forceSyncCycle = 10 * time.Second // Time interval to force syncs, even if few peers are available
minDesiredPeerCount = 5 // Amount of peers desired to start syncing
)
// syncer is responsible for periodically synchronising with the network, both // syncer is responsible for periodically synchronising with the network, both
// downloading hashes and blocks as well as handling the announcement handler. // downloading hashes and blocks as well as handling the announcement handler.
func (pm *ProtocolManager) syncer() { func (pm *ProtocolManager) syncer() {

@ -49,7 +49,6 @@ var (
// Timeouts // Timeouts
const ( const (
respTimeout = 500 * time.Millisecond respTimeout = 500 * time.Millisecond
sendTimeout = 500 * time.Millisecond
expiration = 20 * time.Second expiration = 20 * time.Second
ntpFailureThreshold = 32 // Continuous timeouts after which to check NTP ntpFailureThreshold = 32 // Continuous timeouts after which to check NTP

@ -36,7 +36,6 @@ import (
var ( var (
errInvalidEvent = errors.New("invalid in current state") errInvalidEvent = errors.New("invalid in current state")
errNoQuery = errors.New("no pending query") errNoQuery = errors.New("no pending query")
errWrongAddress = errors.New("unknown sender address")
) )
const ( const (
@ -828,11 +827,10 @@ type nodeEvent uint
//go:generate stringer -type=nodeEvent //go:generate stringer -type=nodeEvent
const ( const (
invalidEvent nodeEvent = iota // zero is reserved
// Packet type events. // Packet type events.
// These correspond to packet types in the UDP protocol. // These correspond to packet types in the UDP protocol.
pingPacket pingPacket = iota + 1
pongPacket pongPacket
findnodePacket findnodePacket
neighborsPacket neighborsPacket

@ -4,24 +4,14 @@ package discv5
import "strconv" import "strconv"
const ( const _nodeEvent_name = "pongTimeoutpingTimeoutneighboursTimeout"
_nodeEvent_name_0 = "invalidEventpingPacketpongPacketfindnodePacketneighborsPacketfindnodeHashPackettopicRegisterPackettopicQueryPackettopicNodesPacket"
_nodeEvent_name_1 = "pongTimeoutpingTimeoutneighboursTimeout"
)
var ( var _nodeEvent_index = [...]uint8{0, 11, 22, 39}
_nodeEvent_index_0 = [...]uint8{0, 12, 22, 32, 46, 61, 79, 98, 114, 130}
_nodeEvent_index_1 = [...]uint8{0, 11, 22, 39}
)
func (i nodeEvent) String() string { func (i nodeEvent) String() string {
switch { i -= 264
case 0 <= i && i <= 8: if i >= nodeEvent(len(_nodeEvent_index)-1) {
return _nodeEvent_name_0[_nodeEvent_index_0[i]:_nodeEvent_index_0[i+1]] return "nodeEvent(" + strconv.FormatInt(int64(i+264), 10) + ")"
case 265 <= i && i <= 267:
i -= 265
return _nodeEvent_name_1[_nodeEvent_index_1[i]:_nodeEvent_index_1[i+1]]
default:
return "nodeEvent(" + strconv.FormatInt(int64(i), 10) + ")"
} }
return _nodeEvent_name[_nodeEvent_index[i]:_nodeEvent_index[i+1]]
} }

@ -38,7 +38,6 @@ const (
hashBits = len(common.Hash{}) * 8 hashBits = len(common.Hash{}) * 8
nBuckets = hashBits + 1 // Number of buckets nBuckets = hashBits + 1 // Number of buckets
maxBondingPingPongs = 16
maxFindnodeFailures = 5 maxFindnodeFailures = 5
) )

@ -36,25 +36,17 @@ const Version = 4
// Errors // Errors
var ( var (
errPacketTooSmall = errors.New("too small") errPacketTooSmall = errors.New("too small")
errBadPrefix = errors.New("bad prefix") errBadPrefix = errors.New("bad prefix")
errExpired = errors.New("expired") errTimeout = errors.New("RPC timeout")
errUnsolicitedReply = errors.New("unsolicited reply")
errUnknownNode = errors.New("unknown node")
errTimeout = errors.New("RPC timeout")
errClockWarp = errors.New("reply deadline too far in the future")
errClosed = errors.New("socket closed")
) )
// Timeouts // Timeouts
const ( const (
respTimeout = 500 * time.Millisecond respTimeout = 500 * time.Millisecond
queryDelay = 1000 * time.Millisecond
expiration = 20 * time.Second expiration = 20 * time.Second
ntpFailureThreshold = 32 // Continuous timeouts after which to check NTP driftThreshold = 10 * time.Second // Allowed clock drift before warning user
ntpWarningCooldown = 10 * time.Minute // Minimum amount of time to pass before repeating NTP warning
driftThreshold = 10 * time.Second // Allowed clock drift before warning user
) )
// RPC request structures // RPC request structures

@ -24,7 +24,6 @@ import (
"reflect" "reflect"
"sync" "sync"
"testing" "testing"
"time"
"github.com/davecgh/go-spew/spew" "github.com/davecgh/go-spew/spew"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
@ -38,11 +37,7 @@ func init() {
// shared test variables // shared test variables
var ( var (
futureExp = uint64(time.Now().Add(10 * time.Hour).Unix()) testLocal = rpcEndpoint{IP: net.ParseIP("3.3.3.3").To4(), UDP: 5, TCP: 6}
testTarget = NodeID{0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}
testRemote = rpcEndpoint{IP: net.ParseIP("1.1.1.1").To4(), UDP: 1, TCP: 2}
testLocalAnnounced = rpcEndpoint{IP: net.ParseIP("2.2.2.2").To4(), UDP: 3, TCP: 4}
testLocal = rpcEndpoint{IP: net.ParseIP("3.3.3.3").To4(), UDP: 5, TCP: 6}
) )
// type udpTest struct { // type udpTest struct {

@ -46,7 +46,6 @@ const ID_SECP256k1_KECCAK = ID("secp256k1-keccak") // the default identity schem
var ( var (
errNoID = errors.New("unknown or unspecified identity scheme") errNoID = errors.New("unknown or unspecified identity scheme")
errInvalidSigsize = errors.New("invalid signature size")
errInvalidSig = errors.New("invalid signature") errInvalidSig = errors.New("invalid signature")
errNotSorted = errors.New("record key/value pairs are not sorted by key") errNotSorted = errors.New("record key/value pairs are not sorted by key")
errDuplicateKey = errors.New("record contains duplicate key") errDuplicateKey = errors.New("record contains duplicate key")

@ -47,8 +47,6 @@ const (
discMsg = 0x01 discMsg = 0x01
pingMsg = 0x02 pingMsg = 0x02
pongMsg = 0x03 pongMsg = 0x03
getPeersMsg = 0x04
peersMsg = 0x05
) )
// protoHandshake is the RLP structure of the protocol handshake. // protoHandshake is the RLP structure of the protocol handshake.

@ -19,12 +19,13 @@
package fuse package fuse
import ( import (
"bazil.org/fuse"
"bazil.org/fuse/fs"
"golang.org/x/net/context"
"os" "os"
"path/filepath" "path/filepath"
"sync" "sync"
"bazil.org/fuse"
"bazil.org/fuse/fs"
"golang.org/x/net/context"
) )
var ( var (

@ -17,9 +17,10 @@
package fuse package fuse
import ( import (
"github.com/ethereum/go-ethereum/swarm/api"
"sync" "sync"
"time" "time"
"github.com/ethereum/go-ethereum/swarm/api"
) )
const ( const (

@ -54,7 +54,6 @@ const (
// key prefixes for leveldb storage // key prefixes for leveldb storage
kpIndex = 0 kpIndex = 0
kpData = 1
) )
var ( var (

@ -83,11 +83,6 @@ func NewNetStore(hash SwarmHasher, lstore *LocalStore, cloud CloudStore, params
} }
} }
const (
// maximum number of peers that a retrieved message is delivered to
requesterCount = 3
)
var ( var (
// timeout interval before retrieval is timed out // timeout interval before retrieval is timed out
searchTimeout = 3 * time.Second searchTimeout = 3 * time.Second

@ -32,10 +32,6 @@ import (
"github.com/ethereum/go-ethereum/rpc" "github.com/ethereum/go-ethereum/rpc"
) )
const (
filterTimeout = 300 // filters are considered timeout out after filterTimeout seconds
)
var ( var (
ErrSymAsym = errors.New("specify either a symmetric or an asymmetric key") ErrSymAsym = errors.New("specify either a symmetric or an asymmetric key")
ErrInvalidSymmetricKey = errors.New("invalid symmetric key") ErrInvalidSymmetricKey = errors.New("invalid symmetric key")

@ -32,10 +32,6 @@ import (
"github.com/ethereum/go-ethereum/rpc" "github.com/ethereum/go-ethereum/rpc"
) )
const (
filterTimeout = 300 // filters are considered timeout out after filterTimeout seconds
)
// List of errors // List of errors
var ( var (
ErrSymAsym = errors.New("specify either a symmetric or an asymmetric key") ErrSymAsym = errors.New("specify either a symmetric or an asymmetric key")