(I’m cross-posting from this mailing list so the answer can be updated over time)

A user reported a bug in a function and provided a reproduction. I decided to write a test for this function to see if Hypothesis could find the same bug. The test looks like this:

@given(data=lists(tuples(floats())))
def test_percentile(data):
    ...

I’ve run this test with up to 100,000 examples, but Hypothesis is not finding this bug. A very specific set of circumstances that I do not understand need to line up precisely for this bug to reveal itself.

I am now trying to figure out something different: Given a known failing example, can Hypothesis help me shrink it to its simplest form?

The reproduction provided by the user is a list that’s 373 elements long. I managed to manually shrink it down to 45 elements. Is there any way to get Hypothesis to shrink the known failing example even further?