Running Leios Tests๏
The Leios testrun exercises the experimental Leios feature of cardano-node on the
experimental Dijkstra era. It is a regular regression run with a different setup, plus the
dedicated Leios tests in cardano_node_tests/tests/tests_dijkstra/test_leios_blocks.py.
The Leios Setup๏
The setup lives in runner/env_leios, except NODE_REV, which the launcher and the CI workflow default:
Variable |
Value |
Why |
|---|---|---|
|
|
The node branch that has Leios. |
|
|
Starts in Dijkstra, block rate slow enough to see EBs. |
|
|
Dijkstra protocol version. |
|
|
Tx load generator, needed to fill the mempool. |
|
|
Tx rate ceiling of the load generator. |
Running in CI๏
Workflow 04 Regression tests with Leios
triggered manually from the Actions tab (Run workflow) or with gh:
gh workflow run "04 Regression tests with Leios" --ref master
To fit into the 6h GitHub job limit, the CI run is limited to smoke, Leios and
tests_dijkstra tests. Local runs run the full suite.
Inputs:
Input |
Default |
Description |
|---|---|---|
|
|
|
|
(empty) |
|
|
|
Let tests pass with unstable error messages. |
Running Locally๏
Full Leios Regression Run๏
Run the commands below from the repo root.
Inside a container. Preferred, as no local Nix is needed.
./runner/runc.sh -- ./scripts/test_leios.sh
Or directly on the host. Local Nix is needed.
./scripts/test_leios.sh
Any variable from runner/env_leios can be overridden, but only as a ``VAR=VALUE``
argument - the env file is loaded on top of the environment, so an exported value would be
overwritten:
./scripts/test_leios.sh TX_TPS=10
The exceptions are NODE_REV and SESSION_TIMEOUT (default 8h) - there an already
exported value wins, so the node branch can be switched without touching the setup:
NODE_REV=my-leios-branch ./scripts/test_leios.sh
Only VAR=VALUE arguments are accepted; anything else is rejected with a usage message.
Results land in run_workdir.
Analyzing Failures๏
Locally๏
In AI agent:
/analyze-failures
In CI๏
On a failed testrun the workflow runs the analysis automatically and surfaces it in
the run summary of the workflow run, and a foldable
Preliminary failure analysisgroup in the log of theRead failure analysis into envstep,failure_analysis.mdin thetestrun-filesartifact.