At first, you need to set up a Python 3 virtualenv, and also need to have npm installed and be able to install packages globally on it.
Then you need to install dependencies for the CLI utility:
pip3 install -r deploy/requirements/click.txt
After this, you can use from the project root directory:
./clickfile.py --help
This file contains a lot of utilities to work with this repository, such as:
- update deps
- install pre-commit-hook
- download test contracts
- run different tests
- prepare data and stand for run tests
Please use clickfile.py to install deps because our web3 has conflicts with solana package, and this problem is resolved in:
./clickfile.py requirements
Please install pre-commit hooks to run linter and formatter in auto pre-commit mode
pre-commit install
To download test contracts from the Neon EVM repo, you need to use:
./clickfile.py update-contracts
To set variable DOCKER_HUB_ORG_NAME text to terminal
export DOCKER_HUB_ORG_NAME=neonlabsorg
To run OpenZeppelin tests just use the next command:
./clickfile.py run oz --network <your-stand> --jobs 8
To run neon evm tests usd the next command:
./clickfile.py run evm --network <your-stand> --numprocesses 6
You can run all tests manually if know which framework it uses. For example, economy tests:
py.test integration/tests/economy/test_economics.py
To run tests with mark "mainnet"
./clickfile.py run basic -n mainnet
This command collects 73 items and run it on our mainnet. Bank accounts envs have to be set up:
export BANK_PRIVATE_KEY_MAINNET=
export ETH_BANK_PRIVATE_KEY_MAINNET=
To run tests in our ci the following secrets should be added to neon-tests repo:
secrets.ETH_BANK_PRIVATE_KEY_MAINNET
secrets.BANK_PRIVATE_KEY_MAINNET
Use manual run of Basic tests pipeline with stand option - "mainnet".
An approximate cost of one run is ~200 NEONs and ~0.125 SOL.
- --network - which network uses for run tests (from file envs.json)
- --envs - change file name with networks