Add `test_zero_blob` test case

This commit is contained in:
Hsiao-Wei Wang 2023-04-28 17:28:11 +08:00
parent 1a38b83e5d
commit 655094ee4a
No known key found for this signature in database
GPG Key ID: AE3D6B174F971DE4
1 changed files with 15 additions and 15 deletions

View File

@ -16,13 +16,11 @@ from eth2spec.test.helpers.sharding import (
)
@with_deneb_and_later
@spec_state_test
def test_one_blob(spec, state):
def run_block_with_blobs(spec, state, blob_count):
yield 'pre', state
block = build_empty_block_for_next_slot(spec, state)
opaque_tx, _, blob_kzg_commitments, _ = get_sample_opaque_tx(spec)
opaque_tx, _, blob_kzg_commitments, _ = get_sample_opaque_tx(spec, blob_count=blob_count)
block.body.blob_kzg_commitments = blob_kzg_commitments
block.body.execution_payload.transactions = [opaque_tx]
block.body.execution_payload.block_hash = compute_el_block_hash(spec, block.body.execution_payload)
@ -32,17 +30,19 @@ def test_one_blob(spec, state):
yield 'post', state
@with_deneb_and_later
@spec_state_test
def test_zero_blob(spec, state):
yield from run_block_with_blobs(spec, state, blob_count=0)
@with_deneb_and_later
@spec_state_test
def test_one_blob(spec, state):
yield from run_block_with_blobs(spec, state, blob_count=1)
@with_deneb_and_later
@spec_state_test
def test_max_blobs(spec, state):
yield 'pre', state
block = build_empty_block_for_next_slot(spec, state)
opaque_tx, _, blob_kzg_commitments, _ = get_sample_opaque_tx(spec, blob_count=spec.MAX_BLOBS_PER_BLOCK)
block.body.blob_kzg_commitments = blob_kzg_commitments
block.body.execution_payload.transactions = [opaque_tx]
block.body.execution_payload.block_hash = compute_el_block_hash(spec, block.body.execution_payload)
signed_block = state_transition_and_sign_block(spec, state, block)
yield 'blocks', [signed_block]
yield 'post', state
yield from run_block_with_blobs(spec, state, blob_count=spec.MAX_BLOBS_PER_BLOCK)