Skip to content

Latest commit

 

History

History

systemtests

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

System tests

Go black box tests that setup and interact with a local blockchain. The system test framework works with the compiled binary of the chain artifact only. To get up to speed, checkout the getting started guide.

Beside the Go tests and testdata files, this directory can contain the following directories:

  • binaries - cache for binary
  • testnet - node files

Please make sure to not add or push them to git.

Execution

Build a new binary from current branch and copy it to the tests/systemtests/binaries folder by running system tests. In project root:

make test-system

Or via manual steps

make build
mkdir -p ./tests/systemtests/binaries
cp ./build/simdv2 ./tests/systemtests/binaries/

Manual test run

go test -v -mod=readonly -failfast -tags='system_test' --run TestStakeUnstake    ./... --verbose

Working with macOS

Most tests should function seamlessly. However, the file upgrade_test.go includes a build annotation for Linux only.

For the system upgrade test, an older version of the binary is utilized to perform a chain upgrade. This artifact is retrieved from a Docker container built for Linux.

To circumvent this limitation locally:

  1. Checkout and build the older version of the artifact from a specific tag for your OS.
  2. Place the built artifact into the binaries folder.
  3. Ensure that the filename, including the version, is correct.

With the cached artifact in place, the test will use this file instead of attempting to pull it from Docker.