From ef127f020804942d32808eb5e842f1b6792ab75b Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Tue, 10 Jun 2025 18:49:35 -0300 Subject: [PATCH 01/11] Update hive hash --- .github/workflows/pr-main_l1.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index 073ea1ad02..33d4e269f2 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -88,7 +88,7 @@ jobs: name: "Setup Hive" runs-on: ubuntu-latest env: - HIVE_COMMIT_HASH: 4a1ed079ce5ebb46240e4ef9141d72e7236bca36 + HIVE_COMMIT_HASH: c314840aa2b799de0b479a8bdef6467c1230859a steps: - uses: actions/checkout@v4 - name: Setup Hive From b0d7a2866789a94ea6a11708654968ebacb2d74d Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Wed, 11 Jun 2025 10:20:29 -0300 Subject: [PATCH 02/11] Remove failing tests --- .github/workflows/pr-main_l1.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index 33d4e269f2..9aa2892802 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -153,8 +153,10 @@ jobs: test_pattern: "" - name: "Devp2p tests" simulation: devp2p - test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|Status|AccountRange|StorageRanges|ByteCodes|TrieNodes|GetBlockHeaders|SimultaneousRequests|SameRequestID|ZeroRequestID|GetBlockBodies|MaliciousHandshake|MaliciousStatus|Transaction|NewPooledTxs|GetBlockReceipts|LargeTxRequest|InvalidTxs + test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|Status|ByteCodes|TrieNodes|GetBlockHeaders|SimultaneousRequests|SameRequestID|ZeroRequestID|GetBlockBodies|MaliciousHandshake|MaliciousStatus|Transaction|NewPooledTxs|GetBlockReceipts|LargeTxRequest|InvalidTxs #|BlobViolations + #|GetStorageRanges + #|AccountRange # Findnode/UnsolicitedNeighbors flaky in CI very occasionally. When fixed replace all "Findnode/" with "Findnode" - name: "Engine Auth and EC tests" simulation: ethereum/engine From 47bce16005eabc8402c8db173a47448bf91410a8 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Wed, 11 Jun 2025 11:03:53 -0300 Subject: [PATCH 03/11] add GetStorageRanges --- .github/workflows/pr-main_l1.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index 9aa2892802..d228d6076f 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -153,10 +153,10 @@ jobs: test_pattern: "" - name: "Devp2p tests" simulation: devp2p - test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|Status|ByteCodes|TrieNodes|GetBlockHeaders|SimultaneousRequests|SameRequestID|ZeroRequestID|GetBlockBodies|MaliciousHandshake|MaliciousStatus|Transaction|NewPooledTxs|GetBlockReceipts|LargeTxRequest|InvalidTxs + test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|Status|GetStorageRanges|ByteCodes|GetBlockHeaders|SimultaneousRequests|SameRequestID|ZeroRequestID|GetBlockBodies|MaliciousHandshake|MaliciousStatus|Transaction|NewPooledTxs|GetBlockReceipts|LargeTxRequest|InvalidTxs #|BlobViolations - #|GetStorageRanges #|AccountRange + #|GetTrieNodes # Findnode/UnsolicitedNeighbors flaky in CI very occasionally. When fixed replace all "Findnode/" with "Findnode" - name: "Engine Auth and EC tests" simulation: ethereum/engine From 6847a4352d1423c0abaffb5e4ffca75dcfe1db75 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Wed, 11 Jun 2025 11:23:00 -0300 Subject: [PATCH 04/11] Improve tests --- .github/workflows/pr-main_l1.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index d228d6076f..d6a54aef80 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -163,10 +163,12 @@ jobs: test_pattern: engine-(auth|exchange-capabilities)/ - name: "Cancun Engine tests" simulation: ethereum/engine - test_pattern: "engine-cancun/Blob Transactions On Block 1|Blob Transaction Ordering|Parallel Blob Transactions|ForkchoiceUpdatedV3|ForkchoiceUpdatedV2|ForkchoiceUpdated Version|GetPayload|NewPayloadV3 After Cancun|NewPayloadV3 Before Cancun|NewPayloadV3 Versioned Hashes|Incorrect BlobGasUsed|ParentHash equals BlockHash|RPC:|in ForkchoiceState|Unknown SafeBlockHash|Unknown FinalizedBlockHash|Unique|Re-Execute Payload|Multiple New Payloads|NewPayload with|Build Payload with|Re-org to Previously|Safe Re-Org to Side Chain|Transaction Re-Org|Re-Org Back into Canonical Chain|Suggested Fee Recipient Test|PrevRandao Opcode|Fork ID: *|Request Blob Pooled Transactions|Invalid NewPayload, Incomplete Transactions|Re-Org Back to Canonical Chain*|Invalid PayloadAttributes*|Invalid NewPayload, VersionedHashes|Invalid NewPayload, Incomplete VersionedHashes|Invalid NewPayload, Extra VersionedHashes|Bad Hash on NewPayload|Unknown HeadBlockHash|In-Order Consecutive Payload Execution|Valid NewPayload->ForkchoiceUpdated|Invalid NewPayload, ParentHash|Syncing=False|Payload Build after New Invalid Payload|Invalid NewPayload|Invalid Missing Ancestor ReOrg" # Invalid Missing Ancestor Syncing ReOrG is flaky + test_pattern: "engine-cancun/Blob Transactions On Block 1|Blob Transaction Ordering|Parallel Blob Transactions|ForkchoiceUpdatedV3|ForkchoiceUpdatedV2|ForkchoiceUpdated Version|GetPayload|NewPayloadV3 After Cancun|NewPayloadV3 Before Cancun|NewPayloadV3 Versioned Hashes|Incorrect BlobGasUsed|ParentHash equals BlockHash|RPC:|in ForkchoiceState|Unknown SafeBlockHash|Unknown FinalizedBlockHash|Unique|Re-Execute Payload|Multiple New Payloads|NewPayload with|Build Payload with|Re-org to Previously|Safe Re-Org to Side Chain|Transaction Re-Org|Re-Org Back into Canonical Chain|Suggested Fee Recipient Test|PrevRandao Opcode|Fork ID: *|Request Blob Pooled Transactions|Invalid NewPayload, Incomplete Transactions|Re-Org Back to Canonical Chain*|Invalid PayloadAttributes*|Invalid NewPayload, VersionedHashes|Invalid NewPayload, Incomplete VersionedHashes|Invalid NewPayload, Extra VersionedHashes|Bad Hash on NewPayload|Unknown HeadBlockHash|In-Order Consecutive Payload Execution|Valid NewPayload->ForkchoiceUpdated|Invalid NewPayload, ParentHash|Syncing=False|Payload Build after New Invalid Payload|Invalid NewPayload|Invalid Missing Ancestor ReOrg" + # Invalid Missing Ancestor Syncing ReOrG is flaky - name: "Paris Engine tests" simulation: ethereum/engine - test_pattern: "engine-api/RPC|Bad Hash on NewPayload|Build Payload|Fork ID|In-Order Consecutive Payload Execution|Inconsistent|Invalid Missing Ancestor ReOrg|Invalid NewPayload|Invalid PayloadAttributes|Multiple New Payloads|NewPayload with|ParentHash equals BlockHash on NewPayload|Payload Build|PrevRandao Opcode Transactions|Re-Execute Payload|Re-Org Back|Re-org to Previously Validated Sidechain Payload|RPC:|Safe Re-Org|Suggested Fee|Transaction Re-Org|Unique Payload ID|Unknown|Valid NewPayload->ForkchoiceUpdated" # |Invalid P9 -> flaky + test_pattern: "engine-api/RPC|Bad Hash on NewPayload|Build Payload|Fork ID|In-Order Consecutive Payload Execution|Inconsistent|Invalid Missing Ancestor ReOrg|Invalid NewPayload|Invalid PayloadAttributes|Multiple New Payloads|NewPayload with|ParentHash equals BlockHash on NewPayload|Payload Build|PrevRandao Opcode Transactions|Re-Execute Payload|Re-Org Back|Re-org to Previously Validated Sidechain Payload|RPC:|Safe Re-Org|Suggested Fee|Transaction Re-Org|Unique Payload ID|Unknown|Valid NewPayload->ForkchoiceUpdated" + # |Invalid P9 -> flaky ethrex_flags: "" - name: "Engine withdrawal tests" simulation: ethereum/engine @@ -174,11 +176,6 @@ jobs: - name: "Sync full" simulation: ethereum/sync test_pattern: "" - # Flaky, reenable when fixed - # - name: "Sync snap" - # simulation: ethereum/sync - # test_pattern: "" - # ethrex_flags: "--syncmode snap" steps: - name: Checkout sources uses: actions/checkout@v4 @@ -199,9 +196,7 @@ jobs: docker load --input /tmp/ethrex_image.tar - name: Run Hive Simulation - run: chmod +x hive && ./hive --client-file test_data/network/hive_clients/ethrex.yml --client ethrex --sim ${{ matrix.simulation }} --sim.limit "${{ matrix.test_pattern }}" --sim.parallelism 16 - # We use 8 here instead of 16 due to performance issues in some tests - # Notably the tests "Invalid Missing Ancestor Syncing ReOrG" in engine cancun + run: chmod +x hive && ./hive --client ethrex --sim ${{ matrix.simulation }} --sim.limit "${{ matrix.test_pattern }}" --sim.parallelism 16 # The purpose of this job is to add it as a required check in GitHub so that we don't have to add every individual job as a required check all-tests: From 5dd7aa5a0785c9fc226dbd5b0673d84bc828d7a3 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Wed, 11 Jun 2025 11:43:20 -0300 Subject: [PATCH 05/11] try |Invalid P9 --- .github/workflows/pr-main_l1.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index d6a54aef80..0e713bba1d 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -157,18 +157,17 @@ jobs: #|BlobViolations #|AccountRange #|GetTrieNodes - # Findnode/UnsolicitedNeighbors flaky in CI very occasionally. When fixed replace all "Findnode/" with "Findnode" + #|Findnode/UnsolicitedNeighbors flaky in CI very occasionally. When fixed replace all "Findnode/" with "Findnode" - name: "Engine Auth and EC tests" simulation: ethereum/engine test_pattern: engine-(auth|exchange-capabilities)/ - name: "Cancun Engine tests" simulation: ethereum/engine test_pattern: "engine-cancun/Blob Transactions On Block 1|Blob Transaction Ordering|Parallel Blob Transactions|ForkchoiceUpdatedV3|ForkchoiceUpdatedV2|ForkchoiceUpdated Version|GetPayload|NewPayloadV3 After Cancun|NewPayloadV3 Before Cancun|NewPayloadV3 Versioned Hashes|Incorrect BlobGasUsed|ParentHash equals BlockHash|RPC:|in ForkchoiceState|Unknown SafeBlockHash|Unknown FinalizedBlockHash|Unique|Re-Execute Payload|Multiple New Payloads|NewPayload with|Build Payload with|Re-org to Previously|Safe Re-Org to Side Chain|Transaction Re-Org|Re-Org Back into Canonical Chain|Suggested Fee Recipient Test|PrevRandao Opcode|Fork ID: *|Request Blob Pooled Transactions|Invalid NewPayload, Incomplete Transactions|Re-Org Back to Canonical Chain*|Invalid PayloadAttributes*|Invalid NewPayload, VersionedHashes|Invalid NewPayload, Incomplete VersionedHashes|Invalid NewPayload, Extra VersionedHashes|Bad Hash on NewPayload|Unknown HeadBlockHash|In-Order Consecutive Payload Execution|Valid NewPayload->ForkchoiceUpdated|Invalid NewPayload, ParentHash|Syncing=False|Payload Build after New Invalid Payload|Invalid NewPayload|Invalid Missing Ancestor ReOrg" - # Invalid Missing Ancestor Syncing ReOrG is flaky + #|Invalid Missing Ancestor Syncing ReOrG is flaky - name: "Paris Engine tests" simulation: ethereum/engine - test_pattern: "engine-api/RPC|Bad Hash on NewPayload|Build Payload|Fork ID|In-Order Consecutive Payload Execution|Inconsistent|Invalid Missing Ancestor ReOrg|Invalid NewPayload|Invalid PayloadAttributes|Multiple New Payloads|NewPayload with|ParentHash equals BlockHash on NewPayload|Payload Build|PrevRandao Opcode Transactions|Re-Execute Payload|Re-Org Back|Re-org to Previously Validated Sidechain Payload|RPC:|Safe Re-Org|Suggested Fee|Transaction Re-Org|Unique Payload ID|Unknown|Valid NewPayload->ForkchoiceUpdated" - # |Invalid P9 -> flaky + test_pattern: "engine-api/RPC|Bad Hash on NewPayload|Build Payload|Fork ID|In-Order Consecutive Payload Execution|Inconsistent|Invalid Missing Ancestor ReOrg|Invalid NewPayload|Invalid PayloadAttributes|Multiple New Payloads|NewPayload with|ParentHash equals BlockHash on NewPayload|Payload Build|PrevRandao Opcode Transactions|Re-Execute Payload|Re-Org Back|Re-org to Previously Validated Sidechain Payload|RPC:|Safe Re-Org|Suggested Fee|Transaction Re-Org|Unique Payload ID|Unknown|Valid NewPayload->ForkchoiceUpdated|Invalid P9" ethrex_flags: "" - name: "Engine withdrawal tests" simulation: ethereum/engine @@ -196,7 +195,9 @@ jobs: docker load --input /tmp/ethrex_image.tar - name: Run Hive Simulation - run: chmod +x hive && ./hive --client ethrex --sim ${{ matrix.simulation }} --sim.limit "${{ matrix.test_pattern }}" --sim.parallelism 16 + run: | + chmod +x hive + ./hive --client ethrex --sim ${{ matrix.simulation }} --sim.limit "${{ matrix.test_pattern }}" --sim.parallelism 16 # The purpose of this job is to add it as a required check in GitHub so that we don't have to add every individual job as a required check all-tests: From 18578b1fae103b246531198490f0d391614abe42 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Wed, 11 Jun 2025 12:08:50 -0300 Subject: [PATCH 06/11] add test comment --- .github/workflows/pr-main_l1.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index 0e713bba1d..c79f7c4322 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -154,20 +154,21 @@ jobs: - name: "Devp2p tests" simulation: devp2p test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|Status|GetStorageRanges|ByteCodes|GetBlockHeaders|SimultaneousRequests|SameRequestID|ZeroRequestID|GetBlockBodies|MaliciousHandshake|MaliciousStatus|Transaction|NewPooledTxs|GetBlockReceipts|LargeTxRequest|InvalidTxs - #|BlobViolations - #|AccountRange - #|GetTrieNodes - #|Findnode/UnsolicitedNeighbors flaky in CI very occasionally. When fixed replace all "Findnode/" with "Findnode" + #|BlobViolations #1781 + #|AccountRange #1997 + #|GetTrieNodes #1997 + #|Findnode/UnsolicitedNeighbors #2818 - name: "Engine Auth and EC tests" simulation: ethereum/engine test_pattern: engine-(auth|exchange-capabilities)/ - name: "Cancun Engine tests" simulation: ethereum/engine test_pattern: "engine-cancun/Blob Transactions On Block 1|Blob Transaction Ordering|Parallel Blob Transactions|ForkchoiceUpdatedV3|ForkchoiceUpdatedV2|ForkchoiceUpdated Version|GetPayload|NewPayloadV3 After Cancun|NewPayloadV3 Before Cancun|NewPayloadV3 Versioned Hashes|Incorrect BlobGasUsed|ParentHash equals BlockHash|RPC:|in ForkchoiceState|Unknown SafeBlockHash|Unknown FinalizedBlockHash|Unique|Re-Execute Payload|Multiple New Payloads|NewPayload with|Build Payload with|Re-org to Previously|Safe Re-Org to Side Chain|Transaction Re-Org|Re-Org Back into Canonical Chain|Suggested Fee Recipient Test|PrevRandao Opcode|Fork ID: *|Request Blob Pooled Transactions|Invalid NewPayload, Incomplete Transactions|Re-Org Back to Canonical Chain*|Invalid PayloadAttributes*|Invalid NewPayload, VersionedHashes|Invalid NewPayload, Incomplete VersionedHashes|Invalid NewPayload, Extra VersionedHashes|Bad Hash on NewPayload|Unknown HeadBlockHash|In-Order Consecutive Payload Execution|Valid NewPayload->ForkchoiceUpdated|Invalid NewPayload, ParentHash|Syncing=False|Payload Build after New Invalid Payload|Invalid NewPayload|Invalid Missing Ancestor ReOrg" - #|Invalid Missing Ancestor Syncing ReOrG is flaky + #|Invalid Missing Ancestor Syncing ReOrG #3105 - name: "Paris Engine tests" simulation: ethereum/engine - test_pattern: "engine-api/RPC|Bad Hash on NewPayload|Build Payload|Fork ID|In-Order Consecutive Payload Execution|Inconsistent|Invalid Missing Ancestor ReOrg|Invalid NewPayload|Invalid PayloadAttributes|Multiple New Payloads|NewPayload with|ParentHash equals BlockHash on NewPayload|Payload Build|PrevRandao Opcode Transactions|Re-Execute Payload|Re-Org Back|Re-org to Previously Validated Sidechain Payload|RPC:|Safe Re-Org|Suggested Fee|Transaction Re-Org|Unique Payload ID|Unknown|Valid NewPayload->ForkchoiceUpdated|Invalid P9" + test_pattern: "engine-api/RPC|Bad Hash on NewPayload|Build Payload|Fork ID|In-Order Consecutive Payload Execution|Inconsistent|Invalid Missing Ancestor ReOrg|Invalid NewPayload|Invalid PayloadAttributes|Multiple New Payloads|NewPayload with|ParentHash equals BlockHash on NewPayload|Payload Build|PrevRandao Opcode Transactions|Re-Execute Payload|Re-Org Back|Re-org to Previously Validated Sidechain Payload|RPC:|Safe Re-Org|Suggested Fee|Transaction Re-Org|Unique Payload ID|Unknown|Valid NewPayload->ForkchoiceUpdated" + #|Invalid P9 #3121 ethrex_flags: "" - name: "Engine withdrawal tests" simulation: ethereum/engine From aaa2d9a050444353ec34be5f88149b4efc643bf4 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Wed, 11 Jun 2025 12:14:12 -0300 Subject: [PATCH 07/11] Add more tests --- .github/workflows/pr-main_l1.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index c79f7c4322..833ffbd456 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -158,6 +158,8 @@ jobs: #|AccountRange #1997 #|GetTrieNodes #1997 #|Findnode/UnsolicitedNeighbors #2818 + #|TestBlobTxWithMismatchedSidecar #3122 + #|TestBlobTxWithoutSidecar #3123 - name: "Engine Auth and EC tests" simulation: ethereum/engine test_pattern: engine-(auth|exchange-capabilities)/ From 9e5548eef12b174e5f40bc14ae19e8a202990e93 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Wed, 11 Jun 2025 15:37:39 -0300 Subject: [PATCH 08/11] Add snap client --- .github/workflows/pr-main_l1.yaml | 1 + Makefile | 9 ++++++--- test_data/network/hive_clients/ethrex.yml | 6 ++++++ test_data/network/hive_clients/ethrex_git.yml | 8 ++++++++ test_data/network/hive_clients/ethrex_local.yml | 4 ++++ 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index 833ffbd456..a79cfd485a 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -176,6 +176,7 @@ jobs: simulation: ethereum/engine test_pattern: "engine-withdrawals/Corrupted Block Hash Payload|Empty Withdrawals|engine-withdrawals test loader|GetPayloadBodies|GetPayloadV2 Block Value|Max Initcode Size|Sync after 2 blocks - Withdrawals on Genesis|Withdraw many accounts|Withdraw to a single account|Withdraw to two accounts|Withdraw zero amount|Withdraw many accounts|Withdrawals Fork on Block 1 - 1 Block Re-Org|Withdrawals Fork on Block 1 - 8 Block Re-Org NewPayload|Withdrawals Fork on Block 2|Withdrawals Fork on Block 3|Withdrawals Fork on Block 8 - 10 Block Re-Org NewPayload|Withdrawals Fork on Canonical Block 8 / Side Block 7 - 10 Block Re-Org [^S]|Withdrawals Fork on Canonical Block 8 / Side Block 9 - 10 Block Re-Org [^S]" - name: "Sync full" + # TODO: We're currently defaulting to syncmode=full. Geth uses snap to run it. we should change the default in `ethrex.sh` in the future #2521. simulation: ethereum/sync test_pattern: "" steps: diff --git a/Makefile b/Makefile index 1accd12b06..9e38736455 100644 --- a/Makefile +++ b/Makefile @@ -100,19 +100,22 @@ SIM_PARALLELISM ?= 16 # The endpoints tested may be limited by supplying a test pattern in the form "/endpoint_1|enpoint_2|..|enpoint_n" # For example, to run the rpc-compat suites for eth_chainId & eth_blockNumber you should run: # `make run-hive SIMULATION=ethereum/rpc-compat TEST_PATTERN="/eth_chainId|eth_blockNumber"` -# The evm can be selected by using seting HIVE_ETHREX_FLAGS='--evm revm' (the default is levm) +# The evm can be selected by selecting HIVE_CLIENT with ethrex for levm or ethrex-revm for revm # The log level can be selected by switching SIM_LOG_LEVEL from 1 up to 4 +# The syncmode can be changed to snap by usint HIVE_CLIENT=ethrex-snap HIVE_CLIENT_FILE := ../test_data/network/hive_clients/ethrex.yml HIVE_CLIENT_FILE_GIT := ../test_data/network/hive_clients/ethrex_git.yml HIVE_CLIENT_FILE_LOCAL := ../test_data/network/hive_clients/ethrex_local.yml +HIVE_CLIENT ?= ethrex # or ethrex-revm or ethrex-snap + run-hive: build-image setup-hive ## 🧪 Run Hive testing suite - - cd hive && ./hive --client-file $(HIVE_CLIENT_FILE) --client ethrex --sim $(SIMULATION) --sim.limit "$(TEST_PATTERN)" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) + - cd hive && HIVE_NODETYPE="snap" ./hive --client-file $(HIVE_CLIENT_FILE) --client $(HIVE_CLIENT) --sim $(SIMULATION) --sim.limit "$(TEST_PATTERN)" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) $(MAKE) view-hive run-hive-all: build-image setup-hive ## 🧪 Run all Hive testing suites - - cd hive && ./hive --client-file $(HIVE_CLIENT_FILE) --client ethrex --sim ".*" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) + - cd hive && ./hive --client-file $(HIVE_CLIENT_FILE) --client $(HIVE_CLIENT) --sim ".*" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) $(MAKE) view-hive clean-hive-logs: ## 🧹 Clean Hive logs diff --git a/test_data/network/hive_clients/ethrex.yml b/test_data/network/hive_clients/ethrex.yml index 59b5ffc650..59fe49f7f2 100644 --- a/test_data/network/hive_clients/ethrex.yml +++ b/test_data/network/hive_clients/ethrex.yml @@ -1,3 +1,9 @@ - client: ethrex build_args: baseimage: ethrex +- client: ethrex-revm + build_args: + baseimage: ethrex +- client: ethrex-snap + build_args: + baseimage: ethrex diff --git a/test_data/network/hive_clients/ethrex_git.yml b/test_data/network/hive_clients/ethrex_git.yml index 8cb6d75e34..94333ce628 100644 --- a/test_data/network/hive_clients/ethrex_git.yml +++ b/test_data/network/hive_clients/ethrex_git.yml @@ -2,3 +2,11 @@ dockerfile: git build_args: tag: main +- client: ethrex-revm + dockerfile: git + build_args: + tag: main +- client: ethrex-snap + dockerfile: git + build_args: + tag: main diff --git a/test_data/network/hive_clients/ethrex_local.yml b/test_data/network/hive_clients/ethrex_local.yml index 97c6707c24..7ac7b2f549 100644 --- a/test_data/network/hive_clients/ethrex_local.yml +++ b/test_data/network/hive_clients/ethrex_local.yml @@ -1,2 +1,6 @@ - client: ethrex dockerfile: local +- client: ethrex-revm + dockerfile: local +- client: ethrex-snap + dockerfile: local From 66664ee42a3b552a2a8a77c396d0ffdc1ec60138 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Fri, 13 Jun 2025 12:53:25 -0300 Subject: [PATCH 09/11] Remove unused clients --- Makefile | 8 ++------ test_data/network/hive_clients/ethrex.yml | 6 ------ test_data/network/hive_clients/ethrex_git.yml | 8 -------- test_data/network/hive_clients/ethrex_local.yml | 3 --- 4 files changed, 2 insertions(+), 23 deletions(-) diff --git a/Makefile b/Makefile index 9e38736455..70daaa7bed 100644 --- a/Makefile +++ b/Makefile @@ -100,22 +100,18 @@ SIM_PARALLELISM ?= 16 # The endpoints tested may be limited by supplying a test pattern in the form "/endpoint_1|enpoint_2|..|enpoint_n" # For example, to run the rpc-compat suites for eth_chainId & eth_blockNumber you should run: # `make run-hive SIMULATION=ethereum/rpc-compat TEST_PATTERN="/eth_chainId|eth_blockNumber"` -# The evm can be selected by selecting HIVE_CLIENT with ethrex for levm or ethrex-revm for revm # The log level can be selected by switching SIM_LOG_LEVEL from 1 up to 4 -# The syncmode can be changed to snap by usint HIVE_CLIENT=ethrex-snap HIVE_CLIENT_FILE := ../test_data/network/hive_clients/ethrex.yml HIVE_CLIENT_FILE_GIT := ../test_data/network/hive_clients/ethrex_git.yml HIVE_CLIENT_FILE_LOCAL := ../test_data/network/hive_clients/ethrex_local.yml -HIVE_CLIENT ?= ethrex # or ethrex-revm or ethrex-snap - run-hive: build-image setup-hive ## 🧪 Run Hive testing suite - - cd hive && HIVE_NODETYPE="snap" ./hive --client-file $(HIVE_CLIENT_FILE) --client $(HIVE_CLIENT) --sim $(SIMULATION) --sim.limit "$(TEST_PATTERN)" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) + - cd hive && HIVE_NODETYPE="snap" ./hive --client-file $(HIVE_CLIENT_FILE) --client ethrex --sim $(SIMULATION) --sim.limit "$(TEST_PATTERN)" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) $(MAKE) view-hive run-hive-all: build-image setup-hive ## 🧪 Run all Hive testing suites - - cd hive && ./hive --client-file $(HIVE_CLIENT_FILE) --client $(HIVE_CLIENT) --sim ".*" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) + - cd hive && ./hive --client-file $(HIVE_CLIENT_FILE) --client ethrex --sim ".*" --sim.parallelism $(SIM_PARALLELISM) --sim.loglevel $(SIM_LOG_LEVEL) $(MAKE) view-hive clean-hive-logs: ## 🧹 Clean Hive logs diff --git a/test_data/network/hive_clients/ethrex.yml b/test_data/network/hive_clients/ethrex.yml index 59fe49f7f2..59b5ffc650 100644 --- a/test_data/network/hive_clients/ethrex.yml +++ b/test_data/network/hive_clients/ethrex.yml @@ -1,9 +1,3 @@ - client: ethrex build_args: baseimage: ethrex -- client: ethrex-revm - build_args: - baseimage: ethrex -- client: ethrex-snap - build_args: - baseimage: ethrex diff --git a/test_data/network/hive_clients/ethrex_git.yml b/test_data/network/hive_clients/ethrex_git.yml index 94333ce628..8cb6d75e34 100644 --- a/test_data/network/hive_clients/ethrex_git.yml +++ b/test_data/network/hive_clients/ethrex_git.yml @@ -2,11 +2,3 @@ dockerfile: git build_args: tag: main -- client: ethrex-revm - dockerfile: git - build_args: - tag: main -- client: ethrex-snap - dockerfile: git - build_args: - tag: main diff --git a/test_data/network/hive_clients/ethrex_local.yml b/test_data/network/hive_clients/ethrex_local.yml index 7ac7b2f549..c3bba30db9 100644 --- a/test_data/network/hive_clients/ethrex_local.yml +++ b/test_data/network/hive_clients/ethrex_local.yml @@ -1,6 +1,3 @@ - client: ethrex dockerfile: local - client: ethrex-revm - dockerfile: local -- client: ethrex-snap - dockerfile: local From 11cb7941481e5b447ae930849bb8cb0e83ace985 Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Fri, 13 Jun 2025 12:56:37 -0300 Subject: [PATCH 10/11] Use full eth suite --- .github/workflows/pr-main_l1.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index a79cfd485a..1ae4858b5f 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -153,13 +153,10 @@ jobs: test_pattern: "" - name: "Devp2p tests" simulation: devp2p - test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|Status|GetStorageRanges|ByteCodes|GetBlockHeaders|SimultaneousRequests|SameRequestID|ZeroRequestID|GetBlockBodies|MaliciousHandshake|MaliciousStatus|Transaction|NewPooledTxs|GetBlockReceipts|LargeTxRequest|InvalidTxs - #|BlobViolations #1781 + test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|GetStorageRanges|ByteCodes|MaliciousStatus|GetBlockReceipts #|AccountRange #1997 #|GetTrieNodes #1997 #|Findnode/UnsolicitedNeighbors #2818 - #|TestBlobTxWithMismatchedSidecar #3122 - #|TestBlobTxWithoutSidecar #3123 - name: "Engine Auth and EC tests" simulation: ethereum/engine test_pattern: engine-(auth|exchange-capabilities)/ From 54a0607745f0f5ff2d908c4fa28d4b2e7deb8bef Mon Sep 17 00:00:00 2001 From: Lucas Rack Date: Fri, 13 Jun 2025 13:05:47 -0300 Subject: [PATCH 11/11] Go back with eth --- .github/workflows/pr-main_l1.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-main_l1.yaml b/.github/workflows/pr-main_l1.yaml index 1ae4858b5f..a79cfd485a 100644 --- a/.github/workflows/pr-main_l1.yaml +++ b/.github/workflows/pr-main_l1.yaml @@ -153,10 +153,13 @@ jobs: test_pattern: "" - name: "Devp2p tests" simulation: devp2p - test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|GetStorageRanges|ByteCodes|MaliciousStatus|GetBlockReceipts + test_pattern: discv4|eth|snap/Ping|Findnode/WithoutEndpointProof|Findnode/BasicFindnode|Findnode/PastExpiration|Amplification|Status|GetStorageRanges|ByteCodes|GetBlockHeaders|SimultaneousRequests|SameRequestID|ZeroRequestID|GetBlockBodies|MaliciousHandshake|MaliciousStatus|Transaction|NewPooledTxs|GetBlockReceipts|LargeTxRequest|InvalidTxs + #|BlobViolations #1781 #|AccountRange #1997 #|GetTrieNodes #1997 #|Findnode/UnsolicitedNeighbors #2818 + #|TestBlobTxWithMismatchedSidecar #3122 + #|TestBlobTxWithoutSidecar #3123 - name: "Engine Auth and EC tests" simulation: ethereum/engine test_pattern: engine-(auth|exchange-capabilities)/