e2e/

directory
v1.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2024 License: Apache-2.0

README

E2E Framework

Purpose

The e2e package provides a framework for integration testing of the Celestia consensus network. It consists of a simple CLI and a series of TOML testnet files which manage the running of several instances within the same network. The e2e test suite has the following purposes in mind:

  • Compatibility testing: Ensuring that multiple minor versions can operate successfully together within the same network.
  • Upgrade testing: Ensure upgrades, whether major or minor, can perform seamlessly.
  • Sync testing: Ensure that the latest version can sync data from the entire chain.
  • Non determinism check: Ensure that the state machine is free of non-determinism that could compromise replication.
  • Invariant checking: Ensure that system wide invariants hold.

The e2e package is designed predominantly for correctness based testing of small clusters of node. It is designed to be relatively quick and can be used locally. It relies on docker and docker compose to orchestrate the nodes.

Usage

To get started, run make within the e2e package directory. This builds the image referring to the current branch as well as the cli (To build just the cli run make cli). Then, to run the complete suite:

./build/e2e -f networks/simple.toml

You should see something like

Setting up network simple-56602
Spinning up testnet
Starting validator01 on <http://localhost:4202>
Starting validator02 on <http://localhost:4203>
Starting validator03 on <http://localhost:4204>
Starting validator04 on <http://localhost:4205>
Starting full01 on <http://localhost:4201>
Waiting for the network to reach height 20
Stopping testnet
Finished testnet successfully

Alternatively you can use the commands: setup, start, stop, and cleanup.

Directories

Path Synopsis
cmd
e2e

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL