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
Fuzzer doesn't generate any values when given 100 recursive seeds, even though Configuration.recursionTreeDepth is kept at default value (i.e. 4).
Note: fuzzer doesn't need to explore all $100^4$ combinations to produce something, it can explore any single one of them and that will already be enough to produce one value.
Real world example
When using static methods for creating values is supported, there will be 50 seeds for generating java.time.LocalDateTime type, most of which require another instance of java.time.LocalDateTime or some other type that also has a lot of static methods that can create it.
To Reproduce
Run the following unit test.
@Test
@Timeout(10, unit =TimeUnit.SECONDS) // withTimeout(1000) works inconsistentlyfun`fuzzer works when there are many recursive seeds`() {
classNode(valparent:Node?)
runBlocking {
var seenAnything =false
withTimeout(1000) {
runFuzzing(
{ _, _ ->List(100) {Seed.Recursive<Unit, Node?>(
construct =Routine.Create(listOf(Unit)) { (parent) ->Node(parent) },
modify = emptySequence(),
empty =Routine.Empty { null }
)}.asSequence() },
Description(listOf(Unit))
) { _, _ ->
seenAnything =trueBaseFeedback(Unit, Control.STOP)
}
}
assertTrue(seenAnything) { "Fuzzer hasn't generated any values" }
}
}
Expected behavior
Test passes.
Actual behavior
Test fails.
Visual proofs (screenshots, logs, images)
fuzzer works when there are many recursive seeds() timed out after 10 seconds
The text was updated successfully, but these errors were encountered:
Description
Fuzzer doesn't generate any values when given
100
recursive seeds, even thoughConfiguration.recursionTreeDepth
is kept at default value (i.e.4
).Note: fuzzer doesn't need to explore all$100^4$ combinations to produce something, it can explore any single one of them and that will already be enough to produce one value.
Real world example
When using static methods for creating values is supported, there will be
50
seeds for generatingjava.time.LocalDateTime
type, most of which require another instance ofjava.time.LocalDateTime
or some other type that also has a lot of static methods that can create it.To Reproduce
Run the following unit test.
Expected behavior
Test passes.
Actual behavior
Test fails.
Visual proofs (screenshots, logs, images)
The text was updated successfully, but these errors were encountered: