1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #1776 from fcrisciani/makefile

Makefile
This commit is contained in:
Madhu Venugopal 2017-06-12 11:56:34 -07:00 committed by GitHub
commit 0585b10fd3
23 changed files with 93 additions and 48 deletions

View file

@ -1,7 +1,9 @@
FROM golang:1.7.1
FROM golang:1.8.3
RUN apt-get update && apt-get -y install iptables
RUN go get github.com/tools/godep \
github.com/golang/lint/golint \
golang.org/x/tools/cmd/cover\
github.com/mattn/goveralls
golang.org/x/tools/cmd/cover \
github.com/mattn/goveralls \
github.com/gordonklaus/ineffassign \
github.com/client9/misspell/cmd/misspell

View file

@ -1,4 +1,4 @@
.PHONY: all all-local build build-local clean cross cross-local check check-code check-format run-tests integration-tests check-local coveralls circle-ci-cross circle-ci-build circle-ci-check circle-ci
.PHONY: all all-local build build-local clean cross cross-local vet lint misspell check check-code check-format run-tests integration-tests check-local coveralls circle-ci-cross circle-ci-build circle-ci-check circle-ci
SHELL=/bin/bash
build_image=libnetworkbuild
dockerargs = --privileged -v $(shell pwd):/go/src/github.com/docker/libnetwork -w /go/src/github.com/docker/libnetwork
@ -7,6 +7,7 @@ docker = docker run --rm -it ${dockerargs} $$EXTRA_ARGS ${container_env} ${build
ciargs = -e CIRCLECI -e "COVERALLS_TOKEN=$$COVERALLS_TOKEN" -e "INSIDECONTAINER=-incontainer=true"
cidocker = docker run ${dockerargs} ${ciargs} $$EXTRA_ARGS ${container_env} ${build_image}
CROSS_PLATFORMS = linux/amd64 linux/386 linux/arm windows/amd64
PACKAGES=$(shell go list ./... | grep -v /vendor/)
export PATH := $(CURDIR)/bin:$(PATH)
hostOS = ${shell go env GOHOSTOS}
ifeq (${hostOS}, solaris)
@ -22,25 +23,31 @@ all: ${build_image}.created build check integration-tests clean
all-local: build-local check-local integration-tests-local clean
${build_image}.created:
@echo "🐳 $@"
docker build -f Dockerfile.build -t ${build_image} .
touch ${build_image}.created
build: ${build_image}.created
@echo "Building code... "
@echo "🐳 $@"
@${docker} ./wrapmake.sh build-local
@echo "Done building code"
build-local:
@echo "🐳 $@"
@mkdir -p "bin"
go build -tags experimental -o "bin/dnet" ./cmd/dnet
go build -o "bin/docker-proxy" ./cmd/proxy
clean:
@echo "🐳 $@"
@if [ -d bin ]; then \
echo "Removing dnet and proxy binaries"; \
rm -rf bin; \
fi
force-clean: clean
@echo "🐳 $@"
@rm -rf ${build_image}.created
cross: ${build_image}.created
@mkdir -p "bin"
@for platform in ${CROSS_PLATFORMS}; do \
@ -50,25 +57,19 @@ cross: ${build_image}.created
done
cross-local:
@echo "🐳 $@"
go build -o "bin/dnet-$$GOOS-$$GOARCH" ./cmd/dnet
go build -o "bin/docker-proxy-$$GOOS-$$GOARCH" ./cmd/proxy
check: ${build_image}.created
@${docker} ./wrapmake.sh check-local
check-code:
@echo "Checking code... "
test -z "$$(golint ./... | grep -Ev 'vendor|.pb.go:' | tee /dev/stderr)"
test -z "$$(go vet ./... 2>&1 > /dev/null | grep -Ev 'vendor|exit' | tee /dev/stderr)"
@echo "Done checking code"
check-code: lint vet ineffassign
check-format:
@echo "Checking format... "
test -z "$$(gofmt -s -l . | grep -v vendor/ | tee /dev/stderr)"
@echo "Done checking format"
check-format: fmt misspell
run-tests:
@echo "Running tests... "
@echo "🐳 Running tests... "
@echo "mode: count" > coverage.coverprofile
@for dir in $$( ${gnufind} . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -not -path './vendor/*' -type d); do \
if [ ${hostOS} == solaris ]; then \
@ -130,6 +131,28 @@ integration-tests: ./bin/dnet
coveralls:
-@goveralls -service circleci -coverprofile=coverage.coverprofile -repotoken $$COVERALLS_TOKEN
# Depends on binaries because vet will silently fail if it can not load compiled imports
vet: ## run go vet
@echo "🐳 $@"
@test -z "$$(go vet ${PACKAGES} 2>&1 | grep -v 'constant [0-9]* not a string in call to Errorf' | egrep -v '(timestamp_test.go|duration_test.go|exit status 1)' | tee /dev/stderr)"
misspell:
@echo "🐳 $@"
@test -z "$$(find . -type f | grep -v vendor/ | grep -v bin/ | grep -v .git/ | grep -v MAINTAINERS | xargs misspell | tee /dev/stderr)"
fmt: ## run go fmt
@echo "🐳 $@"
@test -z "$$(gofmt -s -l . | grep -v vendor/ | grep -v ".pb.go$$" | tee /dev/stderr)" || \
(echo "👹 please format Go code with 'gofmt -s -w'" && false)
lint: ## run go lint
@echo "🐳 $@"
@test -z "$$(golint ./... | grep -v vendor/ | grep -v ".pb.go:" | grep -v ".mock.go" | tee /dev/stderr)"
ineffassign: ## run ineffassign
@echo "🐳 $@"
@test -z "$$(ineffassign . | grep -v vendor/ | grep -v ".pb.go:" | grep -v ".mock.go" | tee /dev/stderr)"
# CircleCI's Docker fails when cleaning up using the --rm flag
# The following targets are a workaround for this
circle-ci-cross: ${build_image}.created

View file

@ -165,13 +165,13 @@ func (c *controller) handleKeyChange(keys []*types.EncryptionKey) error {
a.networkDB.SetKey(added)
}
key, tag, err := c.getPrimaryKeyTag(subsysGossip)
key, _, err := c.getPrimaryKeyTag(subsysGossip)
if err != nil {
return err
}
a.networkDB.SetPrimaryKey(key)
key, tag, err = c.getPrimaryKeyTag(subsysIPSec)
key, tag, err := c.getPrimaryKeyTag(subsysIPSec)
if err != nil {
return err
}

View file

@ -914,6 +914,9 @@ func TestAttachDetachBackend(t *testing.T) {
cid := "abcdefghi"
sbox, err := c.NewSandbox(cid)
if err != nil {
t.Fatal(err)
}
sid := sbox.ID()
defer sbox.Delete()
@ -1280,6 +1283,9 @@ func TestJoinLeave(t *testing.T) {
cid := "abcdefghi"
sb, err := c.NewSandbox(cid)
if err != nil {
t.Fatal(err)
}
defer sb.Delete()
jl := endpointJoin{SandboxID: sb.ID()}

View file

@ -13,7 +13,7 @@ var (
)
func init() {
flag.Bool([]string{"#hp", "#-halp"}, false, "display the halp")
flag.Bool([]string{"#hp", "#-help"}, false, "display the help")
flag.BoolVar(&b, []string{"b", "#bal", "#bol", "-bal"}, false, "a simple bool")
flag.BoolVar(&b, []string{"g", "#gil"}, false, "a simple bool")
flag.BoolVar(&b2, []string{"#-bool"}, false, "a simple bool")

View file

@ -22,7 +22,7 @@ type SetMatrix interface {
// returns true if the mapping was deleted, false otherwise
// returns also the number of endpoints associated to the IP
Remove(key string, value interface{}) (bool, int)
// Cardinality returns the number of elements in the set of a specfic key
// Cardinality returns the number of elements in the set of a specific key
// returns false if the key is not in the map
Cardinality(key string) (int, bool)
// String returns the string version of the set, empty otherwise

View file

@ -1014,7 +1014,7 @@ func (c *controller) NetworkByID(id string) (Network, error) {
}
// NewSandbox creates a new sandbox for the passed container id
func (c *controller) NewSandbox(containerID string, options ...SandboxOption) (sBox Sandbox, err error) {
func (c *controller) NewSandbox(containerID string, options ...SandboxOption) (Sandbox, error) {
if containerID == "" {
return nil, types.BadRequestErrorf("invalid container ID")
}
@ -1054,7 +1054,6 @@ func (c *controller) NewSandbox(containerID string, options ...SandboxOption) (s
extDNS: []extDNSEntry{},
}
}
sBox = sb
heap.Init(&sb.endpoints)
@ -1073,6 +1072,8 @@ func (c *controller) NewSandbox(containerID string, options ...SandboxOption) (s
sb.id = "ingress_sbox"
}
c.Unlock()
var err error
defer func() {
if err != nil {
c.Lock()

View file

@ -101,6 +101,9 @@ func TestAtomicKVObjectFlatKey(t *testing.T) {
// Get the Object using GetObject, then set again.
newObj := dummyObject{}
err = store.GetObject(Key(expected.Key()...), &newObj)
if err != nil {
t.Fatal(err)
}
assert.True(t, newObj.Exists())
err = store.PutObjectAtomic(&n)
if err != nil {

View file

@ -670,7 +670,7 @@ func (n *network) initSandbox(restore bool) error {
// In the restore case network sandbox already exist; but we don't know
// what epoch number it was created with. It has to be retrieved by
// searching the net namespaces.
key := ""
var key string
if restore {
key = osl.GenerateKey("-" + n.id)
} else {
@ -872,15 +872,10 @@ func (n *network) Value() []byte {
netJSON = append(netJSON, sj)
}
b, err := json.Marshal(netJSON)
if err != nil {
return []byte{}
}
m["secure"] = n.secure
m["subnets"] = netJSON
m["mtu"] = n.mtu
b, err = json.Marshal(m)
b, err := json.Marshal(m)
if err != nil {
return []byte{}
}

View file

@ -457,7 +457,7 @@ func (n *network) initSandbox(restore bool) error {
// In the restore case network sandbox already exist; but we don't know
// what epoch number it was created with. It has to be retrieved by
// searching the net namespaces.
key := ""
var key string
if restore {
key = osl.GenerateKey("-" + n.id)
} else {
@ -570,15 +570,10 @@ func (n *network) Value() []byte {
netJSON = append(netJSON, sj)
}
b, err := json.Marshal(netJSON)
if err != nil {
return []byte{}
}
m["secure"] = n.secure
m["subnets"] = netJSON
m["mtu"] = n.mtu
b, err = json.Marshal(m)
b, err := json.Marshal(m)
if err != nil {
return []byte{}
}

View file

@ -324,6 +324,9 @@ func (d *driver) CreateNetwork(id string, option map[string]interface{}, nInfo d
}
n, err := d.getNetwork(id)
if err != nil {
return err
}
n.created = true
return d.storeUpdate(config)
}
@ -530,7 +533,13 @@ func (d *driver) CreateEndpoint(nid, eid string, ifInfo driverapi.InterfaceInfo,
}
epOption, err := parseEndpointOptions(epOptions)
if err != nil {
return err
}
epConnectivity, err := parseEndpointConnectivity(epOptions)
if err != nil {
return err
}
macAddress := ifInfo.MacAddress()
// Use the macaddress if it was provided

View file

@ -448,7 +448,7 @@ func (a *Allocator) RequestAddress(poolID string, prefAddress net.IP, opts map[s
c := p
for c.Range != nil {
k = c.ParentKey
c, ok = aSpace.subnets[k]
c = aSpace.subnets[k]
}
aSpace.Unlock()

View file

@ -262,7 +262,7 @@ func TestAddSubnets(t *testing.T) {
t.Fatal("returned different pool id for same sub pool requests")
}
pid, _, _, err = a.RequestPool(localAddressSpace, "10.20.2.0/24", "", nil, false)
_, _, _, err = a.RequestPool(localAddressSpace, "10.20.2.0/24", "", nil, false)
if err == nil {
t.Fatal("Failed to detect overlapping subnets")
}
@ -296,7 +296,6 @@ func TestAddReleasePoolID(t *testing.T) {
t.Fatal(err)
}
subnets := aSpace.subnets
pid0, _, _, err := a.RequestPool(localAddressSpace, "10.0.0.0/8", "", nil, false)
if err != nil {
t.Fatal("Unexpected failure in adding pool")
@ -310,7 +309,7 @@ func TestAddReleasePoolID(t *testing.T) {
t.Fatal(err)
}
subnets = aSpace.subnets
subnets := aSpace.subnets
if subnets[k0].RefCount != 1 {
t.Fatalf("Unexpected ref count for %s: %d", k0, subnets[k0].RefCount)

View file

@ -9,7 +9,7 @@ type Response struct {
Error string
}
// IsSuccess returns wheter the plugin response is successful
// IsSuccess returns whether the plugin response is successful
func (r *Response) IsSuccess() bool {
return r.Error == ""
}

View file

@ -20,6 +20,9 @@ func TestReloaded(t *testing.T) {
var fwdChain *ChainInfo
fwdChain, err = NewChain("FWD", Filter, false)
if err != nil {
t.Fatal(err)
}
bridgeName := "lo"
err = ProgramChain(fwdChain, bridgeName, false, true)

View file

@ -22,12 +22,18 @@ func TestNewChain(t *testing.T) {
bridgeName = "lo"
natChain, err = NewChain(chainName, Nat, false)
if err != nil {
t.Fatal(err)
}
err = ProgramChain(natChain, bridgeName, false, true)
if err != nil {
t.Fatal(err)
}
filterChain, err = NewChain(chainName, Filter, false)
if err != nil {
t.Fatal(err)
}
err = ProgramChain(filterChain, bridgeName, false, true)
if err != nil {
t.Fatal(err)

View file

@ -446,6 +446,9 @@ func TestIpamReleaseOnNetDriverFailures(t *testing.T) {
}
cfgOptions, err := OptionBoltdbWithRandomDBFile()
if err != nil {
t.Fatal(err)
}
c, err := New(cfgOptions...)
if err != nil {
t.Fatal(err)

View file

@ -1904,7 +1904,7 @@ func (n *network) ResolveIP(ip string) string {
return ""
}
// NOTE it is possible to have more than one element in the Set, this will happen
// because of interleave of diffent events from differnt sources (local container create vs
// because of interleave of different events from different sources (local container create vs
// network db notifications)
// In such cases the resolution will be based on the first element of the set, and can vary
// during the system stabilitation

View file

@ -7,6 +7,7 @@ package osl
func GC() {
}
// GetSandboxForExternalKey returns sandbox object for the supplied path
func GetSandboxForExternalKey(path string, key string) (Sandbox, error) {
return nil, nil
}

View file

@ -75,6 +75,9 @@ func TestReuseReleasedPort(t *testing.T) {
if err != nil {
t.Fatal(err)
}
if port != 5000 {
t.Fatalf("Expected port 5000 got %d", port)
}
}
func TestReleaseUnreadledPort(t *testing.T) {
@ -89,7 +92,7 @@ func TestReleaseUnreadledPort(t *testing.T) {
t.Fatalf("Expected port 5000 got %d", port)
}
port, err = p.RequestPort(defaultIP, "tcp", 5000)
_, err = p.RequestPort(defaultIP, "tcp", 5000)
switch err.(type) {
case ErrPortAlreadyAllocated:

View file

@ -520,7 +520,7 @@ func writePortsToFile(ports []*PortConfig) (string, error) {
}
defer f.Close()
buf, err := proto.Marshal(&EndpointRecord{
buf, _ := proto.Marshal(&EndpointRecord{
IngressPorts: ports,
})

View file

@ -1,5 +1,3 @@
// +build solaris
package testutils
import (

View file

@ -1,5 +1,3 @@
// +build windows
package testutils
import (