aboutsummaryrefslogtreecommitdiffstats
path: root/tests/state_test_util.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2016-10-06 05:55:47 +0800
committerFelix Lange <fjl@twurst.com>2016-10-06 21:36:21 +0800
commit1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4 (patch)
tree0d8d9cd20dc8584599209cbce1cffae0b0e0516d /tests/state_test_util.go
parent2acb9a6ea7ddab541122ede96f2275598ae36931 (diff)
downloadgo-tangerine-1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4.tar
go-tangerine-1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4.tar.gz
go-tangerine-1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4.tar.bz2
go-tangerine-1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4.tar.lz
go-tangerine-1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4.tar.xz
go-tangerine-1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4.tar.zst
go-tangerine-1b7b2ba2163c7b2b2acc0c4f107951ad873cd8a4.zip
tests: update test files from github.com/ethereum/tests @ 45bc1d21d3c1
Two new tests are skipped because they're buggy. Making some newer random state tests work required implementing the 'compressed return value encoding'.
Diffstat (limited to 'tests/state_test_util.go')
-rw-r--r--tests/state_test_util.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/state_test_util.go b/tests/state_test_util.go
index 67e4bf832..0f5042ecc 100644
--- a/tests/state_test_util.go
+++ b/tests/state_test_util.go
@@ -23,6 +23,7 @@ import (
"io"
"math/big"
"strconv"
+ "strings"
"testing"
"github.com/ethereum/go-ethereum/common"
@@ -166,7 +167,13 @@ func runStateTest(ruleSet RuleSet, test VmTest) error {
ret, logs, _, _ = RunState(ruleSet, statedb, env, test.Transaction)
// Compare expected and actual return
- rexp := common.FromHex(test.Out)
+ var rexp []byte
+ if strings.HasPrefix(test.Out, "#") {
+ n, _ := strconv.Atoi(test.Out[1:])
+ rexp = make([]byte, n)
+ } else {
+ rexp = common.FromHex(test.Out)
+ }
if bytes.Compare(rexp, ret) != 0 {
return fmt.Errorf("return failed. Expected %x, got %x\n", rexp, ret)
}