Skip to content
This repository was archived by the owner on Apr 22, 2024. It is now read-only.

No output on Failed predicate #69

@Nimor111

Description

@Nimor111

Hello,

This is a great package and i'd like to use it, but I have an issue that's making it basically impossible to use :/

I've setup this test:

propertySpec :: IO Connection -> Spec
propertySpec conn = describe "follows best practices" $ do
    it "doesn't return 500" $ do
        withServantServer api sserver $ \url ->
            serverSatisfies api url stdArgs (not500 <%> mempty)
    where
        sserver = do
            c <- conn
            pure $ server c

And i'm calling it from hspec like this:

  hspec $ propertySpec $ do
    pure conn

And the output i'm receiving on a failed response is:

Failures:

  src/Servant/QuickCheck/Internal/QuickCheck.hs:146:11:
  1) follows best practices doesn't return 500
       Failed:
       Nothing

  To rerun use: --match "/follows best practices/doesn't return 500/"

I've looked at the code and can't really make out why and how it's printing Nothing there, but trying with another property ( for example getsHaveCacheControlHeader ) it outputs the request and response as it should ( with the Show instance for PredicateFailure ).

I'm using version 0.0.8.0 of the package, the stack build tool, on NixOS. Happens on other Linux distros as well, without nix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions