mirror of
https://github.com/status-im/status-go.git
synced 2025-01-24 05:31:36 +00:00
8153d935d2
The goal of this PR is to make geth/api tests to finally pass from the beginning to the end. I tried to achieve it here by: Removing calls to common.PanicAfter so that we know which tests fail the most, Better sync of some tests using channels, Small test improvements.
177 lines
9.5 KiB
Makefile
177 lines
9.5 KiB
Makefile
.PHONY: statusgo all test xgo clean
|
|
.PHONY: statusgo-android statusgo-ios
|
|
|
|
GOBIN = build/bin
|
|
GO ?= latest
|
|
|
|
statusgo:
|
|
build/env.sh go build -i -o $(GOBIN)/statusd -v $(shell build/testnet-flags.sh) ./cmd/statusd
|
|
@echo "\nCompilation done.\nRun \"build/bin/statusd help\" to view available commands."
|
|
|
|
statusgo-cross: statusgo-android statusgo-ios
|
|
@echo "Full cross compilation done."
|
|
@ls -ld $(GOBIN)/statusgo-*
|
|
|
|
statusgo-android: xgo
|
|
build/env.sh $(GOBIN)/xgo --image farazdagi/xgo --go=$(GO) -out statusgo --dest=$(GOBIN) --targets=android-16/aar -v $(shell build/testnet-flags.sh) ./cmd/statusd
|
|
@echo "Android cross compilation done."
|
|
|
|
statusgo-ios: xgo
|
|
build/env.sh $(GOBIN)/xgo --image farazdagi/xgo --go=$(GO) -out statusgo --dest=$(GOBIN) --targets=ios-9.3/framework -v $(shell build/testnet-flags.sh) ./cmd/statusd
|
|
@echo "iOS framework cross compilation done."
|
|
|
|
statusgo-ios-simulator: xgo
|
|
@build/env.sh docker pull farazdagi/xgo-ios-simulator
|
|
build/env.sh $(GOBIN)/xgo --image farazdagi/xgo-ios-simulator --go=$(GO) -out statusgo --dest=$(GOBIN) --targets=ios-9.3/framework -v $(shell build/testnet-flags.sh) ./cmd/statusd
|
|
@echo "iOS framework cross compilation done."
|
|
|
|
xgo:
|
|
build/env.sh docker pull farazdagi/xgo
|
|
build/env.sh go get github.com/karalabe/xgo
|
|
|
|
statusgo-mainnet:
|
|
build/env.sh go build -i -o $(GOBIN)/statusgo -v $(shell build/mainnet-flags.sh) ./cmd/statusd
|
|
@echo "status go compilation done (mainnet)."
|
|
@echo "Run \"build/bin/statusgo\" to view available commands"
|
|
|
|
statusgo-android-mainnet: xgo
|
|
build/env.sh $(GOBIN)/xgo --image farazdagi/xgo --go=$(GO) -out statusgo --dest=$(GOBIN) --targets=android-16/aar -v $(shell build/mainnet-flags.sh) ./cmd/statusd
|
|
@echo "Android cross compilation done (mainnet)."
|
|
|
|
statusgo-ios-mainnet: xgo
|
|
build/env.sh $(GOBIN)/xgo --image farazdagi/xgo --go=$(GO) -out statusgo --dest=$(GOBIN) --targets=ios-9.3/framework -v $(shell build/mainnet-flags.sh) ./cmd/statusd
|
|
@echo "iOS framework cross compilation done (mainnet)."
|
|
|
|
statusgo-ios-simulator-mainnet: xgo
|
|
build/env.sh $(GOBIN)/xgo --image farazdagi/xgo-ios-simulator --go=$(GO) -out statusgo --dest=$(GOBIN) --targets=ios-9.3/framework -v $(shell build/mainnet-flags.sh) ./cmd/statusd
|
|
@echo "iOS framework cross compilation done (mainnet)."
|
|
|
|
ci: mock
|
|
build/env.sh go test -timeout 10m -v ./geth/api/...
|
|
build/env.sh go test -timeout 40m -v ./geth/common
|
|
build/env.sh go test -timeout 40m -v ./geth/jail
|
|
build/env.sh go test -timeout 40m -v ./geth/node
|
|
build/env.sh go test -timeout 40m -v ./geth/params
|
|
build/env.sh go test -timeout 40m -v ./extkeys
|
|
build/env.sh go test -timeout 1m -v ./helpers/...
|
|
|
|
generate:
|
|
cp ./node_modules/web3/dist/web3.js ./static/scripts/web3.js
|
|
build/env.sh go generate ./static
|
|
rm ./static/scripts/web3.js
|
|
|
|
lint-deps:
|
|
go get -u github.com/alecthomas/gometalinter
|
|
gometalinter --install
|
|
|
|
lint-cur:
|
|
gometalinter --disable-all --enable=deadcode extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
|
|
lint:
|
|
@echo "Linter: go vet\n--------------------"
|
|
@gometalinter --disable-all --enable=vet extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: go vet --shadow\n--------------------"
|
|
@gometalinter --disable-all --enable=vetshadow extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: gofmt\n--------------------"
|
|
@gometalinter --disable-all --enable=gofmt extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: goimports\n--------------------"
|
|
@gometalinter --disable-all --enable=goimports extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: golint\n--------------------"
|
|
@gometalinter --disable-all --enable=golint extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: deadcode\n--------------------"
|
|
@gometalinter --disable-all --enable=deadcode extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: misspell\n--------------------"
|
|
@gometalinter --disable-all --enable=misspell extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: unparam\n--------------------"
|
|
@gometalinter --disable-all --deadline 45s --enable=unparam extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: unused\n--------------------"
|
|
@gometalinter --disable-all --deadline 45s --enable=unused extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: gocyclo\n--------------------"
|
|
@gometalinter --disable-all --enable=gocyclo extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: errcheck\n--------------------"
|
|
@gometalinter --disable-all --enable=errcheck extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: dupl\n--------------------"
|
|
@gometalinter --disable-all --enable=dupl extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: ineffassign\n--------------------"
|
|
@gometalinter --disable-all --enable=ineffassign extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: interfacer\n--------------------"
|
|
@gometalinter --disable-all --enable=interfacer extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: unconvert\n--------------------"
|
|
@gometalinter --disable-all --enable=unconvert extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: goconst\n--------------------"
|
|
@gometalinter --disable-all --enable=goconst extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: staticcheck\n--------------------"
|
|
@gometalinter --disable-all --deadline 45s --enable=staticcheck extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: gas\n--------------------"
|
|
@gometalinter --disable-all --enable=gas extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: varcheck\n--------------------"
|
|
@gometalinter --disable-all --deadline 60s --enable=varcheck extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: structcheck\n--------------------"
|
|
@gometalinter --disable-all --enable=structcheck extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
@echo "Linter: gosimple\n--------------------"
|
|
@gometalinter --disable-all --deadline 45s --enable=gosimple extkeys cmd/... geth/... | grep -v -f ./static/config/linter_exclude_list.txt || echo "OK!"
|
|
|
|
mock-install:
|
|
go get -u github.com/golang/mock/mockgen
|
|
|
|
mock: mock-install
|
|
mockgen -source=geth/common/types.go -destination=geth/common/types_mock.go -package=common
|
|
|
|
test:
|
|
@build/env.sh echo "mode: set" > coverage-all.out
|
|
build/env.sh go test -coverprofile=coverage.out -covermode=set ./geth/api
|
|
@build/env.sh tail -n +2 coverage.out >> coverage-all.out
|
|
build/env.sh go test -coverprofile=coverage.out -covermode=set ./geth/common
|
|
@build/env.sh tail -n +2 coverage.out >> coverage-all.out
|
|
build/env.sh go test -coverprofile=coverage.out -covermode=set ./geth/jail
|
|
@build/env.sh tail -n +2 coverage.out >> coverage-all.out
|
|
build/env.sh go test -coverprofile=coverage.out -covermode=set ./geth/node
|
|
@build/env.sh tail -n +2 coverage.out >> coverage-all.out
|
|
build/env.sh go test -coverprofile=coverage.out -covermode=set ./geth/params
|
|
@build/env.sh tail -n +2 coverage.out >> coverage-all.out
|
|
build/env.sh go test -coverprofile=coverage.out -covermode=set ./extkeys
|
|
@build/env.sh tail -n +2 coverage.out >> coverage-all.out
|
|
build/env.sh go test -coverprofile=coverage.out -covermode=set ./cmd/statusd
|
|
@build/env.sh tail -n +2 coverage.out >> coverage-all.out
|
|
@build/env.sh go tool cover -html=coverage-all.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage-all.out
|
|
|
|
test-api:
|
|
build/env.sh go test -v -coverprofile=coverage.out -coverpkg=./geth/node ./geth/api
|
|
@build/env.sh go tool cover -html=coverage.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage.out
|
|
|
|
test-common:
|
|
build/env.sh go test -v -coverprofile=coverage.out ./geth/common
|
|
@build/env.sh go tool cover -html=coverage.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage.out
|
|
|
|
test-jail:
|
|
build/env.sh go test -v -coverprofile=coverage.out ./geth/jail
|
|
@build/env.sh go tool cover -html=coverage.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage.out
|
|
|
|
test-node:
|
|
build/env.sh go test -v -coverprofile=coverage.out ./geth/node
|
|
@build/env.sh go tool cover -html=coverage.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage.out
|
|
|
|
test-params:
|
|
build/env.sh go test -v -coverprofile=coverage.out ./geth/params
|
|
@build/env.sh go tool cover -html=coverage.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage.out
|
|
|
|
test-extkeys:
|
|
build/env.sh go test -v -coverprofile=coverage.out ./extkeys
|
|
@build/env.sh go tool cover -html=coverage.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage.out
|
|
|
|
test-cmd:
|
|
build/env.sh go test -v -coverprofile=coverage.out ./cmd/statusd
|
|
@build/env.sh go tool cover -html=coverage.out -o coverage.html
|
|
@build/env.sh go tool cover -func=coverage.out
|
|
|
|
clean:
|
|
rm -fr build/bin/*
|
|
rm coverage.out coverage-all.out coverage.html
|