From 16fa415557124904f6eb25d14dfac1ff218b1939 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 13 Oct 2023 14:51:37 +0200 Subject: [PATCH 1/4] tests: update execution-spec-tests to 1.0.5 --- build/checksums.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/checksums.txt b/build/checksums.txt index a15cf09b46f7..fa873aa4b157 100644 --- a/build/checksums.txt +++ b/build/checksums.txt @@ -1,9 +1,9 @@ # This file contains sha256 checksums of optional build dependencies. -# version:spec-tests 1.0.2 +# version:spec-tests 1.0.5 # https://github.com/ethereum/execution-spec-tests/releases -# https://github.com/ethereum/execution-spec-tests/releases/download/v1.0.2/ -24bac679f3a2d8240d8e08e7f6a70b70c2dabf673317d924cf1d1887b9fe1f81 fixtures.tar.gz +# https://github.com/ethereum/execution-spec-tests/releases/download/v1.0.5/ +322085c2c2e173069d38d79034518e91bd53b29eaafd92a56f0ef753b5336aa7 fixtures.tar.gz # version:golang 1.21.3 # https://go.dev/dl/ From c311498c01ba4c8ed2a17394e93423ef193f5cce Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 16 Oct 2023 11:19:31 +0200 Subject: [PATCH 2/4] cmd/evm: run blocktests in predictable order --- cmd/evm/blockrunner.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cmd/evm/blockrunner.go b/cmd/evm/blockrunner.go index 6612680dc40b..b319828f51ea 100644 --- a/cmd/evm/blockrunner.go +++ b/cmd/evm/blockrunner.go @@ -21,6 +21,7 @@ import ( "errors" "fmt" "os" + "sort" "github.com/ethereum/go-ethereum/core/rawdb" "github.com/ethereum/go-ethereum/core/vm" @@ -60,9 +61,16 @@ func blockTestCmd(ctx *cli.Context) error { if err = json.Unmarshal(src, &tests); err != nil { return err } - for i, test := range tests { + // run them in order + var keys []string + for k, _ := range tests { + keys = append(keys, k) + } + sort.Strings(keys) + for _, name := range keys { + test := tests[name] if err := test.Run(false, rawdb.HashScheme, tracer); err != nil { - return fmt.Errorf("test %v: %w", i, err) + return fmt.Errorf("test %v: %w", name, err) } } return nil From 88f910bb0ad997d3e474a8c299c0edf4b0057c37 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 16 Oct 2023 11:39:16 +0200 Subject: [PATCH 3/4] tests: avoid uselessly repeat failing tests --- tests/block_test.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/block_test.go b/tests/block_test.go index 645b4b702df2..371e994bb5a9 100644 --- a/tests/block_test.go +++ b/tests/block_test.go @@ -64,8 +64,8 @@ func TestExecutionSpec(t *testing.T) { bt := new(testMatcher) // cancun tests are not complete yet - bt.skipLoad(`^cancun/`) - bt.skipLoad(`-fork=Cancun`) + //bt.skipLoad(`^cancun/`) + //bt.skipLoad(`-fork=Cancun`) bt.walk(t, executionSpecDir, func(t *testing.T, name string, test *BlockTest) { execBlockTest(t, bt, test) @@ -75,14 +75,18 @@ func TestExecutionSpec(t *testing.T) { func execBlockTest(t *testing.T, bt *testMatcher, test *BlockTest) { if err := bt.checkFailure(t, test.Run(false, rawdb.HashScheme, nil)); err != nil { t.Errorf("test in hash mode without snapshotter failed: %v", err) + return } if err := bt.checkFailure(t, test.Run(true, rawdb.HashScheme, nil)); err != nil { t.Errorf("test in hash mode with snapshotter failed: %v", err) + return } if err := bt.checkFailure(t, test.Run(false, rawdb.PathScheme, nil)); err != nil { t.Errorf("test in path mode without snapshotter failed: %v", err) + return } if err := bt.checkFailure(t, test.Run(true, rawdb.PathScheme, nil)); err != nil { t.Errorf("test in path mode with snapshotter failed: %v", err) + return } } From a33e8299aa0ba69ca1bd0d6e9d84ea7bf4a35522 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 16 Oct 2023 15:49:09 +0200 Subject: [PATCH 4/4] build: use develop-fixtures --- build/checksums.txt | 2 +- build/ci.go | 2 +- cmd/evm/blockrunner.go | 4 ++-- tests/block_test.go | 4 ---- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/build/checksums.txt b/build/checksums.txt index fa873aa4b157..c752fb8ccd64 100644 --- a/build/checksums.txt +++ b/build/checksums.txt @@ -3,7 +3,7 @@ # version:spec-tests 1.0.5 # https://github.com/ethereum/execution-spec-tests/releases # https://github.com/ethereum/execution-spec-tests/releases/download/v1.0.5/ -322085c2c2e173069d38d79034518e91bd53b29eaafd92a56f0ef753b5336aa7 fixtures.tar.gz +d4fd06a0e5f94beb970f3c68374b38ef9de82d4be77517d326bcf739c3cbf3a2 fixtures_develop.tar.gz # version:golang 1.21.3 # https://go.dev/dl/ diff --git a/build/ci.go b/build/ci.go index 869ca07d119a..1ff3fb5bf826 100644 --- a/build/ci.go +++ b/build/ci.go @@ -334,7 +334,7 @@ func downloadSpecTestFixtures(csdb *build.ChecksumDB, cachedir string) string { log.Fatal(err) } ext := ".tar.gz" - base := "fixtures" // TODO(MariusVanDerWijden) rename once the version becomes part of the filename + base := "fixtures_develop" // TODO(MariusVanDerWijden) rename once the version becomes part of the filename url := fmt.Sprintf("https://github.com/ethereum/execution-spec-tests/releases/download/v%s/%s%s", executionSpecTestsVersion, base, ext) archivePath := filepath.Join(cachedir, base+ext) if err := csdb.DownloadFile(url, archivePath); err != nil { diff --git a/cmd/evm/blockrunner.go b/cmd/evm/blockrunner.go index b319828f51ea..42be6726b591 100644 --- a/cmd/evm/blockrunner.go +++ b/cmd/evm/blockrunner.go @@ -63,8 +63,8 @@ func blockTestCmd(ctx *cli.Context) error { } // run them in order var keys []string - for k, _ := range tests { - keys = append(keys, k) + for key := range tests { + keys = append(keys, key) } sort.Strings(keys) for _, name := range keys { diff --git a/tests/block_test.go b/tests/block_test.go index 371e994bb5a9..5764ae33e474 100644 --- a/tests/block_test.go +++ b/tests/block_test.go @@ -63,10 +63,6 @@ func TestExecutionSpec(t *testing.T) { } bt := new(testMatcher) - // cancun tests are not complete yet - //bt.skipLoad(`^cancun/`) - //bt.skipLoad(`-fork=Cancun`) - bt.walk(t, executionSpecDir, func(t *testing.T, name string, test *BlockTest) { execBlockTest(t, bt, test) })