Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix failing tests and speed up Travis builds #355

Merged
merged 7 commits into from
Feb 20, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,10 @@ before_install:
- sudo apt-get update -qq
- sudo apt-get install -yqq libgmp3-dev libreadline6-dev qt54quickcontrols qt54webengine
install:
- go get code.google.com/p/go.tools/cmd/goimports
- go get github.com/golang/lint/golint
# - go get golang.org/x/tools/cmd/vet
- if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
- go get github.com/mattn/goveralls
- go get gopkg.in/check.v1
- go get github.com/tools/godep
before_script:
- godep restore
- gofmt -l -w .
- goimports -l -w .
- golint .
# - go vet ./...
# - go test -race ./...
script:
Expand Down
6 changes: 4 additions & 2 deletions accounts/accounts_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package accounts

import (
"github.com/ethereum/go-ethereum/crypto"
"testing"

"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/crypto/randentropy"
)

func TestAccountManager(t *testing.T) {
ks := crypto.NewKeyStorePlain(crypto.DefaultDataDir())
am := NewAccountManager(ks)
pass := "" // not used but required by API
a1, err := am.NewAccount(pass)
toSign := crypto.GetEntropyCSPRNG(32)
toSign := randentropy.GetEntropyCSPRNG(32)
_, err = am.Sign(a1, pass, toSign)
if err != nil {
t.Fatal(err)
Expand Down
13 changes: 9 additions & 4 deletions gocoverage.sh
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
#!/bin/bash
# The script does automatic checking on a Go package and its sub-packages, including:
# 6. test coverage (http://blog.golang.org/cover)

set -e

# Run test coverage on each subdirectories and merge the coverage profile.
# 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" ]]
if [[ $dir != "./tests/vm" && $dir != "." ]]
then
go test -covermode=count -coverprofile=$dir/profile.tmp $dir
fi
Expand Down
43 changes: 38 additions & 5 deletions state/state_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package state

import (
"math/big"

checker "gopkg.in/check.v1"

"github.com/ethereum/go-ethereum/ethdb"
Expand All @@ -16,11 +18,42 @@ var _ = checker.Suite(&StateSuite{})
// var ZeroHash256 = make([]byte, 32)

func (s *StateSuite) TestDump(c *checker.C) {
key := []byte{0x01}
value := []byte("foo")
s.state.trie.Update(key, value)
dump := s.state.Dump()
c.Assert(dump, checker.NotNil)
// generate a few entries
obj1 := s.state.GetOrNewStateObject([]byte{0x01})
obj1.AddBalance(big.NewInt(22))
obj2 := s.state.GetOrNewStateObject([]byte{0x01, 0x02})
obj2.SetCode([]byte{3, 3, 3, 3, 3, 3, 3})
obj3 := s.state.GetOrNewStateObject([]byte{0x02})
obj3.SetBalance(big.NewInt(44))

// write some of them to the trie
s.state.UpdateStateObject(obj1)
s.state.UpdateStateObject(obj2)

// check that dump contains the state objects that are in trie
got := string(s.state.Dump())
want := `{
"root": "4e3a59299745ba6752247c8b91d0f716dac9ec235861c91f5ac1894a361d87ba",
"accounts": {
"0000000000000000000000000000000000000001": {
"balance": "22",
"nonce": 0,
"root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"codeHash": "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"storage": {}
},
"0000000000000000000000000000000000000102": {
"balance": "0",
"nonce": 0,
"root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"codeHash": "87874902497a5bb968da31a2998d8f22e949d1ef6214bcdedd8bae24cca4b9e3",
"storage": {}
}
}
}`
if got != want {
c.Errorf("dump mismatch:\ngot: %s\nwant: %s\n", got, want)
}
}

func (s *StateSuite) SetUpTest(c *checker.C) {
Expand Down
3 changes: 3 additions & 0 deletions tests/vm/nowarn.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// This silences the warning given by 'go install ./...'.

package vm
1 change: 1 addition & 0 deletions update-license.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// +build none

/*
This command generates GPL license headers on top of all source files.
You can run it once per month, before cutting a release or just
Expand Down