The EOS Test Cave is a program containing a set of scripts to test all of the basic functionality of EOS. After one week, we are happy to announce our first release.
Do you know whose job it is to test out the new EOS software releases from Block.One? The Block Producers!
If there is an issue with the EOSIO core software that either causes and undesired result or does not work completely, then it could have potentially devastating effects for the EOS Mainnet. This is why we wanted to build an automated set of tools to be used by anyone who runs EOS.
Therefore, we saw the need for automated testing program that can validate EOS software releases within minutes and we decided to take on the challenge. We reached out for some help from some of the great developers in the Block Producer community.
Summary of Tests
- Wallet (29 tests)
- Contracts (10 tests)
- Accounts (8 tests)
- System (9 tests)
- Transfers (1 test)
- Voting and proxies (6 tests)
- Name auctions (3 tests)
- Permissions (5 tests)
- Msig (9 tests)
- Claimrewards (1 test)
GitHub Link: https://github.com/EOS-BP-Developers/EOS-Test-Cave
The EOS Test Cave is neatly packaged so that one script can be run to test all of these on a private testnet. Additionally, the EOS Test Cave can also pull new releases from Block.one automatically, and it takes approximately 3 minutes to run completely. Therefore, we will be able to reach a decent level of code validation within minutes of a new release coming out, instead of spending multiple days to manually check the functionalities.
The project has also turned out to be a good documentation of several features of the EOS.IO software. Furthermore, it demonstrates how to implement most of the commands.
We ran the prototype on the most recent release, version 1.0.7, and it passed all of the. tests on the current version.
We are planning to continue working on this project, as there are more specific cases that. and functionalities that can be added to the tests. If anyone has requests, please let us know.
Additionally, anyone in the community is welcome to run the program and write additional testing scripts for new cases. Travis CI will validate PRs, and we will also review them regularly!
We put together a qualified group to work on this project, and potentially collaborate on more in the future to build things that the EOS community really needs. Significant contributors, in no particular order: Pete Cheyne (Blockmatrix), Jae Chung (HKEOS), Bohdan (Cryptolions), Sungmin Ma (EOSeoul), Some swedish guy (EOS Sw/eden), Ben Sigman (shEOS).