Merge pull request #355 from fjl/test-fixes
Fix failing tests and speed up Travis builds
This commit is contained in:
		
						commit
						63031f571a
					
				| @ -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: | ||||
|  | ||||
| @ -1,8 +1,10 @@ | ||||
| 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) { | ||||
| @ -10,7 +12,7 @@ func TestAccountManager(t *testing.T) { | ||||
| 	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) | ||||
|  | ||||
| @ -1,11 +1,16 @@ | ||||
| #!/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 | ||||
| @ -13,7 +18,7 @@ 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 | ||||
|  | ||||
| @ -1,6 +1,8 @@ | ||||
| package state | ||||
| 
 | ||||
| import ( | ||||
| 	"math/big" | ||||
| 
 | ||||
| 	checker "gopkg.in/check.v1" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/ethdb" | ||||
| @ -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) { | ||||
|  | ||||
							
								
								
									
										3
									
								
								tests/vm/nowarn.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tests/vm/nowarn.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| // This silences the warning given by 'go install ./...'.
 | ||||
| 
 | ||||
| package vm | ||||
| @ -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 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user