-
Notifications
You must be signed in to change notification settings - Fork 150
Apollo Testing Framework
The Apollo framework provides utilities and advanced testing scenarios for validating
Concord BFT's correctness properties, regardless of the running application/execution engine.
For the purposes of system testing, we have implemented a "Simple Key-Value Blockchain" (SKVBC)
test application which runs on top of the Concord BFT consensus engine.
Apollo enables running all test suites (without modification) against any supported BFT network
configuration (in terms of n, f, c and other parameters).
Various crash or byzantine failure scenarios are also covered
(including faulty replicas and/or network partitioning).
Apollo test suites run regularly as part of Concord BFT's continuous integration pipeline.
Please find more details about the Apollo framework here
Tests are compiled into in the build directory and can be run from anywhere as long as they aren't moved.
Run the following from the top level concord-bft directory:
./build/tests/simpleTest/scripts/testReplicasAndClient.sh
You can use the simpleTest.py script to run various configurations via a simple command line interface. Please find more information here
This example demo application shows some capabilities of the Concord-BFT consensus-based byzantine fault-tolerant state machine replication library.
For Concord-BFT users who are interested in learning more about Concord-BFT and its uses, this application offers a demonstration and instruction.
Overall, any blockchain application based on concord-bft consensus may be created using this example application.
Use the test_osexample.sh script to run the example application. This script is also used to perform this demo via the command line interface with different configurations.
Please see here for more information about the examples/demo application.