diff options
author | Fabian Meumertzheim <meumertzheim@code-intelligence.com> | 2023-06-06 10:46:31 +0200 |
---|---|---|
committer | Fabian Meumertzheim <fabian@meumertzhe.im> | 2023-06-07 14:23:24 +0200 |
commit | 1ba2ae03222fa60bff118ae054560fce643bf408 (patch) | |
tree | bea9f153c3651776ca27cbdb1991e8deb14d1c3f /src/test/java/com | |
parent | 3869b7395de165e94093379e83adf6e978871cb7 (diff) | |
download | jazzer-api-1ba2ae03222fa60bff118ae054560fce643bf408.tar.gz |
Replace `@DescriptorSource` with `@WithDefaultInstance`
A default instance is a more direct representation of a protobuf base
message and getting it via a method allows for more flexible use, e.g.,
by making the choice of proto type dependent on command-line arguments.
Diffstat (limited to 'src/test/java/com')
-rw-r--r-- | src/test/java/com/code_intelligence/jazzer/mutation/mutator/StressTest.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/test/java/com/code_intelligence/jazzer/mutation/mutator/StressTest.java b/src/test/java/com/code_intelligence/jazzer/mutation/mutator/StressTest.java index 2e75d243..3bf880a4 100644 --- a/src/test/java/com/code_intelligence/jazzer/mutation/mutator/StressTest.java +++ b/src/test/java/com/code_intelligence/jazzer/mutation/mutator/StressTest.java @@ -20,7 +20,6 @@ import static com.code_intelligence.jazzer.mutation.mutator.Mutators.validateAnn import static com.code_intelligence.jazzer.mutation.support.InputStreamSupport.extendWithZeros; import static com.code_intelligence.jazzer.mutation.support.Preconditions.require; import static com.code_intelligence.jazzer.mutation.support.TestSupport.anyPseudoRandom; -import static com.code_intelligence.jazzer.mutation.support.TestSupport.asMap; import static com.code_intelligence.jazzer.mutation.support.TypeSupport.asAnnotatedType; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; @@ -38,7 +37,7 @@ import com.code_intelligence.jazzer.mutation.annotation.InRange; import com.code_intelligence.jazzer.mutation.annotation.NotNull; import com.code_intelligence.jazzer.mutation.annotation.WithSize; import com.code_intelligence.jazzer.mutation.annotation.proto.AnySource; -import com.code_intelligence.jazzer.mutation.annotation.proto.DescriptorSource; +import com.code_intelligence.jazzer.mutation.annotation.proto.WithDefaultInstance; import com.code_intelligence.jazzer.mutation.api.PseudoRandom; import com.code_intelligence.jazzer.mutation.api.Serializer; import com.code_intelligence.jazzer.mutation.api.SerializingMutator; @@ -94,13 +93,15 @@ public class StressTest { private static final int NUM_MUTATE_PER_INIT = 100; private static final double MANY_DISTINCT_ELEMENTS_RATIO = 0.5; - @SuppressWarnings("unused") - static final Descriptor TEST_PROTOBUF_DESCRIPTOR = TestProtobuf.getDescriptor(); - private enum TestEnumTwo { A, B } private enum TestEnumThree { A, B, C } + @SuppressWarnings("unused") + static Message getTestProtobufDefaultInstance() { + return TestProtobuf.getDefaultInstance(); + } + public static Stream<Arguments> stressTestCases() { return Stream.of(arguments(asAnnotatedType(boolean.class), "Boolean", exactly(false, true), exactly(false, true)), @@ -305,9 +306,9 @@ public class StressTest { "{Builder.Nullable<Boolean>, Builder.Nullable<Integer>, Builder.Nullable<Integer>, Builder.Nullable<Long>, Builder.Nullable<Long>, Builder.Nullable<Float>, Builder.Nullable<Double>, Builder.Nullable<String>, Builder.Nullable<Enum<Enum>>, WithoutInit(Builder.Nullable<{Builder.Nullable<Integer>, Builder via List<Integer>, WithoutInit(Builder.Nullable<(cycle) -> Message>)} -> Message>), Builder via List<Boolean>, Builder via List<Integer>, Builder via List<Integer>, Builder via List<Long>, Builder via List<Long>, Builder via List<Float>, Builder via List<Double>, Builder via List<String>, Builder via List<Enum<Enum>>, WithoutInit(Builder via List<(cycle) -> Message>), Builder.Map<Integer,Integer>, Builder.Nullable<FixedValue(OnlyLabel)>, Builder.Nullable<{<empty>} -> Message>, Builder.Nullable<Integer> | Builder.Nullable<Long> | Builder.Nullable<Integer>} -> Message", manyDistinctElements(), manyDistinctElements()), arguments( - new TypeHolder<@NotNull @DescriptorSource( - "com.code_intelligence.jazzer.mutation.mutator.StressTest#TEST_PROTOBUF_DESCRIPTOR") - DynamicMessage>() { + new TypeHolder<@NotNull @WithDefaultInstance( + "com.code_intelligence.jazzer.mutation.mutator.StressTest#getTestProtobufDefaultInstance") + Message>() { }.annotatedType(), "{Builder.Nullable<Boolean>, Builder.Nullable<Integer>, Builder.Nullable<Integer>, Builder.Nullable<Long>, Builder.Nullable<Long>, Builder.Nullable<Float>, Builder.Nullable<Double>, Builder.Nullable<String>, Builder.Nullable<Enum<Enum>>, WithoutInit(Builder.Nullable<{Builder.Nullable<Integer>, Builder via List<Integer>, WithoutInit(Builder.Nullable<(cycle) -> Message>)} -> Message>), Builder via List<Boolean>, Builder via List<Integer>, Builder via List<Integer>, Builder via List<Long>, Builder via List<Long>, Builder via List<Float>, Builder via List<Double>, Builder via List<String>, Builder via List<Enum<Enum>>, WithoutInit(Builder via List<(cycle) -> Message>), Builder.Map<Integer,Integer>, Builder.Nullable<FixedValue(OnlyLabel)>, Builder.Nullable<{<empty>} -> Message>, Builder.Nullable<Integer> | Builder.Nullable<Long> | Builder.Nullable<Integer>} -> Message", manyDistinctElements(), manyDistinctElements()), |