Skip to content

test(zebrad): the serialized live-mainnet tests set a 10-minute floor on the unit-test job #11398

Description

@upbqdn

Measured on a 32-core host, the ci nextest profile runs 1320 tests in 623s wall while the tests only sum to 34 minutes of work, because the serial-live-mainnet group has max-threads = 1 and its members sum to ~10.3 minutes — the whole wall time.

Those members spend the time sleeping, not working. Durations land on the constants in zebrad/tests/common/launch.rs: EXTENDED_LAUNCH_DELAY (45s) for the four unit::config::*ephemeral* tests, LAUNCH_DELAY/BETWEEN_NODES_DELAY (20s each) for unit::cli::start_*, the integration::network::zebra_*_conflict pair-launch tests, integration::database::zebra_state_conflict, and the integration::rpc::*_endpoint* tests.

They are in the serial group because they start a node with the default DNS seeders, so concurrent runs from one IP reject each other handshakes.

Two directions, either of which cuts the job to about a minute: wait on the log line that proves the node reached the state under test instead of a blanket delay, or run these tests without live seeders (they do not test peer connectivity) so they leave the serial group and run concurrently.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions