summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Nephin <dnephin@docker.com>2017-08-21 17:51:45 -0400
committerDaniel Nephin <dnephin@docker.com>2017-08-21 18:18:50 -0400
commit62c1f0ef41e6cd88a8846da1c11976a320ca8b41 (patch)
tree7b593ee24dc00d7fd7296606b64a1dbdc6d2ccf0
parent372670b5074b077927314cdf46af30f8752e7db0 (diff)
downloaddocker-62c1f0ef41e6cd88a8846da1c11976a320ca8b41.tar.gz
Add deadcode linter
Signed-off-by: Daniel Nephin <dnephin@docker.com>
-rw-r--r--api/server/httputils/errors.go8
-rw-r--r--api/types/filters/parse.go8
-rw-r--r--client/client_mock_test.go8
-rw-r--r--client/transport.go8
-rw-r--r--cmd/dockerd/daemon_solaris.go13
-rw-r--r--cmd/dockerd/daemon_windows.go6
-rw-r--r--daemon/daemon_solaris.go9
-rw-r--r--daemon/daemon_windows.go20
-rw-r--r--daemon/graphdriver/plugin.go10
-rw-r--r--daemon/health.go3
-rw-r--r--daemon/metrics.go3
-rwxr-xr-xhack/dockerfile/install-binaries.sh7
-rw-r--r--hack/validate/gometalinter.json1
-rw-r--r--pkg/devicemapper/devmapper.go1
-rw-r--r--pkg/plugins/pluginrpc-gen/fixtures/foo.go6
-rw-r--r--plugin/backend_linux.go18
-rw-r--r--volume/drivers/extpoint.go1
-rw-r--r--volume/validate_unix_test.go (renamed from volume/validate_test_unix.go)0
-rw-r--r--volume/validate_windows_test.go (renamed from volume/validate_test_windows.go)0
-rw-r--r--volume/volume_unix.go4
-rw-r--r--volume/volume_windows.go7
21 files changed, 19 insertions, 122 deletions
diff --git a/api/server/httputils/errors.go b/api/server/httputils/errors.go
index 10628f6b33..05a842c3af 100644
--- a/api/server/httputils/errors.go
+++ b/api/server/httputils/errors.go
@@ -13,14 +13,6 @@ import (
"google.golang.org/grpc/codes"
)
-// httpStatusError is an interface
-// that errors with custom status codes
-// implement to tell the api layer
-// which response status to set.
-type httpStatusError interface {
- HTTPErrorStatusCode() int
-}
-
type causer interface {
Cause() error
}
diff --git a/api/types/filters/parse.go b/api/types/filters/parse.go
index 411eafd6de..363d4540bb 100644
--- a/api/types/filters/parse.go
+++ b/api/types/filters/parse.go
@@ -276,14 +276,6 @@ func (filters Args) Validate(accepted map[string]bool) error {
return nil
}
-type invalidFilterError string
-
-func (e invalidFilterError) Error() string {
- return "Invalid filter: '" + string(e) + "'"
-}
-
-func (invalidFilterError) InvalidParameter() {}
-
// WalkValues iterates over the list of filtered values for a field.
// It stops the iteration if it finds an error and it returns that error.
func (filters Args) WalkValues(field string, op func(value string) error) error {
diff --git a/client/client_mock_test.go b/client/client_mock_test.go
index 0ab935d536..e75c3ecbfc 100644
--- a/client/client_mock_test.go
+++ b/client/client_mock_test.go
@@ -9,6 +9,14 @@ import (
"github.com/docker/docker/api/types"
)
+// transportFunc allows us to inject a mock transport for testing. We define it
+// here so we can detect the tlsconfig and return nil for only this type.
+type transportFunc func(*http.Request) (*http.Response, error)
+
+func (tf transportFunc) RoundTrip(req *http.Request) (*http.Response, error) {
+ return tf(req)
+}
+
func newMockClient(doer func(*http.Request) (*http.Response, error)) *http.Client {
return &http.Client{
Transport: transportFunc(doer),
diff --git a/client/transport.go b/client/transport.go
index 401ab15d30..73f6ef7b4d 100644
--- a/client/transport.go
+++ b/client/transport.go
@@ -5,14 +5,6 @@ import (
"net/http"
)
-// transportFunc allows us to inject a mock transport for testing. We define it
-// here so we can detect the tlsconfig and return nil for only this type.
-type transportFunc func(*http.Request) (*http.Response, error)
-
-func (tf transportFunc) RoundTrip(req *http.Request) (*http.Response, error) {
- return tf(req)
-}
-
// resolveTLSConfig attempts to resolve the TLS configuration from the
// RoundTripper.
func resolveTLSConfig(transport http.RoundTripper) *tls.Config {
diff --git a/cmd/dockerd/daemon_solaris.go b/cmd/dockerd/daemon_solaris.go
index dab4d4aaad..9ee18dad7d 100644
--- a/cmd/dockerd/daemon_solaris.go
+++ b/cmd/dockerd/daemon_solaris.go
@@ -5,27 +5,14 @@ package main
import (
"fmt"
"net"
- "os"
"path/filepath"
"github.com/docker/docker/libcontainerd"
- "github.com/docker/docker/pkg/system"
"golang.org/x/sys/unix"
)
const defaultDaemonConfigFile = ""
-// currentUserIsOwner checks whether the current user is the owner of the given
-// file.
-func currentUserIsOwner(f string) bool {
- if fileInfo, err := system.Stat(f); err == nil && fileInfo != nil {
- if int(fileInfo.UID()) == os.Getuid() {
- return true
- }
- }
- return false
-}
-
// setDefaultUmask sets the umask to 0022 to avoid problems
// caused by custom umask
func setDefaultUmask() error {
diff --git a/cmd/dockerd/daemon_windows.go b/cmd/dockerd/daemon_windows.go
index 7dd0920ce7..7407af45a2 100644
--- a/cmd/dockerd/daemon_windows.go
+++ b/cmd/dockerd/daemon_windows.go
@@ -14,12 +14,6 @@ import (
var defaultDaemonConfigFile = ""
-// currentUserIsOwner checks whether the current user is the owner of the given
-// file.
-func currentUserIsOwner(f string) bool {
- return false
-}
-
// setDefaultUmask doesn't do anything on windows
func setDefaultUmask() error {
return nil
diff --git a/daemon/daemon_solaris.go b/daemon/daemon_solaris.go
index 905ed5843a..f523b1ee5a 100644
--- a/daemon/daemon_solaris.go
+++ b/daemon/daemon_solaris.go
@@ -22,7 +22,7 @@ import (
"github.com/docker/libnetwork/netlabel"
"github.com/docker/libnetwork/netutils"
lntypes "github.com/docker/libnetwork/types"
- "github.com/opencontainers/runtime-spec/specs-go"
+ specs "github.com/opencontainers/runtime-spec/specs-go"
"github.com/opencontainers/selinux/go-selinux/label"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
@@ -32,10 +32,9 @@ import (
import "C"
const (
- defaultVirtualSwitch = "Virtual Switch"
- platformSupported = true
- solarisMinCPUShares = 1
- solarisMaxCPUShares = 65535
+ platformSupported = true
+ solarisMinCPUShares = 1
+ solarisMaxCPUShares = 65535
)
func getMemoryResources(config containertypes.Resources) specs.CappedMemory {
diff --git a/daemon/daemon_windows.go b/daemon/daemon_windows.go
index c8ae577eac..f78f60a0af 100644
--- a/daemon/daemon_windows.go
+++ b/daemon/daemon_windows.go
@@ -5,7 +5,6 @@ import (
"os"
"path/filepath"
"strings"
- "syscall"
"github.com/Microsoft/hcsshim"
"github.com/docker/docker/api/types"
@@ -38,9 +37,6 @@ const (
windowsMaxCPUShares = 10000
windowsMinCPUPercent = 1
windowsMaxCPUPercent = 100
- windowsMinCPUCount = 1
-
- errInvalidState = syscall.Errno(0x139F)
)
// Windows has no concept of an execution state directory. So use config.Root here.
@@ -60,22 +56,6 @@ func parseSecurityOpt(container *container.Container, config *containertypes.Hos
return nil
}
-func getBlkioReadIOpsDevices(config *containertypes.HostConfig) ([]blkiodev.ThrottleDevice, error) {
- return nil, nil
-}
-
-func getBlkioWriteIOpsDevices(config *containertypes.HostConfig) ([]blkiodev.ThrottleDevice, error) {
- return nil, nil
-}
-
-func getBlkioReadBpsDevices(config *containertypes.HostConfig) ([]blkiodev.ThrottleDevice, error) {
- return nil, nil
-}
-
-func getBlkioWriteBpsDevices(config *containertypes.HostConfig) ([]blkiodev.ThrottleDevice, error) {
- return nil, nil
-}
-
func (daemon *Daemon) getLayerInit() func(string) error {
return nil
}
diff --git a/daemon/graphdriver/plugin.go b/daemon/graphdriver/plugin.go
index f6852f0752..5d433e5196 100644
--- a/daemon/graphdriver/plugin.go
+++ b/daemon/graphdriver/plugin.go
@@ -2,22 +2,12 @@ package graphdriver
import (
"fmt"
- "io"
"path/filepath"
"github.com/docker/docker/pkg/plugingetter"
"github.com/docker/docker/plugin/v2"
)
-type pluginClient interface {
- // Call calls the specified method with the specified arguments for the plugin.
- Call(string, interface{}, interface{}) error
- // Stream calls the specified method with the specified arguments for the plugin and returns the response IO stream
- Stream(string, interface{}) (io.ReadCloser, error)
- // SendFile calls the specified method, and passes through the IO stream
- SendFile(string, io.Reader, interface{}) error
-}
-
func lookupPlugin(name string, pg plugingetter.PluginGetter, config Options) (Driver, error) {
if !config.ExperimentalEnabled {
return nil, fmt.Errorf("graphdriver plugins are only supported with experimental mode")
diff --git a/daemon/health.go b/daemon/health.go
index e10fe87104..7d8c84a397 100644
--- a/daemon/health.go
+++ b/daemon/health.go
@@ -45,8 +45,7 @@ const (
const (
// Exit status codes that can be returned by the probe command.
- exitStatusHealthy = 0 // Container is healthy
- exitStatusUnhealthy = 1 // Container is unhealthy
+ exitStatusHealthy = 0 // Container is healthy
)
// probe implementations know how to run a particular type of probe.
diff --git a/daemon/metrics.go b/daemon/metrics.go
index 0d9f37e8db..8cd363fb11 100644
--- a/daemon/metrics.go
+++ b/daemon/metrics.go
@@ -6,7 +6,7 @@ import (
"github.com/docker/docker/pkg/mount"
"github.com/docker/docker/pkg/plugingetter"
- "github.com/docker/go-metrics"
+ metrics "github.com/docker/go-metrics"
"github.com/pkg/errors"
"github.com/prometheus/client_golang/prometheus"
"github.com/sirupsen/logrus"
@@ -16,7 +16,6 @@ const metricsPluginType = "MetricsCollector"
var (
containerActions metrics.LabeledTimer
- containerStates metrics.LabeledGauge
imageActions metrics.LabeledTimer
networkActions metrics.LabeledTimer
engineInfo metrics.LabeledGauge
diff --git a/hack/dockerfile/install-binaries.sh b/hack/dockerfile/install-binaries.sh
index abd436f411..0dc8f38f27 100755
--- a/hack/dockerfile/install-binaries.sh
+++ b/hack/dockerfile/install-binaries.sh
@@ -60,12 +60,7 @@ install_gometalinter() {
cd "$GOPATH/src/github.com/alecthomas/gometalinter"
git checkout -q "$GOMETALINTER_COMMIT"
go build -o /usr/local/bin/gometalinter github.com/alecthomas/gometalinter
- (
- export GOBIN=/usr/local/bin
- export GOPATH="$PWD/_linters/"
- go install github.com/golang/lint/golint
- go install golang.org/x/tools/cmd/goimports
- )
+ GOBIN=/usr/local/bin gometalinter --install
}
for prog in "$@"
diff --git a/hack/validate/gometalinter.json b/hack/validate/gometalinter.json
index 6df7e6dc20..e4614b5e8e 100644
--- a/hack/validate/gometalinter.json
+++ b/hack/validate/gometalinter.json
@@ -10,6 +10,7 @@
],
"Enable": [
+ "deadcode",
"gofmt",
"goimports",
"golint",
diff --git a/pkg/devicemapper/devmapper.go b/pkg/devicemapper/devmapper.go
index 2254a6b530..6a0ac24647 100644
--- a/pkg/devicemapper/devmapper.go
+++ b/pkg/devicemapper/devmapper.go
@@ -14,6 +14,7 @@ import (
)
// Same as DM_DEVICE_* enum values from libdevmapper.h
+// nolint: deadcode
const (
deviceCreate TaskType = iota
deviceReload
diff --git a/pkg/plugins/pluginrpc-gen/fixtures/foo.go b/pkg/plugins/pluginrpc-gen/fixtures/foo.go
index 5695dcc2d4..4dd1d6dd24 100644
--- a/pkg/plugins/pluginrpc-gen/fixtures/foo.go
+++ b/pkg/plugins/pluginrpc-gen/fixtures/foo.go
@@ -1,17 +1,11 @@
package foo
import (
- "fmt"
-
aliasedio "io"
"github.com/docker/docker/pkg/plugins/pluginrpc-gen/fixtures/otherfixture"
)
-var (
- errFakeImport = fmt.Errorf("just to import fmt for imports tests")
-)
-
type wobble struct {
Some string
Val string
diff --git a/plugin/backend_linux.go b/plugin/backend_linux.go
index e70dcdbb06..8a31e97e51 100644
--- a/plugin/backend_linux.go
+++ b/plugin/backend_linux.go
@@ -32,7 +32,7 @@ import (
"github.com/docker/docker/pkg/system"
"github.com/docker/docker/plugin/v2"
refstore "github.com/docker/docker/reference"
- "github.com/opencontainers/go-digest"
+ digest "github.com/opencontainers/go-digest"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"golang.org/x/net/context"
@@ -652,22 +652,6 @@ func (pm *Manager) Remove(name string, config *types.PluginRmConfig) error {
return nil
}
-func getMounts(root string) ([]string, error) {
- infos, err := mount.GetMounts()
- if err != nil {
- return nil, errors.Wrap(err, "failed to read mount table")
- }
-
- var mounts []string
- for _, m := range infos {
- if strings.HasPrefix(m.Mountpoint, root) {
- mounts = append(mounts, m.Mountpoint)
- }
- }
-
- return mounts, nil
-}
-
// Set sets plugin args
func (pm *Manager) Set(name string, args []string) error {
p, err := pm.config.Store.GetV2Plugin(name)
diff --git a/volume/drivers/extpoint.go b/volume/drivers/extpoint.go
index 9c65d899ea..ee42f2f5ed 100644
--- a/volume/drivers/extpoint.go
+++ b/volume/drivers/extpoint.go
@@ -32,6 +32,7 @@ func NewVolumeDriver(name string, baseHostPath string, c client) volume.Driver {
// volumeDriver defines the available functions that volume plugins must implement.
// This interface is only defined to generate the proxy objects.
// It's not intended to be public or reused.
+// nolint: deadcode
type volumeDriver interface {
// Create a volume with the given name
Create(name string, opts map[string]string) (err error)
diff --git a/volume/validate_test_unix.go b/volume/validate_unix_test.go
index dd1de2f643..dd1de2f643 100644
--- a/volume/validate_test_unix.go
+++ b/volume/validate_unix_test.go
diff --git a/volume/validate_test_windows.go b/volume/validate_windows_test.go
index d5f86ac850..d5f86ac850 100644
--- a/volume/validate_test_windows.go
+++ b/volume/validate_windows_test.go
diff --git a/volume/volume_unix.go b/volume/volume_unix.go
index 5dde82147f..31555a691a 100644
--- a/volume/volume_unix.go
+++ b/volume/volume_unix.go
@@ -119,10 +119,6 @@ func validateNotRoot(p string) error {
return nil
}
-func validateCopyMode(mode bool) error {
- return nil
-}
-
func convertSlash(p string) string {
return p
}
diff --git a/volume/volume_windows.go b/volume/volume_windows.go
index d792b385f8..5bee223702 100644
--- a/volume/volume_windows.go
+++ b/volume/volume_windows.go
@@ -183,13 +183,6 @@ func validateNotRoot(p string) error {
return nil
}
-func validateCopyMode(mode bool) error {
- if mode {
- return fmt.Errorf("Windows does not support copying image path content")
- }
- return nil
-}
-
func convertSlash(p string) string {
return filepath.FromSlash(p)
}