Skip to content

Commit 075fca8

Browse files
committed
add sequential execution spec tests
1 parent 4940275 commit 075fca8

File tree

1 file changed

+187
-0
lines changed

1 file changed

+187
-0
lines changed
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
id: pectra-execution-spec-tests-sequential
2+
name: "Run execution spec tests sequentially"
3+
timeout: 4h
4+
config:
5+
#walletPrivkey: ""
6+
walletSeed: "spectests"
7+
specTestsBranch: "main"
8+
tasks:
9+
# setup dependencies
10+
- name: run_external_tasks
11+
title: "Setup dependencies for execution spec tests"
12+
timeout: 30m
13+
config:
14+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-dependencies.yaml
15+
16+
- name: run_shell
17+
title: "Create temp dir for execution spec tests"
18+
id: tempdir
19+
config:
20+
shell: bash
21+
command: |
22+
set -e
23+
tmp_dir=$(mktemp -d -t execution-spec-tests-XXXXXXXXXX)
24+
25+
echo "============================"
26+
echo "Temp dir created: ${tmp_dir}"
27+
echo "============================"
28+
29+
echo "::set-output path ${tmp_dir}"
30+
31+
echo "$tmp_dir" > $ASSERTOOR_SUMMARY
32+
33+
- name: run_external_tasks
34+
title: "Clone and prepare execution spec tests"
35+
timeout: 10m
36+
config:
37+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
38+
testConfig:
39+
gitRepo: https://github.com/ethereum/execution-spec-tests.git
40+
runTests: false
41+
testConfigVars:
42+
specTestsPath: "tasks.tempdir.outputs.path"
43+
gitBranch: "specTestsBranch"
44+
45+
- name: check_clients_are_healthy
46+
title: "Check if at least one client is ready"
47+
id: clientCheck
48+
timeout: 5m
49+
config:
50+
minClientCount: 1
51+
52+
- name: generate_child_wallet
53+
id: specTestsWallet
54+
title: "Generate main wallet for tests"
55+
config:
56+
prefundMinBalance: 10000000000000000000000 # ensure a balance of 10000 ETH
57+
configVars:
58+
privateKey: "walletPrivkey"
59+
walletSeed: "walletSeed"
60+
61+
# wait for electra activation
62+
- name: get_consensus_specs
63+
id: consensusSpecs
64+
title: "Get consensus chain specs"
65+
- name: check_consensus_slot_range
66+
title: "Wait for electra activation"
67+
timeout: 1h
68+
configVars:
69+
minEpochNumber: "tasks.consensusSpecs.outputs.specs.ELECTRA_FORK_EPOCH"
70+
71+
# run execution spec tests
72+
73+
- name: run_tasks
74+
title: "Run execution spec tests"
75+
id: tests
76+
config:
77+
continueOnFailure: true
78+
tasks:
79+
- name: run_external_tasks
80+
title: "Run execution spec tests: tests/prague/eip2537_bls_12_381_precompiles"
81+
timeout: 2h
82+
config:
83+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
84+
testConfig:
85+
gitRepo: https://github.com/ethereum/execution-spec-tests.git
86+
testPath: ./tests/prague/eip2537_bls_12_381_precompiles
87+
seedAmount: "100000000000000000000" # 100 ETH
88+
extraFlags: "--fork=Prague -n 16"
89+
runSetup: false
90+
cleanupTestsPath: false
91+
testConfigVars:
92+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
93+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
94+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
95+
specTestsPath: "tasks.tempdir.outputs.path"
96+
gitBranch: "specTestsBranch"
97+
98+
- name: run_external_tasks
99+
title: "Run execution spec tests: tests/prague/eip7002_el_triggerable_withdrawals"
100+
timeout: 2h
101+
config:
102+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
103+
testConfig:
104+
gitRepo: https://github.com/ethereum/execution-spec-tests.git
105+
testPath: ./tests/prague/eip7002_el_triggerable_withdrawals
106+
seedAmount: "100000000000000000000" # 100 ETH
107+
extraFlags: "--fork=Prague -n 16"
108+
runSetup: false
109+
cleanupTestsPath: false
110+
testConfigVars:
111+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
112+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
113+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
114+
specTestsPath: "tasks.tempdir.outputs.path"
115+
gitBranch: "specTestsBranch"
116+
117+
- name: run_external_tasks
118+
title: "Run execution spec tests: tests/prague/eip7251_consolidations"
119+
timeout: 2h
120+
config:
121+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
122+
testConfig:
123+
gitRepo: https://github.com/ethereum/execution-spec-tests.git
124+
testPath: ./tests/prague/eip7251_consolidations
125+
seedAmount: "100000000000000000000" # 100 ETH
126+
extraFlags: "--fork=Prague -n 16"
127+
runSetup: false
128+
cleanupTestsPath: false
129+
testConfigVars:
130+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
131+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
132+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
133+
specTestsPath: "tasks.tempdir.outputs.path"
134+
gitBranch: "specTestsBranch"
135+
136+
- name: run_external_tasks
137+
title: "Run execution spec tests: tests/prague/eip7623_increase_calldata_cost"
138+
timeout: 2h
139+
config:
140+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
141+
testConfig:
142+
gitRepo: https://github.com/ethereum/execution-spec-tests.git
143+
testPath: ./tests/prague/eip7623_increase_calldata_cost
144+
seedAmount: "100000000000000000000" # 100 ETH
145+
extraFlags: "--fork=Prague -n 16"
146+
runSetup: false
147+
cleanupTestsPath: false
148+
testConfigVars:
149+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
150+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
151+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
152+
specTestsPath: "tasks.tempdir.outputs.path"
153+
gitBranch: "specTestsBranch"
154+
155+
- name: run_external_tasks
156+
title: "Run execution spec tests: tests/prague/eip7702_set_code_tx"
157+
timeout: 2h
158+
config:
159+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
160+
testConfig:
161+
gitRepo: https://github.com/ethereum/execution-spec-tests.git
162+
testPath: ./tests/prague/eip7702_set_code_tx
163+
seedAmount: "100000000000000000000" # 100 ETH
164+
extraFlags: "--fork=Prague -n 16"
165+
runSetup: false
166+
cleanupTestsPath: false
167+
testConfigVars:
168+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
169+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
170+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
171+
specTestsPath: "tasks.tempdir.outputs.path"
172+
gitBranch: "specTestsBranch"
173+
174+
cleanupTasks:
175+
- name: run_shell
176+
title: "Cleanup temp dir for execution spec tests"
177+
config:
178+
shell: bash
179+
envVars:
180+
SPEC_TESTS_PATH: specTestsPath
181+
command: |
182+
set -e
183+
SPEC_TESTS_PATH=$(echo $SPEC_TESTS_PATH | jq -r)
184+
185+
if [ ! -z "$SPEC_TESTS_PATH" ]; then
186+
rm -rf $SPEC_TESTS_PATH
187+
fi

0 commit comments

Comments
 (0)