Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce fuzz testing to separate unit tests from repetition tests #219

Merged
merged 1 commit into from
May 17, 2024

Commits on May 17, 2024

  1. Introduce fuzz testing to separate unit tests from repetition tests

    Prior to changes introduced here the majority of time during testing was
    spent on repeating the same test while changing the seed for generators
    or latency models.
    
    Instead of repeating the same test over and over use the fuzz testing
    mechanism provided by Go SDK. This change allows the unit tests to run
    much faster while offering a configurable "fuzztime" that dictates for
    how long the test cases should be fuzzed.
    
    The changes here introduce the following fuzz tests:
    * `FuzzAbsentAdversary`
    * `FuzzImmediateDecideAdversary`
    * `FuzzHonest_AsyncRequireStrongQuorumToProgress`
    * `FuzzHonest_SyncMajorityCommonPrefix`
    * `FuzzHonest_AsyncMajorityCommonPrefix`
    * `FuzzHonestMultiInstance_AsyncDisagreement`
    * `FuzzHonestMultiInstance_SyncAgreement`
    * `FuzzHonestMultiInstance_AsyncAgreement`
    * `FuzzStoragePower_SyncIncreaseMidSimulation`
    * `FuzzStoragePower_AsyncIncreaseMidSimulation`
    * `FuzzStoragePower_SyncDecreaseRevertsToBase`
    * `FuzzStoragePower_AsyncDecreaseRevertsToBase`
    * `FuzzRepeatAdversary`
    
    The CI workflow is updated to run each of the fuzz tests for 30 seconds
    in a dedicated job.
    masih committed May 17, 2024
    Configuration menu
    Copy the full SHA
    5d0cad7 View commit details
    Browse the repository at this point in the history