# I made a library for using QuickCheck in Cabal’s detailed testing interface

**URL:** <https://discourse.haskell.org/t/i-made-a-library-for-using-quickcheck-in-cabal-s-detailed-testing-interface/4425>\
**Category:** Show and Tell\
**Created:** [April 24, 2022, 8:04am UTC](https://discourse.haskell.org/t/i-made-a-library-for-using-quickcheck-in-cabal-s-detailed-testing-interface/4425 "2022-04-24T08:04:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![schuelermine](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/schuelermine/32/5363_2.png) [@schuelermine](https://discourse.haskell.org/u/schuelermine)\
**Post date:** [April 24, 2022, 8:04am UTC](https://discourse.haskell.org/t/i-made-a-library-for-using-quickcheck-in-cabal-s-detailed-testing-interface/4425/1 "2022-04-24T08:04:21Z")

</div>

There’s already a library [cabal-test-quickcheck](https://hackage.haskell.org/package/cabal-test-quickcheck) for this, but it’s not available for newer GHC versions. I made my own that offers a bit more functionality, but might be a bit more finicky to use. It’s cabal-detailed-quickcheck on Hackage.

[https://hackage.haskell.org/package/cabal-detailed-quickcheck](https://hackage.haskell.org/package/cabal-detailed-quickcheck)

> **[GitHub - schuelermine/cabal-detailed-quickcheck](https://github.com/schuelermine/cabal-detailed-quickcheck)**
>
> Contribute to schuelermine/cabal-detailed-quickcheck development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![sjakobi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/sjakobi/32/614_2.png) [@sjakobi](https://discourse.haskell.org/u/sjakobi)\
**Post date:** [April 24, 2022, 1:37pm UTC](https://discourse.haskell.org/t/i-made-a-library-for-using-quickcheck-in-cabal-s-detailed-testing-interface/4425/2 "2022-04-24T13:37:42Z")

</div>

What are the advantages of the `detailed` testing interface as opposed to using the usual `exitcode-stdio-1.0` with, say, `tasty`?

---

<div class="post-metadata">

**Author:** ![schuelermine](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/schuelermine/32/5363_2.png) [@schuelermine](https://discourse.haskell.org/u/schuelermine)\
**Post date:** [April 24, 2022, 4:31pm UTC](https://discourse.haskell.org/t/i-made-a-library-for-using-quickcheck-in-cabal-s-detailed-testing-interface/4425/3 "2022-04-24T16:31:38Z")

</div>

It’s supposed to allow external tools to more easily interface with the system. It allows consumers of the test suite to change settings of a test using `setOption`, sort tests using tags, and know which groups of tests are safe to run in parallel. You can also have a test run partially and return a status report along with a new `IO` value that can be run to continue the process.

As far as I know, there’s no tools that currently take advantage of this, and the \<1.0 version number suggests it’s not done with development, but it seems a reasonable system to me.
