-
Notifications
You must be signed in to change notification settings - Fork 84
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Abstraction classes for tests and fixes
This commits includes all the new test abstractions. There are base classes for creating tests based on channels, the mock cluster, for election, and for state machines. We utilize some of TestNG functionalities to facilitate the configuration and hooks for also configuring the environment with log level. This also updates all the tests (which make sense) to use the new abstractions. This greatly reduced the code duplication across the files and simplified the creation of utility methods. Running the tests in a loop also greatly reduced flaky tests because of timeouts. We have enhanced multiple check through the tests which were flaky. We also take the change to update some of the tests utilize the assertj test methods. All the assertions in the abstract class already utilizes and the smaller tests were updated already. This commits also expands a little the test framework with some utilities methods and documentation. Some fixes we found during this work include: * Fix for sending commits immediately, as messages can reorder; * Fix for membership changes never applying after a failure; * Fix for completing outstanding requests when the leader steps down. This commit is part of issue #222.
- Loading branch information
Showing
33 changed files
with
3,647 additions
and
2,081 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.