forked from mirror/go-ethereum
commit
bac4440e17
@ -1,22 +1,28 @@ |
|||||||
# This Makefile is meant to be used by people that do not usually work
|
# This Makefile is meant to be used by people that do not usually work
|
||||||
# with Go source code. If you know what GOPATH is then you probably
|
# with Go source code. If you know what GOPATH is then you probably
|
||||||
# don't need to bother with make.
|
# don't need to bother with make.
|
||||||
#
|
|
||||||
# Note that there is no way to run the tests or do anything other than
|
|
||||||
# building the binaries. This is by design.
|
|
||||||
|
|
||||||
.PHONY: geth mist clean |
.PHONY: geth mist all test travis-test-with-coverage clean |
||||||
GOBIN = build/bin
|
GOBIN = build/bin
|
||||||
|
|
||||||
geth: |
geth: |
||||||
build/env.sh go install -v github.com/ethereum/go-ethereum/cmd/geth
|
build/env.sh go install -v $(shell build/ldflags.sh) ./cmd/geth
|
||||||
@echo "Done building."
|
@echo "Done building."
|
||||||
@echo "Run \"$(GOBIN)/geth\" to launch geth."
|
@echo "Run \"$(GOBIN)/geth\" to launch geth."
|
||||||
|
|
||||||
mist: |
mist: |
||||||
build/env.sh go install -v github.com/ethereum/go-ethereum/cmd/mist
|
build/env.sh go install -v $(shell build/ldflags.sh) ./cmd/mist
|
||||||
@echo "Done building."
|
@echo "Done building."
|
||||||
@echo "Run \"$(GOBIN)/mist --asset_path=cmd/mist/assets\" to launch mist."
|
@echo "Run \"$(GOBIN)/mist --asset_path=cmd/mist/assets\" to launch mist."
|
||||||
|
|
||||||
|
all: |
||||||
|
build/env.sh go install -v $(shell build/ldflags.sh) ./...
|
||||||
|
|
||||||
|
test: all |
||||||
|
build/env.sh go test ./...
|
||||||
|
|
||||||
|
travis-test-with-coverage: all |
||||||
|
build/env.sh build/test-global-coverage.sh
|
||||||
|
|
||||||
clean: |
clean: |
||||||
rm -fr build/_workspace/pkg/ $(GOBIN)/*
|
rm -fr build/_workspace/pkg/ Godeps/_workspace/pkg $(GOBIN)/*
|
||||||
|
@ -0,0 +1,13 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
if [ ! -f "build/env.sh" ]; then |
||||||
|
echo "$0 must be run from the root of the repository." |
||||||
|
exit 2 |
||||||
|
fi |
||||||
|
|
||||||
|
# set gitCommit when running from a Git checkout. |
||||||
|
if [ -f ".git/HEAD" ]; then |
||||||
|
echo "-ldflags '-X main.gitCommit $(git rev-parse HEAD)'" |
||||||
|
fi |
@ -0,0 +1,26 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# This script runs all package tests and merges the resulting coverage |
||||||
|
# profiles. Coverage is accounted per package under test. |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
if [ ! -f "build/env.sh" ]; then |
||||||
|
echo "$0 must be run from the root of the repository." |
||||||
|
exit 2 |
||||||
|
fi |
||||||
|
|
||||||
|
echo "mode: count" > profile.cov |
||||||
|
|
||||||
|
for pkg in $(go list ./...); do |
||||||
|
# drop the namespace prefix. |
||||||
|
dir=${pkg##github.com/ethereum/go-ethereum/} |
||||||
|
|
||||||
|
if [[ $dir != "tests/vm" ]]; then |
||||||
|
go test -covermode=count -coverprofile=$dir/profile.tmp $pkg |
||||||
|
fi |
||||||
|
if [[ -f $dir/profile.tmp ]]; then |
||||||
|
tail -n +2 $dir/profile.tmp >> profile.cov |
||||||
|
rm $dir/profile.tmp |
||||||
|
fi |
||||||
|
done |
@ -1,31 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
|
|
||||||
set -e |
|
||||||
|
|
||||||
# Add godep workspace to GOPATH. We do it manually instead of using |
|
||||||
# 'godep go test' or 'godep restore' so godep doesn't need to be installed. |
|
||||||
GOPATH="$PWD/Godeps/_workspace:$GOPATH" |
|
||||||
|
|
||||||
# Install packages before testing. Not doing this would cause |
|
||||||
# 'go test' to recompile all package dependencies before testing each package. |
|
||||||
go install ./... |
|
||||||
|
|
||||||
# Run test coverage on each subdirectories and merge the coverage profile. |
|
||||||
echo "mode: count" > profile.cov |
|
||||||
|
|
||||||
# Standard go tooling behavior is to ignore dirs with leading underscors |
|
||||||
for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); |
|
||||||
do |
|
||||||
if ls $dir/*.go &> /dev/null; then |
|
||||||
# echo $dir |
|
||||||
if [[ $dir != "./tests/vm" && $dir != "." ]] |
|
||||||
then |
|
||||||
go test -covermode=count -coverprofile=$dir/profile.tmp $dir |
|
||||||
fi |
|
||||||
if [ -f $dir/profile.tmp ] |
|
||||||
then |
|
||||||
cat $dir/profile.tmp | tail -n +2 >> profile.cov |
|
||||||
rm $dir/profile.tmp |
|
||||||
fi |
|
||||||
fi |
|
||||||
done |
|
Loading…
Reference in new issue