Skip to content

Commit a260c44

Browse files
author
David.za
committed
Merge branch 'upstream' into bnb-main
2 parents ffcad79 + dc90eb2 commit a260c44

96 files changed

Lines changed: 3353 additions & 947 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/assets/hive/expected_failures.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,13 @@ engine-auth:
5959
# worth re-visiting when more of these related tests are passing
6060
eest/consume-engine:
6161
- tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_set_code_to_non_empty_storage[fork_Prague-blockchain_test_engine-zero_nonce]-reth
62-
- tests/prague/eip7251_consolidations/test_modified_consolidation_contract.py::test_system_contract_errors[fork_Prague-blockchain_test_engine-system_contract_reaches_gas_limit-system_contract_0x0000bbddc7ce488642fb579f8b00f3a590007251]-reth
6362
- tests/prague/eip7251_consolidations/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test_engine-deploy_after_fork-nonzero_balance]-reth
6463
- tests/prague/eip7251_consolidations/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test_engine-deploy_after_fork-zero_balance]-reth
6564
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_amount_offset-value_zero]-reth
6665
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_amount_size-value_zero]-reth
6766
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_index_offset-value_zero]-reth
6867
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_index_size-value_zero]-reth
6968
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_pubkey_offset-value_zero]-reth
70-
- tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py::test_system_contract_errors[fork_Prague-blockchain_test_engine-system_contract_reaches_gas_limit-system_contract_0x00000961ef480eb55e80d19ad83579a64c007002]-reth
7169
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_pubkey_size-value_zero]-reth
7270
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_signature_offset-value_zero]-reth
7371
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_layout[fork_Prague-blockchain_test_engine-log_argument_signature_size-value_zero]-reth
@@ -101,9 +99,7 @@ eest/consume-rlp:
10199
- tests/prague/eip7002_el_triggerable_withdrawals/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test_engine-deploy_after_fork-zero_balance]-reth
102100
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Prague-blockchain_test_engine-slice_bytes_False]-reth
103101
- tests/prague/eip6110_deposits/test_modified_contract.py::test_invalid_log_length[fork_Prague-blockchain_test_engine-slice_bytes_True]-reth
104-
- tests/prague/eip7251_consolidations/test_modified_consolidation_contract.py::test_system_contract_errors[fork_Prague-blockchain_test-system_contract_reaches_gas_limit-system_contract_0x0000bbddc7ce488642fb579f8b00f3a590007251]-reth
105102
- tests/prague/eip7251_consolidations/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test-deploy_after_fork-nonzero_balance]-reth
106103
- tests/prague/eip7251_consolidations/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test-deploy_after_fork-zero_balance]-reth
107-
- tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py::test_system_contract_errors[fork_Prague-blockchain_test-system_contract_reaches_gas_limit-system_contract_0x00000961ef480eb55e80d19ad83579a64c007002]-reth
108104
- tests/prague/eip7002_el_triggerable_withdrawals/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test-deploy_after_fork-nonzero_balance]-reth
109105
- tests/prague/eip7002_el_triggerable_withdrawals/test_contract_deployment.py::test_system_contract_deployment[fork_CancunToPragueAtTime15k-blockchain_test-deploy_after_fork-zero_balance]-reth
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Ignored Tests Configuration
2+
#
3+
# This file contains tests that should be ignored for various reasons (flaky, known issues, etc).
4+
# These tests will be IGNORED in the CI results - they won't cause the build to fail
5+
# regardless of whether they pass or fail.
6+
#
7+
# Format
8+
# test_suite:
9+
# - "test name 1"
10+
# - "test name 2"
11+
#
12+
# When a test should no longer be ignored, remove it from this list.
13+
14+
engine-withdrawals:
15+
# flaky
16+
- Withdrawals Fork on Block 1 - 8 Block Re-Org NewPayload (Paris) (reth)
17+

.github/assets/hive/parse.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
parser = argparse.ArgumentParser(description="Check for unexpected test results based on an exclusion list.")
88
parser.add_argument("report_json", help="Path to the hive report JSON file.")
99
parser.add_argument("--exclusion", required=True, help="Path to the exclusion YAML file.")
10+
parser.add_argument("--ignored", required=True, help="Path to the ignored tests YAML file.")
1011
args = parser.parse_args()
1112

1213
# Load hive JSON
@@ -18,20 +19,50 @@
1819
exclusion_data = yaml.safe_load(file)
1920
exclusions = exclusion_data.get(report['name'], [])
2021

22+
# Load ignored tests YAML
23+
with open(args.ignored, 'r') as file:
24+
ignored_data = yaml.safe_load(file)
25+
ignored_tests = ignored_data.get(report['name'], [])
26+
2127
# Collect unexpected failures and passes
2228
unexpected_failures = []
2329
unexpected_passes = []
30+
ignored_results = {'passed': [], 'failed': []}
2431

2532
for test in report['testCases'].values():
2633
test_name = test['name']
2734
test_pass = test['summaryResult']['pass']
35+
36+
# Check if this is an ignored test
37+
if test_name in ignored_tests:
38+
# Track ignored test results for informational purposes
39+
if test_pass:
40+
ignored_results['passed'].append(test_name)
41+
else:
42+
ignored_results['failed'].append(test_name)
43+
continue # Skip this test - don't count it as unexpected
44+
45+
# Check against expected failures
2846
if test_name in exclusions:
2947
if test_pass:
3048
unexpected_passes.append(test_name)
3149
else:
3250
if not test_pass:
3351
unexpected_failures.append(test_name)
3452

53+
# Print summary of ignored tests if any were ignored
54+
if ignored_results['passed'] or ignored_results['failed']:
55+
print("Ignored Tests:")
56+
if ignored_results['passed']:
57+
print(f" Passed ({len(ignored_results['passed'])} tests):")
58+
for test in ignored_results['passed']:
59+
print(f" {test}")
60+
if ignored_results['failed']:
61+
print(f" Failed ({len(ignored_results['failed'])} tests):")
62+
for test in ignored_results['failed']:
63+
print(f" {test}")
64+
print()
65+
3566
# Check if there are any unexpected failures or passes and exit with error
3667
if unexpected_failures or unexpected_passes:
3768
if unexpected_failures:

.github/workflows/hive.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ jobs:
200200
201201
- name: Parse hive output
202202
run: |
203-
find hivetests/workspace/logs -type f -name "*.json" ! -name "hive.json" | xargs -I {} python .github/assets/hive/parse.py {} --exclusion .github/assets/hive/expected_failures.yaml
203+
find hivetests/workspace/logs -type f -name "*.json" ! -name "hive.json" | xargs -I {} python .github/assets/hive/parse.py {} --exclusion .github/assets/hive/expected_failures.yaml --ignored .github/assets/hive/ignored_tests.yaml
204204
205205
- name: Print simulator output
206206
if: ${{ failure() }}

.github/workflows/sync-era.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
--chain ${{ matrix.chain.chain }} \
5454
--debug.tip ${{ matrix.chain.tip }} \
5555
--debug.max-block ${{ matrix.chain.block }} \
56-
--debug.terminate
56+
--debug.terminate \
5757
--era.enable
5858
- name: Verify the target block hash
5959
run: |

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,8 @@ recipe.json
6363
_
6464
# broken links report
6565
links-report.json
66+
67+
# Python cache
68+
__pycache__/
69+
*.py[cod]
70+
*$py.class

0 commit comments

Comments
 (0)