Graviton is a software toolkit for blackbox testing of smart contracts written in TEAL.
The following instructions assume that you have make
available in your local environment. In Mac OS and Linux this is most likely already available and in Windows one way to install is with chocolatey and the command choco install make
.
To install all dependencies:
make pip-notebooks
If you would like to use the Makefile without modification and with full functionality, you should create a symbolic link to the algorand sandbox repo as described here. There are many ways to accomplish this. Assuming you have cloned the sandbox into the path /path/to/algorand/sandbox/
and that you've cd
'ed into the cloned graviton
directory you should create a symbolic link as follows:
ln -s /path/to/algorand/sandbox/ sandbox
mklink sandbox \path\to\algorand\sandbox
With your sandbox running to test that the sandbox is running properly, use the following:
make local-sandbox-test
make integration-test
To run the notebook notebooks/quadratic_factoring_game.ipynb
for example:
make local-notebook NOTEBOOK=notebooks/quadratic_factoring_game.ipynb
To non-interactively run all the jupyter notebook tests:
make notebooks-test
To test in your local environment that everything is looking good before pushing to Github, it is recommended that you run make all-tests
If you would like to simulate the github actions locally, you'll need to install nektos act. On Mac OS with Docker previously installed you can use brew install act
; on the other hand, on Linux and Windows follow the installation instructions in the nextos repo link above.
Once act
is available you can simulate all the github actions integration tests with:
make local-gh-simulate