61 lines
2.4 KiB
Markdown
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
|
|
```
|