Numerious minor improvements while preparing for fuzz-testing 4.0 in earnest:
authorAlex Petrov <oleksandr.petrov@gmail.com>
Wed, 24 Mar 2021 15:11:57 +0000 (16:11 +0100)
committerAlex Petrov <alexp@coffeenco.de>
Mon, 12 Jul 2021 13:25:57 +0000 (15:25 +0200)
commit1c7fbc6fb8da25877a845962d20717ab981e7b37
treeb5d98e772a7763b5b24447bc4e93c2f48e51fab9
parent42b4fd0f5c5e747d84631c45f040a0abf80a694f
Numerious minor improvements while preparing for fuzz-testing 4.0 in earnest:

  * Refactor Run to make it an entrypoint
  * Separate Partition visitors from Row visitors
  * Make it possible to effortlessly check local states
  * Introduce CLs
  * More clear distinction between the components allowing to implement visitors (such as repairing validator)
  * Implement fault injecting partition visitor
  * Extract DataTracker
  * Minor bug fixes

Patch by Alex Petrov for CASSANDRA-16262.
59 files changed:
harry-core/src/harry/core/Configuration.java
harry-core/src/harry/core/MetricReporter.java [moved from harry-core/src/harry/model/sut/NoOpSut.java with 58% similarity]
harry-core/src/harry/core/Run.java
harry-core/src/harry/corruptor/AddExtraRowCorruptor.java
harry-core/src/harry/corruptor/QueryResponseCorruptor.java
harry-core/src/harry/corruptor/RowCorruptor.java
harry-core/src/harry/ddl/SchemaGenerators.java
harry-core/src/harry/ddl/SchemaSpec.java
harry-core/src/harry/generators/PCGFastPure.java
harry-core/src/harry/model/DoNothingModel.java
harry-core/src/harry/model/ExhaustiveChecker.java
harry-core/src/harry/model/Model.java
harry-core/src/harry/model/OpSelectors.java
harry-core/src/harry/model/QuiescentChecker.java
harry-core/src/harry/model/SelectHelper.java
harry-core/src/harry/model/StatelessVisibleRowsChecker.java
harry-core/src/harry/model/VisibleRowsChecker.java
harry-core/src/harry/model/sut/PrintlnSut.java
harry-core/src/harry/model/sut/SystemUnderTest.java
harry-core/src/harry/reconciler/Reconciler.java
harry-core/src/harry/runner/AbstractPartitionVisitor.java
harry-core/src/harry/runner/AllPartitionsValidator.java [new file with mode: 0644]
harry-core/src/harry/runner/DataTracker.java [moved from harry-integration/src/harry/runner/HarryRunnerJvm.java with 55% similarity]
harry-core/src/harry/runner/DefaultDataTracker.java [new file with mode: 0644]
harry-core/src/harry/runner/DefaultPartitionVisitorFactory.java [deleted file]
harry-core/src/harry/runner/HarryRunner.java
harry-core/src/harry/runner/LoggingPartitionVisitor.java [new file with mode: 0644]
harry-core/src/harry/runner/MutatingPartitionVisitor.java [new file with mode: 0644]
harry-core/src/harry/runner/MutatingRowVisitor.java [moved from harry-core/src/harry/runner/DefaultRowVisitor.java with 61% similarity]
harry-core/src/harry/runner/PartitionVisitor.java
harry-core/src/harry/runner/QueryGenerator.java [new file with mode: 0644]
harry-core/src/harry/runner/RecentPartitionValidator.java [new file with mode: 0644]
harry-core/src/harry/runner/RowVisitor.java
harry-core/src/harry/runner/Runner.java
harry-core/src/harry/runner/SinglePartitionValidator.java [new file with mode: 0644]
harry-core/src/harry/runner/Validator.java [deleted file]
harry-core/src/harry/util/Ranges.java
harry-core/test/harry/generators/RandomGeneratorTest.java
harry-core/test/harry/generators/SurjectionsTest.java
harry-core/test/harry/model/OpSelectorsTest.java
harry-core/test/harry/operations/RelationTest.java
harry-integration-external/src/harry/model/sut/external/ExternalClusterSut.java
harry-integration-external/src/harry/runner/external/HarryRunnerExternal.java
harry-integration/src/harry/model/sut/ExternalClusterSut.java [new file with mode: 0644]
harry-integration/src/harry/model/sut/InJvmSut.java
harry-integration/src/harry/runner/FaultInjectingPartitionVisitor.java [new file with mode: 0644]
harry-integration/src/harry/runner/QueryingNoOpChecker.java [new file with mode: 0644]
harry-integration/src/harry/runner/RepairingLocalStateValidator.java [new file with mode: 0644]
harry-integration/src/harry/runner/Reproduce.java
harry-integration/test/harry/model/ExhaustiveCheckerIntegrationTest.java
harry-integration/test/harry/model/ExhaustiveCheckerUnitTest.java
harry-integration/test/harry/model/IntegrationTestBase.java
harry-integration/test/harry/model/ModelTest.java
harry-integration/test/harry/model/ModelTestBase.java [new file with mode: 0644]
harry-integration/test/harry/model/QuerySelectorNegativeTest.java
harry-integration/test/harry/model/QuerySelectorTest.java
harry-integration/test/harry/model/QuiescentCheckerIntegrationTest.java
harry-integration/test/harry/op/RowVisitorTest.java
pom.xml