From 12df8565cf9466e321527967755517e5f7c17167 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 28 Apr 2015 12:05:45 +0200 Subject: build: run build commands from the fake workspace root This ensures that compiler error messages contain the correct path. --- build/env.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'build') diff --git a/build/env.sh b/build/env.sh index b28ad6259..04401a3e1 100755 --- a/build/env.sh +++ b/build/env.sh @@ -24,5 +24,9 @@ GOPATH="$ethdir/go-ethereum/Godeps/_workspace:$workspace" GOBIN="$PWD/build/bin" export GOPATH GOBIN +# Run the command inside the workspace. +cd "$ethdir/go-ethereum" +PWD="$ethdir/go-ethereum" + # Launch the arguments with the configured environment. -exec $@ +exec "$@" -- cgit v1.2.3 From 71c28cfb0c62c90c6881e4a9b857f8c8f692b5e6 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 28 Apr 2015 12:53:50 +0200 Subject: Makefile: set main.gitCommit when building --- build/ldflags.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100755 build/ldflags.sh (limited to 'build') diff --git a/build/ldflags.sh b/build/ldflags.sh new file mode 100755 index 000000000..9e17ca498 --- /dev/null +++ b/build/ldflags.sh @@ -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 -- cgit v1.2.3 From aa03e53ca8d55e74e562f5f56d90e4fd2579fb4e Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Wed, 29 Apr 2015 01:27:47 +0200 Subject: Use Makefile for Travis tests --- build/test-global-coverage.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 build/test-global-coverage.sh (limited to 'build') diff --git a/build/test-global-coverage.sh b/build/test-global-coverage.sh new file mode 100755 index 000000000..417c829f4 --- /dev/null +++ b/build/test-global-coverage.sh @@ -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 -- cgit v1.2.3