Skip to content

Commit 0cd0dec

Browse files
authored
tools: Fold evmone-t8n into the evmone CLI as a subcommand (#1551)
Replace the standalone evmone-t8n binary with `evmone t8n`. The standalone executable is removed. The command line options are the same, but now parsed by CLI11, which makes validation strict at parse time: - --state.reward range-checked via CLI::Range(-1, INT64_MAX); -1 remains the "emit pre-state only" sentinel. - --input.alloc/env/txs/blobParams must exist (CLI::ExistingFile); previously the standalone binary would open and read an empty/ failed stream. - Unknown options now error; previously the hand-rolled if-else chain silently ignored them.
1 parent 5d3c673 commit 0cd0dec

7 files changed

Lines changed: 146 additions & 163 deletions

File tree

circle.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ commands:
259259
default: ""
260260
binaries:
261261
type: string
262-
default: evmone evmone-unittests evmone-statetest evmone-blockchaintest evmone-t8n
262+
default: evmone evmone-unittests evmone-statetest evmone-blockchaintest
263263
steps:
264264
- run:
265265
name: "Collect coverage data (clang, <<parameters.flags>>)"
@@ -421,14 +421,14 @@ jobs:
421421
filter: "-for_amsterdam/*:for_bpo2toamsterdamattime15k/*"
422422
- collect_coverage_clang:
423423
flags: eest-develop
424-
ignore_filename_regex: lib/evmone/(advanced|cpu_check|eof|lru_cache|tracing|vm)|test/(experimental|t8n|unittests|utils)
424+
ignore_filename_regex: lib/evmone/(advanced|cpu_check|eof|lru_cache|tracing|vm)|test/(experimental|unittests|utils)
425425
binaries: evmone-statetest evmone-blockchaintest
426426
- run_execution_spec_tests:
427427
release: v5.4.0
428428
fixtures_suffix: develop
429429
- collect_coverage_clang:
430430
flags: eest-stable
431-
ignore_filename_regex: lib/evmone/(advanced|cpu_check|eof|lru_cache|tracing|vm)|test/(experimental|t8n|unittests|utils)
431+
ignore_filename_regex: lib/evmone/(advanced|cpu_check|eof|lru_cache|tracing|vm)|test/(experimental|unittests|utils)
432432
binaries: evmone-statetest evmone-blockchaintest
433433

434434
ethereum-tests:

codecov.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ component_management:
2323
- test/eofparse/**
2424
- test/eoftest/**
2525
- test/statetest/**
26-
- test/t8n/**
2726
- test/utils/**
2827
- component_id: tests
2928
name: tests

test/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ add_subdirectory(integration)
2525
add_subdirectory(internal_benchmarks)
2626
add_subdirectory(precompiles_bench)
2727
add_subdirectory(statetest)
28-
add_subdirectory(t8n)
2928
add_subdirectory(unittests)
3029

31-
set(targets evmone-bench evmone-bench-internal evmone-blockchaintest evmone-precompiles-bench evmone-state evmone-statetest evmone-t8n evmone-unittests)
30+
set(targets evmone-bench evmone-bench-internal evmone-blockchaintest evmone-precompiles-bench evmone-state evmone-statetest evmone-unittests)
3231

3332
if(EVMONE_FUZZING)
3433
add_subdirectory(fuzzer)

test/integration/t8n/CMakeLists.txt

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Copyright 2024 The evmone Authors.
33
# SPDX-License-Identifier: Apache-2.0
44

5-
# Integration tests for evmone-t8n.
5+
# Integration tests for the `evmone t8n` subcommand.
66

77
set(PREFIX ${PREFIX}/t8n)
88

@@ -12,7 +12,7 @@ add_test(
1212
NAME ${PREFIX}/${TEST_CASE}
1313
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/base_fee
1414
COMMAND
15-
evmone-t8n
15+
evmone-cli t8n
1616
--state.fork London
1717
--state.reward 0
1818
--state.chainid 1
@@ -46,7 +46,7 @@ add_test(
4646
NAME ${PREFIX}/${TEST_CASE}
4747
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/base_fee
4848
COMMAND
49-
evmone-t8n
49+
evmone-cli t8n
5050
--state.fork Berlin
5151
--state.reward 0
5252
--state.chainid 1
@@ -76,7 +76,7 @@ add_test(
7676
NAME ${PREFIX}/${TEST_CASE}
7777
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_CASE}
7878
COMMAND
79-
evmone-t8n
79+
evmone-cli t8n
8080
--state.fork Cancun
8181
--state.reward 0
8282
--state.chainid 1
@@ -86,7 +86,6 @@ add_test(
8686
--output.basedir ${CMAKE_CURRENT_BINARY_DIR}/${TEST_CASE}
8787
--output.result out.json
8888
--output.alloc outAlloc.json
89-
--output.errorlog error.json
9089
--opcode.count opcodes.json
9190
)
9291
set_tests_properties(${PREFIX}/${TEST_CASE} PROPERTIES FIXTURES_REQUIRED ${TEST_CASE})
@@ -157,7 +156,7 @@ add_test(
157156
NAME ${PREFIX}/${TEST_CASE}
158157
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_CASE}
159158
COMMAND
160-
evmone-t8n
159+
evmone-cli t8n
161160
--state.fork Prague
162161
--state.reward 0
163162
--state.chainid 1
@@ -192,7 +191,7 @@ add_test(
192191
NAME ${PREFIX}/${TEST_CASE}
193192
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_CASE}
194193
COMMAND
195-
evmone-t8n
194+
evmone-cli t8n
196195
--state.fork Osaka
197196
--state.reward 0
198197
--state.chainid 1
@@ -226,7 +225,7 @@ add_test(
226225
NAME ${PREFIX}/${TEST_CASE}
227226
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cancun_create_tx
228227
COMMAND
229-
evmone-t8n
228+
evmone-cli t8n
230229
--state.fork Cancun
231230
--state.reward 0
232231
--state.chainid 1
@@ -254,15 +253,27 @@ set_tests_properties(
254253
)
255254

256255

257-
add_test(NAME ${PREFIX}/version COMMAND evmone-t8n --version)
256+
add_test(NAME ${PREFIX}/version COMMAND evmone-cli --version)
258257
set_tests_properties(
259-
${PREFIX}/version PROPERTIES PASS_REGULAR_EXPRESSION "evmone-t8n")
258+
${PREFIX}/version PROPERTIES PASS_REGULAR_EXPRESSION "evmone")
260259

261-
add_test(NAME ${PREFIX}/bad_fork COMMAND evmone-t8n --state.fork NoSuchRev)
260+
add_test(NAME ${PREFIX}/bad_fork COMMAND evmone-cli t8n --state.fork NoSuchRev)
262261
set_tests_properties(
263262
${PREFIX}/bad_fork PROPERTIES PASS_REGULAR_EXPRESSION "unknown revision")
264263

265264

265+
# Check if chainid max value is accepted.
266+
add_test(
267+
NAME ${PREFIX}/chainid_hex_max
268+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/base_fee
269+
COMMAND
270+
evmone-cli t8n
271+
--state.fork Paris
272+
--state.chainid 0xffffffffffffffff
273+
--input.env env.json
274+
)
275+
276+
266277
# Exercises both --output.body (RLP-encoded transactions) and
267278
# --state.reward -1 (pre-state-only mode that emits just the state root).
268279
set(TEST_CASE prague_pre_state_only)
@@ -271,7 +282,7 @@ add_test(
271282
NAME ${PREFIX}/${TEST_CASE}
272283
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/prague_empty_requests
273284
COMMAND
274-
evmone-t8n
285+
evmone-cli t8n
275286
--state.fork Prague
276287
--state.reward -1
277288
--state.chainid 1

test/t8n/CMakeLists.txt

Lines changed: 0 additions & 7 deletions
This file was deleted.

test/t8n/t8n.cpp

Lines changed: 0 additions & 128 deletions
This file was deleted.

0 commit comments

Comments
 (0)