You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// - Map mutator would use supplier values if it contained any Map<String, Integer> objects
361
363
}
362
364
363
365
staticStream<?> mySupplier() {
@@ -372,7 +374,7 @@ Jazzer automatically routes values to mutators based on type:
372
374
- Integers in your value pool → Integer mutators
373
375
- Byte arrays in your value pool → byte[] mutators
374
376
375
-
**Type propagation happens recursively by default**, so a `@ValuePool` on a `Map<String, Integer>` will feed both the String mutator (for keys) and Integer mutator (for values).
377
+
**Type propagation happens recursively by default**, so a `@ValuePool` on a `Map<String, Integer>` will feed three mutators: the String mutator (for keys), the Integer mutator (for values), and the `Map<String, Integer>` mutator.
376
378
377
379
---
378
380
@@ -382,7 +384,12 @@ Jazzer automatically routes values to mutators based on type:
382
384
383
385
Provide the names of static methods that return `Stream<?>`:
@@ -414,82 +421,84 @@ Load files as `byte[]` arrays using glob patterns:
414
421
#### Mutation Probability (`p` field)
415
422
Controls how often values from the pool are used versus other mutation strategies.
416
423
```java
417
-
@ValuePool(value= {"mySupplier"}, p=0.3) // Use pool values 30% of the time
424
+
@ValuePool(value= {"mySupplier"}, p=0.3) T// Use pool values 30% of the time
418
425
```
419
426
420
-
**Default:**`p = 0.1` (10% of mutations use pool values)
421
-
**Range:** 0.0 to 1.0
427
+
**Default:**`p = 0.1` - 10% of mutations use pool values
428
+
429
+
**Range:**`[0.0; 1.0]`
430
+
431
+
432
+
#### Max Mutations (`maxMutations` field)
433
+
After selecting a value from the pool, the underlying type mutator can additionaly apply a randomly chosen number of mutations in the inclusive interval of [0; `maxMutations`] to the value.
434
+
Setting `maxMutations = 0` means that no additional mutations are applied, and the values from the pool are passed directly to the fuzz test method.
435
+
436
+
**Default:**`maxMutations = 1` - mutates at most one time after selecting a value from the pool
437
+
438
+
**Range:**`[0; Integer.MAX_VALUE]`
439
+
422
440
423
441
#### Type Propagation (`constraint` field)
424
442
425
443
Controls whether the annotation affects nested types:
426
444
```java
427
-
//Default: RECURSIVE - applies to all nested types
0 commit comments