This repository contains the e2e testing resources for the kona-node. The e2e testing is done using the op-devstack from the Optimism monorepo with the sysgo orchestrator.
Make sure to initialize the git submodules before running the tests:
git submodule init
git submodule update --recursiveThen run go mod tidy to fetch dependencies:
go mod tidyThe interactions with this repository are done through the justfile recipes.
To run the e2e tests, use the following command:
just test-e2e-sysgo BINARY GO_PKG_NAME DEVNET FILTERWhere:
BINARY: The binary to test (nodeorsupervisor)GO_PKG_NAME: The Go package name to test (e.g.,node/common)DEVNET: The devnet configuration (simple-kona,simple-kona-geth,simple-kona-sequencer,large-kona-sequencer)FILTER: Optional test filter
For example, to run the common node tests:
just test-e2e-sysgo node node/common simple-konaTo run acceptance tests for the Rust stack:
just acceptance-tests CL_TYPE EL_TYPE GATEWhere:
CL_TYPE: Consensus layer type (konaorop-node)EL_TYPE: Execution layer type (op-rethorop-geth)GATE: The gate to run (default:jovian)
-
just build-devnet BINARY: Builds the Docker image for the specified binary (nodeorsupervisor). -
just build-kona: Builds the kona-node binary. -
just build-reth: Builds the op-reth binary. -
just long-running-test FILTER OUTPUT_LOGS_DIR: Runs long-running tests with optional filter and output directory. -
just action-tests-single: Runs action tests for the single-chain client program. -
just action-tests-interop: Runs action tests for the interop client program.
When using op-devstack for testing, the following environment variables are set automatically by the justfile recipes:
DEVSTACK_ORCHESTRATOR=sysgo: Tellsop-devstackto use the sysgo orchestrator.DISABLE_OP_E2E_LEGACY=true: Tellsop-devstacknot to use theop-e2etests that rely on e2e config and contracts-bedrock artifacts.
We welcome contributions to this repository.