Skip to content

Strictness for crashes interacts in funny ways with shrinking #400

@MaximilianAlgehed

Description

@MaximilianAlgehed

Consider the following:

$> quickCheck $ forAllShrink (pure undefined) (\ () -> []) $ \ () -> True
*** Failed! (after 1 test):                            
Exception while generating shrink-list:
  Prelude.undefined
  CallStack (from HasCallStack):
    undefined, called at <interactive>:8:33 in interactive:Ghci7
Exception thrown while showing test case:
  Prelude.undefined
  CallStack (from HasCallStack):
    undefined, called at <interactive>:8:33 in interactive:Ghci7

The fact that the first thing the user sees when they've screwed up in the generator is that the shrinker failed is not optimal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions