lotus/testplans/README.md

61 lines
2.4 KiB
Markdown

# Testground testplans for Lotus
This directory consists of [testplans](https://docs.testground.ai/concepts-and-architecture/test-structure) built to be run on [Testground](https://github.com/testground/testground) that exercise Lotus on [TaaS](https://ci.testground.ipfs.team).
## Table of Contents
- [Testing topics](#testing-topics)
- [Running the test cases](#running-the-test-cases)
## Testing topics
* **storage and retrieval deals:**
* end-to-end flows where clients store and retrieve pieces from miners, including stress testing the system.
* **payment channels:**
* stress testing payment channels via excessive lane creation, excessive payment voucher atomisation, and redemption.
## Running the test cases
If you are unfamiliar with Testground, we strongly suggest you read the Testground [Getting Started guide](https://docs.testground.ai/getting-started) in order to learn how to install Testground and how to use it.
You can find various [composition files](https://docs.testground.ai/running-test-plans#composition-runs) describing various test scenarios built as part of Project Oni at [`lotus-soup/_compositions` directory](https://github.com/filecoin-project/oni/tree/master/lotus-soup/_compositions).
We've designed the test cases so that you can run them via the `local:exec`, `local:docker` and the `cluster:k8s` runners. Note that Lotus miners are quite resource intensive, requiring gigabytes of memory. Hence you would have to run these test cases on a beafy machine (when using `local:docker` and `local:exec`), or on a Kubernetes cluster (when using `cluster:k8s`).
Here are the basics of how to run the baseline deals end-to-end test case:
### Running the baseline deals end-to-end test case
1. Compile and Install Testground from source code.
* See the [Getting Started](https://github.com/testground/testground#getting-started) section of the README for instructions.
2. Run a Testground daemon
```
testground daemon
```
3. Download required Docker images for the `lotus-soup` test plan
```
make pull-images
```
Alternatively you can build them locally with
```
make build-images
```
4. Import the `lotus-soup` test plan into your Testground home directory
```
testground plan import --from ./lotus-soup
```
6. Run a composition for the baseline deals end-to-end test case
```
testground run composition -f ./lotus-soup/_compositions/baseline-docker-5-1.toml
```