Harry: generator library and extensible framework for fuzz testing Apache Cassandra
authorAlex Petrov <oleksandr.petrov@gmail.com>
Thu, 3 Sep 2020 18:19:57 +0000 (20:19 +0200)
committerAlex Petrov <alexp@coffeenco.de>
Mon, 21 Sep 2020 13:29:28 +0000 (16:29 +0300)
commit1d7f66e2d5b39702ff218cd36e0b9043b0d47cf1
tree14950d33998bcc4a58825fbdcf2182f78ecde34d
parent4dbf969dd11109a564672f648125e777b5e85e58
Harry: generator library and extensible framework for fuzz testing Apache Cassandra

Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-15348
96 files changed:
LICENSE.txt [new file with mode: 0644]
Makefile [new file with mode: 0644]
README.md [new file with mode: 0644]
conf/example.yaml [new file with mode: 0644]
docker/Dockerfile.local [new file with mode: 0644]
docker/run-local.sh [new file with mode: 0755]
docker/run.sh [new file with mode: 0755]
harry-core/pom.xml [new file with mode: 0755]
harry-core/src/harry/core/Configuration.java [new file with mode: 0644]
harry-core/src/harry/core/Run.java [new file with mode: 0644]
harry-core/src/harry/corruptor/AddExtraRowCorruptor.java [new file with mode: 0644]
harry-core/src/harry/corruptor/ChangeValueCorruptor.java [new file with mode: 0644]
harry-core/src/harry/corruptor/HideRowCorruptor.java [new file with mode: 0644]
harry-core/src/harry/corruptor/HideValueCorruptor.java [new file with mode: 0644]
harry-core/src/harry/corruptor/QueryResponseCorruptor.java [new file with mode: 0644]
harry-core/src/harry/corruptor/RowCorruptor.java [new file with mode: 0644]
harry-core/src/harry/corruptor/ShowValueCorruptor.java [new file with mode: 0644]
harry-core/src/harry/data/ResultSetRow.java [new file with mode: 0644]
harry-core/src/harry/ddl/ColumnSpec.java [new file with mode: 0644]
harry-core/src/harry/ddl/SchemaGenerators.java [new file with mode: 0644]
harry-core/src/harry/ddl/SchemaSpec.java [new file with mode: 0644]
harry-core/src/harry/generators/Bijections.java [new file with mode: 0644]
harry-core/src/harry/generators/BooleanGenerator.java [new file with mode: 0644]
harry-core/src/harry/generators/Bytes.java [new file with mode: 0644]
harry-core/src/harry/generators/Collections.java [new file with mode: 0644]
harry-core/src/harry/generators/DataGenerators.java [new file with mode: 0644]
harry-core/src/harry/generators/Generator.java [new file with mode: 0644]
harry-core/src/harry/generators/Generators.java [new file with mode: 0644]
harry-core/src/harry/generators/PCGFastPure.java [new file with mode: 0644]
harry-core/src/harry/generators/PcgRSUFast.java [new file with mode: 0644]
harry-core/src/harry/generators/RandomGenerator.java [new file with mode: 0644]
harry-core/src/harry/generators/RngUtils.java [new file with mode: 0644]
harry-core/src/harry/generators/StringBijection.java [new file with mode: 0644]
harry-core/src/harry/generators/Surjections.java [new file with mode: 0644]
harry-core/src/harry/generators/distribution/Distribution.java [new file with mode: 0644]
harry-core/src/harry/model/DataTracker.java [new file with mode: 0644]
harry-core/src/harry/model/DescriptorSelectorBuilder.java [new file with mode: 0644]
harry-core/src/harry/model/DoNothingModel.java [new file with mode: 0644]
harry-core/src/harry/model/ExhaustiveChecker.java [new file with mode: 0644]
harry-core/src/harry/model/Model.java [new file with mode: 0644]
harry-core/src/harry/model/OpSelectors.java [new file with mode: 0644]
harry-core/src/harry/model/QuiescentChecker.java [new file with mode: 0644]
harry-core/src/harry/model/SelectHelper.java [new file with mode: 0644]
harry-core/src/harry/model/StatelessVisibleRowsChecker.java [new file with mode: 0644]
harry-core/src/harry/model/VisibleRowsChecker.java [new file with mode: 0644]
harry-core/src/harry/model/clock/ApproximateMonotonicClock.java [new file with mode: 0644]
harry-core/src/harry/model/clock/OffsetClock.java [new file with mode: 0644]
harry-core/src/harry/model/sut/NoOpSut.java [new file with mode: 0644]
harry-core/src/harry/model/sut/PrintlnSut.java [new file with mode: 0644]
harry-core/src/harry/model/sut/SystemUnderTest.java [new file with mode: 0644]
harry-core/src/harry/operations/CompiledStatement.java [new file with mode: 0644]
harry-core/src/harry/operations/DeleteHelper.java [new file with mode: 0644]
harry-core/src/harry/operations/Relation.java [new file with mode: 0644]
harry-core/src/harry/operations/WriteHelper.java [new file with mode: 0644]
harry-core/src/harry/reconciler/Reconciler.java [new file with mode: 0644]
harry-core/src/harry/runner/AbstractPartitionVisitor.java [new file with mode: 0644]
harry-core/src/harry/runner/DefaultPartitionVisitorFactory.java [new file with mode: 0644]
harry-core/src/harry/runner/DefaultRowVisitor.java [new file with mode: 0644]
harry-core/src/harry/runner/PartitionVisitor.java [new file with mode: 0644]
harry-core/src/harry/runner/Query.java [new file with mode: 0644]
harry-core/src/harry/runner/QuerySelector.java [new file with mode: 0644]
harry-core/src/harry/runner/RowVisitor.java [new file with mode: 0644]
harry-core/src/harry/runner/Runner.java [new file with mode: 0644]
harry-core/src/harry/runner/Validator.java [new file with mode: 0644]
harry-core/src/harry/util/BitSet.java [new file with mode: 0644]
harry-core/src/harry/util/Ranges.java [new file with mode: 0644]
harry-core/src/harry/util/TestRunner.java [new file with mode: 0644]
harry-core/test/harry/generators/DataGeneratorsTest.java [new file with mode: 0644]
harry-core/test/harry/generators/ExtensionsTest.java [new file with mode: 0644]
harry-core/test/harry/generators/RandomGeneratorTest.java [new file with mode: 0644]
harry-core/test/harry/generators/SurjectionsTest.java [new file with mode: 0644]
harry-core/test/harry/model/ApproximateClockTest.java [new file with mode: 0644]
harry-core/test/harry/model/OpSelectorsTest.java [new file with mode: 0644]
harry-core/test/harry/op/RowVisitorTest.java [new file with mode: 0644]
harry-core/test/harry/operations/RelationTest.java [new file with mode: 0644]
harry-core/test/harry/util/BitSetTest.java [new file with mode: 0644]
harry-core/test/harry/util/RangesTest.java [new file with mode: 0644]
harry-integration/pom.xml [new file with mode: 0755]
harry-integration/src/harry/model/sut/ExternalClusterSut.java [new file with mode: 0644]
harry-integration/src/harry/model/sut/InJvmSut.java [new file with mode: 0644]
harry-integration/test/harry/QuickTheoriesAdapter.java [new file with mode: 0644]
harry-integration/test/harry/ddl/SchemaGenTest.java [new file with mode: 0644]
harry-integration/test/harry/model/ExhaustiveCheckerIntegrationTest.java [new file with mode: 0644]
harry-integration/test/harry/model/ExhaustiveCheckerUnitTest.java [new file with mode: 0644]
harry-integration/test/harry/model/IntegrationTestBase.java [new file with mode: 0644]
harry-integration/test/harry/model/MockSchema.java [new file with mode: 0644]
harry-integration/test/harry/model/ModelTest.java [new file with mode: 0644]
harry-integration/test/harry/model/QuerySelectorNegativeTest.java [new file with mode: 0644]
harry-integration/test/harry/model/QuerySelectorTest.java [new file with mode: 0644]
harry-integration/test/harry/model/QuiescentCheckerIntegrationTest.java [new file with mode: 0644]
harry-integration/test/harry/model/TestBaseImpl.java [new file with mode: 0644]
harry-runner/pom.xml [new file with mode: 0755]
harry-runner/src/harry/runner/HarryRunner.java [new file with mode: 0644]
harry-runner/src/harry/runner/Reproduce.java [new file with mode: 0644]
pom.xml [new file with mode: 0755]
test/conf/logback-dtest.xml [new file with mode: 0644]