AnthonyLloyd / CsCheck

Random testing library for C#
Apache License 2.0
162 stars 4 forks source link

[Suggestion] Default timeout for generators #30

Open AlgorithmsAreCool opened 2 weeks ago

AlgorithmsAreCool commented 2 weeks ago

Howdy!

I incorrectly wrote a generator that called unbounded ArrayUnique from a finite Gen.OneOfConst. As a result the test hung trying to find some impossible of number of unique items. It took me a little while to understand what was happening.

What would you think of having a default timeout for Generators so that they throw exceptions after some delay if they can't produce any samples?

AnthonyLloyd commented 1 week ago

The sets and unique do have a fail to add throw after 1000 attempts. Where clause is 100 attempts. The where clause is configurable but not the sets. Maybe I should reduce that one or at least make it configurable.

AlgorithmsAreCool commented 1 week ago

Interesting! Unique seemed to hang indefinitely when i misconfigured it.