Etherlink/DAL/Tests: activate a few "with dal" tests
What
Enable in the CI the most relevant DAL+Etherlink tests.
Why
To test the Etherlink DAL integration in the CI.
How
The 8 added tests were suggested by @picdc on slack with the following message:
On the subject of making the existing tests working with DAL, as expected there aren't a lot that are actually relevant as we discussed yesterday. Basically we should enable some in the CI and left the other disabled or not registered at all. We should focus on:
test_publish_blueprintsThe most basic test: checks that the sequencer can publish blueprints and they are applied by the rollup.test_sequencer_too_aheadIf the sequencer is too ahead of the rollup, it will wait until its blocks are applied. The tests checks that it can resume after its blueprints have been injected. With DAL the attestation lag must be taken into account to know the number of blocks to wait before seeing that the sequencer is effectively too ahead (it needs to wait the attestation lag).test_delayed_deposit_is_includedEnsures a delayed deposit is included in a blueprint and removed accordingly in the rollup after injection. This shouldn't be an issue though there might be some parameters to change if they are too tight regarding the attestation lag.test_delayed_transfer_timeout protocols&&test_delayed_transfer_timeout_fails_l1_levelsThose two tests might fail with the attestation lag, they will need to be adjusted.test_timestamp_from_the_futureSince blocks are read after the attestation lag, it would be good to ensure that they don't have a timestamp higher than the block they were sent at.test_blueprint_is_limited_in_size&&test_blueprint_limit_with_delayed_inboxBlock size are limited by the size of L1 inbox by default, but set to 2 chunks in this test. Adding DAL shouldn't change it, however this limit might need to be refined in presence of DAL. The limit prevents easily preventable lag of the rollup: if Etherlink is under congestion, the size of an L1 block will always be the bottleneck as a blueprint won't fit in the block, thus making it lag eventually if the congestion stays high for a long enough time, and the sequencer will eventually stop because it is too ahead of the rollup. This is an optimistic limit as the blocks will never be entirely dedicated to Etherlink. If DAL slots are smaller than an L1 block, this means that there are bigger chances to lag until the rollup uses more than 1 slot.
Manually testing the MR
Check that after this MR, 8 DAL tests are in the Etherlink MR CI:
dune exec etherlink/tezt/tests/main.exe -- dal /ci_disabled /slow --list
Check that they pass:
dune exec etherlink/tezt/tests/main.exe -- dal /ci_disabled /slow
or trust the CI.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Raphaël Cauderlier