summary refs log tree commit diff
path: root/gnu/packages/haskell-check.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell-check.scm')
-rw-r--r--gnu/packages/haskell-check.scm592
1 files changed, 363 insertions, 229 deletions
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index a200c1b60c..62433cdb15 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
 ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
+;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,6 +33,7 @@
 (define-module (gnu packages haskell-check)
   #:use-module (gnu packages)
   #:use-module (gnu packages haskell-crypto)
+  #:use-module (gnu packages haskell-web)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (guix build-system haskell)
   #:use-module (guix download)
@@ -42,7 +44,7 @@
 (define-public ghc-tasty-ant-xml
   (package
     (name "ghc-tasty-ant-xml")
-    (version "1.1.6")
+    (version "1.1.8")
     (source
      (origin
        (method url-fetch)
@@ -52,13 +54,10 @@
              ".tar.gz"))
        (sha256
         (base32
-         "13qqpl1prr9dda87dp45mqybay24n8rhxxgvpc9j34kh72g8j5qw"))))
+         "0h9mllhw9cd0rn34xhj8grwmbny7z7hpd8qmp9lfcdj0s4qx9vx8"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-generic-deriving" ,ghc-generic-deriving)
-       ("ghc-xml" ,ghc-xml)
-       ("ghc-tagged" ,ghc-tagged)
-       ("ghc-tasty" ,ghc-tasty)))
+     (list ghc-generic-deriving ghc-xml ghc-tagged ghc-tasty))
     (home-page
      "https://github.com/ocharles/tasty-ant-xml")
     (synopsis
@@ -72,7 +71,7 @@ framework.")
 (define-public ghc-tasty-smallcheck
   (package
     (name "ghc-tasty-smallcheck")
-    (version "0.8.1")
+    (version "0.8.2")
     (source
      (origin
        (method url-fetch)
@@ -82,13 +81,10 @@ framework.")
              ".tar.gz"))
        (sha256
         (base32
-         "1n66ngzllf3xrlqykwszlkwsi96n5nkm7xbpfq7774vpvfnafjri"))))
+         "0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-tasty" ,ghc-tasty)
-       ("ghc-smallcheck" ,ghc-smallcheck)
-       ("ghc-async" ,ghc-async)
-       ("ghc-tagged" ,ghc-tagged)))
+     (list ghc-tasty ghc-smallcheck ghc-async ghc-tagged))
     (home-page "https://documentup.com/feuerbach/tasty")
     (synopsis "SmallCheck support for the Tasty test framework")
     (description "This package provides SmallCheck support for the Tasty
@@ -98,7 +94,7 @@ Haskell test framework.")
 (define-public ghc-tasty-quickcheck
   (package
     (name "ghc-tasty-quickcheck")
-    (version "0.10.1")
+    (version "0.10.1.2")
     (source
      (origin
        (method url-fetch)
@@ -107,16 +103,16 @@ Haskell test framework.")
              "tasty-quickcheck-" version ".tar.gz"))
        (sha256
         (base32
-         "0k4vvd5vmrncv1s6gdf03l4xijwlk428sb9jfx8n1zaz02971msh"))))
+         "0i1i78587znqzwps49milyr5n2k388ld2kr9ysz1vw8gcw51qq49"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-tagged" ,ghc-tagged)
-       ("ghc-tasty" ,ghc-tasty)
-       ("ghc-random" ,ghc-random)
-       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
-       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
-       ("ghc-pcre-light" ,ghc-pcre-light)))
+     (list ghc-quickcheck
+           ghc-tagged
+           ghc-tasty
+           ghc-random
+           ghc-ansi-terminal
+           ghc-tasty-hunit
+           ghc-pcre-light))
     (home-page "http://documentup.com/feuerbach/tasty")
     (synopsis "QuickCheck support for the Tasty test framework")
     (description "This package provides QuickCheck support for the Tasty
@@ -126,7 +122,7 @@ Haskell test framework.")
 (define-public ghc-tasty-golden
   (package
     (name "ghc-tasty-golden")
-    (version "2.3.2")
+    (version "2.3.4")
     (source
      (origin
        (method url-fetch)
@@ -136,16 +132,16 @@ Haskell test framework.")
              ".tar.gz"))
        (sha256
         (base32
-         "0k3ibjhjc9vcwzrjnl4rnwvfm8l81q347nb7dgvcib6n5wm3s404"))))
+         "1nskavqgfxx1cw7q6c0cmizlwj54rnlv93yhgssaa77gv1nbvwpn"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-temporary" ,ghc-temporary)
-       ("ghc-tasty" ,ghc-tasty)
-       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
-       ("ghc-tagged" ,ghc-tagged)
-       ("ghc-async" ,ghc-async)
-       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
-       ("ghc-temporary-rc" ,ghc-temporary-rc)))
+     (list ghc-async
+           ghc-optparse-applicative
+           ghc-tagged
+           ghc-tasty
+           ghc-temporary
+           ghc-unix-compat))
+    (native-inputs (list ghc-tasty-hunit))
     (home-page
      "https://github.com/feuerbach/tasty-golden")
     (synopsis "Golden tests support for tasty")
@@ -159,7 +155,7 @@ contains the correct result for the test.")
 (define-public ghc-tasty
   (package
     (name "ghc-tasty")
-    (version "1.2.3")
+    (version "1.4.2")
     (source
      (origin
        (method url-fetch)
@@ -169,17 +165,17 @@ contains the correct result for the test.")
              ".tar.gz"))
        (sha256
         (base32
-         "0qpn0avpw4w1qq5r2gwh2piipj0llqq6ylagr3xnqiraq6mhg8cc"))))
+         "0574hbqzxzyv6vsk5kzbf04kz58y0iy8x9ydcj4b8fpncgmgy63g"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-tagged" ,ghc-tagged)
-       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
-       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
-       ("ghc-unbounded-delays" ,ghc-unbounded-delays)
-       ("ghc-async" ,ghc-async)
-       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
-       ("ghc-clock-bootstrap" ,ghc-clock-bootstrap)
-       ("ghc-wcwidth" ,ghc-wcwidth-bootstrap)))
+     (list ghc-tagged
+           ghc-regex-tdfa
+           ghc-optparse-applicative
+           ghc-unbounded-delays
+           ghc-async
+           ghc-ansi-terminal
+           ghc-clock-bootstrap
+           ghc-wcwidth-bootstrap))
     (home-page "http://documentup.com/feuerbach/tasty")
     (synopsis "Modern and extensible testing framework")
     (description "Tasty is a modern testing framework for Haskell.  It lets
@@ -190,7 +186,7 @@ and any other types of tests into a single test suite.")
 (define-public ghc-tasty-hedgehog
   (package
     (name "ghc-tasty-hedgehog")
-    (version "1.0.0.1")
+    (version "1.1.0.0")
     (source
      (origin
        (method url-fetch)
@@ -198,17 +194,12 @@ and any other types of tests into a single test suite.")
                            "tasty-hedgehog/tasty-hedgehog-" version ".tar.gz"))
        (sha256
         (base32
-         "1mbg5q0c0xfrk4npfj60pi693igb7r5l78x6xf9fk2jglw0nmxhz"))))
+         "0cy49z8n124xh2ra2482vfy5if1n6d9lbdjma2zg1mxfj0k0zyfb"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-tagged" ,ghc-tagged)
-       ("ghc-tasty" ,ghc-tasty)
-       ("ghc-hedgehog" ,ghc-hedgehog)))
+     (list ghc-tagged ghc-tasty ghc-hedgehog))
     (native-inputs
-     `(("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)))
-    (arguments
-     `(#:cabal-revision
-       ("1" "1n6797fm8swyrk8cw7zxz593gq82wx8dayvm204rmgcz75bslcpn")))
+     (list ghc-tasty-expected-failure))
     (home-page "https://github.com/qfpl/tasty-hedgehog")
     (synopsis "Integration for tasty and hedgehog")
     (description "This package provides the means for integrating the
@@ -220,28 +211,29 @@ framework}.")
 (define-public ghc-tasty-hspec
   (package
     (name "ghc-tasty-hspec")
-    (version "1.1.5.1")
+    (version "1.1.6")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "mirror://hackage/package/tasty-hspec/tasty-hspec-"
+             "https://hackage.haskell.org/package/tasty-hspec/tasty-hspec-"
              version
              ".tar.gz"))
        (sha256
         (base32
-         "0i9kdzjpk750sa078jj3iyhp72k0177zk7vxl131r6dkyz09x27y"))))
+         "02s82ijs2ringqxsqbm7m3vcy5brmwxa617azxv0v2phi3rdkjvl"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-hspec" ,ghc-hspec)
-       ("ghc-hspec-core" ,ghc-hspec-core)
-       ("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-tasty" ,ghc-tasty)
-       ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
-       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+     (list ghc-hspec
+           ghc-hspec-core
+           ghc-quickcheck
+           ghc-tagged
+           ghc-tasty
+           ghc-tasty-smallcheck
+           ghc-tasty-quickcheck))
     (arguments
      `(#:cabal-revision
-       ("4" "1yppwhs2r2rlwrzli9ccv5ldgl95h5p7pqhsr898r3das6daf6sk")))
+       ("1" "0za15rg0szacxq9yfxxjzddr77ai7ng5827a20pj9dr5anjlnajj")))
     (home-page
      "https://github.com/mitchellwrosen/tasty-hspec")
     (synopsis
@@ -253,7 +245,7 @@ framework}.")
 (define-public ghc-tasty-hunit
   (package
     (name "ghc-tasty-hunit")
-    (version "0.10.0.2")
+    (version "0.10.0.3")
     (source
      (origin
        (method url-fetch)
@@ -263,11 +255,10 @@ framework}.")
              ".tar.gz"))
        (sha256
         (base32
-         "1xvf5xs0r8xqkcg354klz4wyzwyzvinalyl6f4fnxwqmzrgch8s8"))))
+         "0gz6zz3w7s44pymw33xcxnawryl27zk33766sab96nz2xh91kvxp"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-call-stack" ,ghc-call-stack-boot)
-       ("ghc-tasty" ,ghc-tasty)))
+     (list ghc-call-stack-boot ghc-tasty))
     (home-page "http://documentup.com/feuerbach/tasty")
     (synopsis "HUnit support for the Tasty test framework")
     (description "This package provides HUnit support for the Tasty Haskell
@@ -287,9 +278,7 @@ test framework.")
                 "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-tasty" ,ghc-tasty)
-       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
-       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+     (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
     (home-page "https://github.com/vincenthz/tasty-kat")
     (synopsis "Known Answer Tests (KAT) framework for tasty")
     (description
@@ -300,7 +289,7 @@ tasty.")
 (define-public ghc-tasty-lua
   (package
     (name "ghc-tasty-lua")
-    (version "0.2.0.1")
+    (version "0.2.3.2")
     (source
      (origin
        (method url-fetch)
@@ -308,14 +297,12 @@ tasty.")
                            "tasty-lua/tasty-lua-" version ".tar.gz"))
        (sha256
         (base32
-         "0xlj36rrhkx312h7smx6ay20rhlhxvw2ma2ckdnzv1pvmdn6p5qx"))))
+         "0wa73ihkjcxi50lgpdzwwdx7s903lqi79hw7hxlvhbcvdly1cq53"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-file-embed" ,ghc-file-embed)
-       ("ghc-hslua" ,ghc-hslua)
-       ("ghc-tasty" ,ghc-tasty)))
+     (list ghc-file-embed ghc-hslua ghc-tasty))
     (native-inputs
-     `(("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+     (list ghc-tasty-hunit))
     (home-page "https://github.com/hslua/tasty-lua")
     (synopsis "Write tests in Lua, integrate into tasty")
     (description "This package gives users the ability to define tasty tests
@@ -337,9 +324,7 @@ from Lua.")
          "0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
-       ("ghc-tasty" ,ghc-tasty)
-       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+     (list ghc-haskell-src-exts ghc-tasty ghc-tasty-hunit))
     (home-page "https://github.com/bennofs/tasty-th")
     (synopsis "Automatically generate tasty TestTrees")
     (description
@@ -352,7 +337,7 @@ test-framework.")
 (define-public ghc-tasty-rerun
   (package
     (name "ghc-tasty-rerun")
-    (version "1.1.14")
+    (version "1.1.18")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -360,14 +345,11 @@ test-framework.")
                     "tasty-rerun-" version ".tar.gz"))
               (sha256
                (base32
-                "0s0zj8ds4g1w2cjzm2lh25ivg962jigqdrbj08v3dbz64lx4mlzr"))))
+                "0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-optparse-applicative" ,ghc-optparse-applicative)
-       ("ghc-reducers" ,ghc-reducers)
-       ("ghc-split" ,ghc-split)
-       ("ghc-tagged" ,ghc-tagged)
-       ("ghc-tasty" ,ghc-tasty)))
+     (list ghc-optparse-applicative ghc-reducers ghc-split ghc-tagged
+           ghc-tasty))
     (home-page "https://github.com/ocharles/tasty-rerun")
     (synopsis "Run tests by filtering the test tree")
     (description "This package adds the ability to run tests by filtering the
@@ -379,7 +361,7 @@ been added since previous test run.")
 (define-public ghc-tasty-expected-failure
   (package
     (name "ghc-tasty-expected-failure")
-    (version "0.11.1.2")
+    (version "0.12.3")
     (source
      (origin
        (method url-fetch)
@@ -388,11 +370,16 @@ been added since previous test run.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "175gdk1mkslcwjxajkbl4zmaigzf8h4svzd7va5qb519y0dxk28n"))))
+         "0zlgxs24d54byfhvwdg85xk1572zpjs71bjlxxrxcvralrfcq1yb"))))
     (build-system haskell-build-system)
+    (arguments `(#:tests? #f)) ; TODO: Loops.
+;    (native-inputs
+;     `(("ghc-tasty-hunit" ,ghc-tasty-hunit)
+;       ("ghc-tasty-golden" ,ghc-tasty-golden)
+;       ("ghc-hedgehog" ,ghc-hedgehog)
+;       ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)))
     (inputs
-     `(("ghc-tagged" ,ghc-tagged)
-       ("ghc-tasty" ,ghc-tasty)))
+     (list ghc-tagged ghc-tasty ghc-unbounded-delays))
     (home-page "https://github.com/nomeata/tasty-expected-failure")
     (synopsis "Mark tasty tests as failure expected")
     (description
@@ -405,7 +392,7 @@ development.")
 (define-public ghc-quickcheck-instances
   (package
     (name "ghc-quickcheck-instances")
-    (version "0.3.22")
+    (version "0.3.25.2")
     (source
      (origin
        (method url-fetch)
@@ -415,24 +402,28 @@ development.")
              version ".tar.gz"))
        (sha256
         (base32
-         "14asr9r7da3w7p4hjj51w2yb002nz8x0np8hdz9z4yjvi60vyrax"))))
+         "0ihqbarl2ddrfgq3mq09lswwn8213qpw13g49qxs5mjkcm6gbk3h"))))
     (build-system haskell-build-system)
     (arguments
      `(#:cabal-revision
-       ("2" "1ia5fjhpg7rz793552v88gv2iqx7hl9mi2g09m0llasy1cpzc9jr")))
+       ("2" "1lsa3pbg4ljlk29fhm3mdklnx3hwffyga1nr5krbpcyc3ywq8fq8")))
     (inputs
-     `(("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-base-compat" ,ghc-base-compat)
-       ("ghc-case-insensitive" ,ghc-case-insensitive)
-       ("ghc-hashable" ,ghc-hashable)
-       ("ghc-old-time" ,ghc-old-time)
-       ("ghc-scientific" ,ghc-scientific)
-       ("ghc-tagged" ,ghc-tagged)
-       ("ghc-time-compat" ,ghc-time-compat)
-       ("ghc-transformers-compat" ,ghc-transformers-compat)
-       ("ghc-unordered-containers" ,ghc-unordered-containers)
-       ("ghc-uuid-types" ,ghc-uuid-types)
-       ("ghc-vector" ,ghc-vector)))
+     (list ghc-case-insensitive
+           ghc-data-fix
+           ghc-hashable
+           ghc-integer-logarithms
+           ghc-old-time
+           ghc-quickcheck
+           ghc-scientific
+           ghc-splitmix
+           ghc-strict
+           ghc-tagged
+           ghc-these
+           ghc-time-compat
+           ghc-transformers-compat
+           ghc-unordered-containers
+           ghc-uuid-types
+           ghc-vector))
     (home-page "https://github.com/aslatter/qc-instances")
     (synopsis "Common quickcheck instances")
     (description "This package provides QuickCheck instances for types
@@ -453,7 +444,7 @@ provided by the Haskell Platform.")
         (base32
          "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
     (build-system haskell-build-system)
-    (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+    (inputs (list ghc-quickcheck))
     (home-page
      "https://github.com/bos/quickcheck-unicode")
     (synopsis "Generator functions Unicode-related tests")
@@ -477,8 +468,7 @@ testing Unicode-related software.")
          "08k4v7pkgjf30pv5j2dfv1gqv6hclxlniyq2sps8zq4zswcr2xzv"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-hunit" ,ghc-hunit)))
+     (list ghc-quickcheck ghc-hunit))
     (home-page
      "https://github.com/hspec/quickcheck-io#readme")
     (synopsis "Use HUnit assertions as QuickCheck properties")
@@ -489,8 +479,7 @@ use HUnit assertions as QuickCheck properties.")
 (define-public ghc-quickcheck
   (package
     (name "ghc-quickcheck")
-    (version "2.13.2")
-    (outputs '("out" "static" "doc"))
+    (version "2.14.2")
     (source
      (origin
        (method url-fetch)
@@ -500,11 +489,10 @@ use HUnit assertions as QuickCheck properties.")
              ".tar.gz"))
        (sha256
         (base32
-         "0426j43af8v3qmdjjqxivazsvr3a2brac8yw09vpgpjkb2m0nmkv"))))
+         "1wrnrm9sq4s0bly0q58y80g4153q45iglqa34xsi2q3bd62nqyyq"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-random" ,ghc-random)
-       ("ghc-splitmix" ,ghc-splitmix-bootstrap)))
+     (list ghc-random ghc-splitmix-bootstrap))
     (home-page "https://github.com/nick8325/quickcheck")
     (synopsis "Automatic testing of Haskell programs")
     (description
@@ -529,11 +517,9 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
         (base32 "1kyam4cy7qmnizjwjm8jamq43w7f0fs6ljfplwj0ib6wi2kjh0wv"))))
     (build-system haskell-build-system)
     (native-inputs
-     `(("ghc-hspec" ,ghc-hspec)))
+     (list ghc-hspec))
     (inputs
-     `(("ghc-ieee754" ,ghc-ieee754)
-       ("ghc-pretty-show" ,ghc-pretty-show)
-       ("ghc-quickcheck" ,ghc-quickcheck)))
+     (list ghc-ieee754 ghc-pretty-show ghc-quickcheck))
     (home-page "https://github.com/s9gf4ult/quickcheck-assertions")
     (synopsis "HUnit-like assertions for QuickCheck")
     (description
@@ -558,10 +544,9 @@ HUnit.")
     (arguments
      `(#:tests? #f  ; FIXME: Tests do not build.
        #:cabal-revision
-       ("5" "18g92ajx3ghznd6k3ihj22ln29n676ailzwx3k0f1kj3bmpilnh6")))
+       ("6" "0wbq9wiaag69nsqxwijzhs5y1hb9kbpkp1x65dvx158cxp8i9w9r")))
     (native-inputs
-     `(("ghc-hunit" ,ghc-hunit)
-       ("ghc-quickcheck" ,ghc-quickcheck)))
+     (list ghc-hunit ghc-quickcheck))
     (inputs
      `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
        ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
@@ -600,9 +585,7 @@ reporting and test statistics output.")
      `(#:cabal-revision
        ("3" "0i9mlalv7cl1iq43ld5myrnpszq5rxmd79hk495dcb08rglhgl3z")))
     (inputs
-     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
-       ("ghc-hunit" ,ghc-hunit)
-       ("ghc-test-framework" ,ghc-test-framework)))
+     (list ghc-extensible-exceptions ghc-hunit ghc-test-framework))
     (home-page "https://batterseapower.github.io/test-framework/")
     (synopsis "HUnit support for test-framework")
     (description
@@ -625,12 +608,10 @@ reporting and test statistics output.")
     (build-system haskell-build-system)
     (arguments
      `(#:cabal-revision
-       ("1" "1vmpk70h1594h9s216d3ngkb399fpny1d3sh4gg0vrc75p4as68d")))
+       ("3" "0mglqfimla4vvv80mg08aj76zf4993wmngqlirh05h8i9nmgv6lh")))
     (inputs
-     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
-       ("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-random" ,ghc-random)
-       ("ghc-test-framework" ,ghc-test-framework)))
+     (list ghc-extensible-exceptions ghc-quickcheck ghc-random
+           ghc-test-framework))
     (home-page "https://batterseapower.github.io/test-framework/")
     (synopsis "QuickCheck2 support for test-framework")
     (description
@@ -652,8 +633,7 @@ package.")
         (base32 "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-smallcheck" ,ghc-smallcheck)
-       ("ghc-test-framework" ,ghc-test-framework)))
+     (list ghc-smallcheck ghc-test-framework))
     (home-page "https://github.com/Bodigrim/smallcheck")
     (synopsis "SmallCheck support for test-framework")
     (description
@@ -676,10 +656,8 @@ test-framework.  New projects should use ghc-tasty-smallcheck instead.")
          "12lw7yj02jb9s0i7rb98jjam43j2h0gzmnbj9zi933fx7sg0sy4b"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-test-framework" ,ghc-test-framework)
-       ("ghc-language-haskell-extract" ,ghc-language-haskell-extract)
-       ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
-       ("ghc-regex-posix" ,ghc-regex-posix)))
+     (list ghc-test-framework ghc-language-haskell-extract
+           ghc-haskell-src-exts ghc-regex-posix))
     (home-page "https://github.com/finnsson/test-generator")
     (synopsis "Auto generate the HUnit- and Quickcheck-bulk-code
 using Template Haskell")
@@ -698,7 +676,7 @@ using Template Haskell")
 (define-public ghc-hunit
   (package
     (name "ghc-hunit")
-    (version "1.6.0.0")
+    (version "1.6.2.0")
     (outputs '("out" "static" "doc"))
     (source
      (origin
@@ -707,12 +685,12 @@ using Template Haskell")
                            "HUnit-" version ".tar.gz"))
        (sha256
         (base32
-         "1pnhwqq5v8h48gbp3ibv3skfj25mf4zs5svxcavq93p9cswycj3l"))))
+         "1as4sw5y39c3zrmr6sb8zbw74c9gdn4401y0dx45ih7zf6457dxh"))))
     (build-system haskell-build-system)
     (inputs
      ;; We cannot use ghc-call-stack there, because it depends on
      ;; ghc-nanospec, which depends on ghc-hunit.
-     `(("ghc-call-stack" ,ghc-call-stack-boot)))
+     (list ghc-call-stack-boot))
     (home-page "http://hunit.sourceforge.net/")
     (synopsis "Unit testing framework for Haskell")
     (description
@@ -723,7 +701,7 @@ JUnit tool for Java.")
 (define-public hspec-discover
   (package
     (name "hspec-discover")
-    (version "2.7.1")
+    (version "2.7.10")
     (source
      (origin
        (method url-fetch)
@@ -732,11 +710,10 @@ JUnit tool for Java.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "0r47fm94wa6qrhp8cc1zzkjrxc32rnagfn9m9ga4dm6p6ydw4c8b"))))
+         "13yzvd3b679skvs1insk4s0wc4zvmz6hs38kc8q0j6vzqq06smqa"))))
     (build-system haskell-build-system)
     (native-inputs
-     `(("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-hspec-meta" ,ghc-hspec-meta)))
+     (list ghc-quickcheck ghc-hspec-meta))
     (home-page "https://hspec.github.io/")
     (synopsis "Automatically discover and run Hspec tests")
     (description "hspec-discover is a tool which automatically discovers and
@@ -746,7 +723,7 @@ runs Hspec tests.")
 (define-public ghc-hspec-core
   (package
     (name "ghc-hspec-core")
-    (version "2.7.1")
+    (version "2.7.10")
     (source
      (origin
        (method url-fetch)
@@ -754,19 +731,19 @@ runs Hspec tests.")
                            "hspec-core-" version ".tar.gz"))
        (sha256
         (base32
-         "08vk8588lap00hsln8zl64dazbb28lzk4b4h5vnm7xvhg7r21k1c"))))
+         "12k9yp5gznrda449ir60d5wv3xl7nnyffkb5mhfc0svw9f8lxlv1"))))
     (build-system haskell-build-system)
     (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
     (inputs
-     `(("ghc-setenv" ,ghc-setenv)
-       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
-       ("ghc-clock" ,ghc-clock)
-       ("ghc-quickcheck-io" ,ghc-quickcheck-io)
-       ("ghc-hunit" ,ghc-hunit)
-       ("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-hspec-expectations" ,ghc-hspec-expectations)
-       ("ghc-silently" ,ghc-silently)
-       ("ghc-tf-random" ,ghc-tf-random)))
+     (list ghc-setenv
+           ghc-ansi-terminal
+           ghc-clock
+           ghc-quickcheck-io
+           ghc-hunit
+           ghc-quickcheck
+           ghc-hspec-expectations
+           ghc-silently
+           ghc-tf-random))
     (home-page "https://hspec.github.io/")
     (synopsis "Testing framework for Haskell")
     (description "This library exposes internal types and functions that can
@@ -776,7 +753,7 @@ be used to extend Hspec's functionality.")
 (define-public ghc-hspec-meta
   (package
     (name "ghc-hspec-meta")
-    (version "2.6.0")
+    (version "2.7.8")
     (source
      (origin
        (method url-fetch)
@@ -784,17 +761,17 @@ be used to extend Hspec's functionality.")
                            "hspec-meta-" version ".tar.gz"))
        (sha256
         (base32
-         "1n1a4633wfivylglji8920f67mx7qz8j4q58n8p7dxk6yg4h3mz6"))))
+         "0sfj0n2hy1r8ifysgbcmfdygcd7vyzr13ldkcp0l2ml337f8j0si"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-hunit" ,ghc-hunit)
-       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
-       ("ghc-clock" ,ghc-clock)
-       ("ghc-hspec-expectations" ,ghc-hspec-expectations)
-       ("ghc-setenv" ,ghc-setenv)
-       ("ghc-random" ,ghc-random)
-       ("ghc-quickcheck-io" ,ghc-quickcheck-io)))
+     (list ghc-quickcheck
+           ghc-hunit
+           ghc-ansi-terminal
+           ghc-clock
+           ghc-hspec-expectations
+           ghc-setenv
+           ghc-random
+           ghc-quickcheck-io))
     (home-page "https://hspec.github.io/")
     (synopsis "Version of Hspec to test Hspec itself")
     (description "This library provides a stable version of Hspec which is
@@ -804,7 +781,7 @@ used to test the in-development version of Hspec.")
 (define-public ghc-hspec
   (package
     (name "ghc-hspec")
-    (version "2.7.1")
+    (version "2.7.10")
     (source
      (origin
        (method url-fetch)
@@ -812,17 +789,17 @@ used to test the in-development version of Hspec.")
                            "hspec-" version ".tar.gz"))
        (sha256
         (base32
-         "1x8rcr7j1azcaw0fg1xzp8j0gr4ias36z09aj24i4xp8pnyfp341"))))
+         "0z0lwrmrqkglr78n6k2c36n4h68142bh785ys0x4jaibjshvs6rw"))))
     (build-system haskell-build-system)
     (outputs '("out" "static" "doc"))
     (inputs
-     `(("ghc-hspec-core" ,ghc-hspec-core)
-       ("hspec-discover" ,hspec-discover)
-       ("ghc-hspec-expectations" ,ghc-hspec-expectations)
-       ("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-hunit" ,ghc-hunit)
-       ("ghc-stringbuilder" ,ghc-stringbuilder)
-       ("ghc-hspec-meta" ,ghc-hspec-meta)))
+     (list ghc-hspec-core
+           hspec-discover
+           ghc-hspec-expectations
+           ghc-quickcheck
+           ghc-hunit
+           ghc-stringbuilder
+           ghc-hspec-meta))
     (home-page "https://hspec.github.io/")
     (synopsis "Testing Framework for Haskell")
     (description "This library provides the Hspec testing framework for
@@ -843,12 +820,9 @@ Haskell, inspired by the Ruby library RSpec.")
                 "0hhzxaa3fxz5mk5qcsrnfr98a7bn3szx2ydgr0x9mbqmm1jg06rc"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-hspec-core" ,ghc-hspec-core)
-       ("ghc-hunit" ,ghc-hunit)
-       ("ghc-hspec" ,ghc-hspec)
-       ("ghc-quickcheck" ,ghc-quickcheck)))
+     (list ghc-hspec-core ghc-hunit ghc-hspec ghc-quickcheck))
     (native-inputs
-     `(("hspec-discover" ,hspec-discover)))
+     (list hspec-discover))
     (home-page "https://hspec.github.io/")
     (synopsis "Contributed functionality for Hspec")
     (description
@@ -871,7 +845,7 @@ Haskell, inspired by the Ruby library RSpec.")
     (build-system haskell-build-system)
     ;; Tests depend on ghc-nanospec.
     (arguments '(#:tests? #f))
-    (inputs `(("ghc-hunit" ,ghc-hunit)))
+    (inputs (list ghc-hunit))
     (home-page "https://github.com/sol/hspec-expectations")
     (synopsis "Catchy combinators for HUnit")
     (description "This library provides catchy combinators for HUnit, see
@@ -893,8 +867,7 @@ Haskell, inspired by the Ruby library RSpec.")
          "1rcmhl9bhyfvanalnf1r86wkx6rq6wdvagnw1h011jcnnb1cq56g"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-hspec" ,ghc-hspec)
-       ("ghc-silently" ,ghc-silently)))
+     (list ghc-hspec ghc-silently))
     (home-page "https://github.com/hspec/nanospec#readme")
     (synopsis "Lightweight implementation of a subset of Hspec's API")
     (description
@@ -916,14 +889,14 @@ minimal dependencies.")
         (base32
          "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz"))))
     (build-system haskell-build-system)
-    (inputs `(("ghc-quickcheck" ,ghc-quickcheck)
-              ("ghc-hunit" ,ghc-hunit)
-              ("ghc-test-framework" ,ghc-test-framework)
-              ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
-              ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
-              ("ghc-byteable" ,ghc-byteable)
-              ("ghc-securemem" ,ghc-securemem)
-              ("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types)))
+    (inputs (list ghc-quickcheck
+                  ghc-hunit
+                  ghc-test-framework
+                  ghc-test-framework-quickcheck2
+                  ghc-test-framework-hunit
+                  ghc-byteable
+                  ghc-securemem
+                  ghc-crypto-cipher-types))
     (home-page "https://github.com/vincenthz/hs-crypto-cipher")
     (synopsis "Generic cryptography cipher tests for Haskell")
     (description " This Haskell package contains generic tests for
@@ -934,36 +907,33 @@ implementations of cryptographic ciphers.")
 (define-public ghc-hedgehog
   (package
     (name "ghc-hedgehog")
-    (version "1.0.1")
+    (version "1.0.5")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "mirror://hackage/package/hedgehog/hedgehog-"
+             "https://hackage.haskell.org/package/hedgehog/hedgehog-"
              version
              ".tar.gz"))
        (sha256
         (base32
-         "1qc7hkqbnsk3f5r26wc35r3qiy941nmcxhfqgcq9027kw4gs0bi0"))))
+         "1qsqs8lmxa3wmw228cwi98vvvh9hqbc9d43i1sy2c9igw9xlhfi6"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
-       ("ghc-async" ,ghc-async)
-       ("ghc-concurrent-output" ,ghc-concurrent-output)
-       ("ghc-exceptions" ,ghc-exceptions)
-       ("ghc-fail" ,ghc-fail)
-       ("ghc-lifted-async" ,ghc-lifted-async)
-       ("ghc-mmorph" ,ghc-mmorph)
-       ("ghc-monad-control" ,ghc-monad-control)
-       ("ghc-pretty-show" ,ghc-pretty-show)
-       ("ghc-primitive" ,ghc-primitive)
-       ("ghc-random" ,ghc-random)
-       ("ghc-resourcet" ,ghc-resourcet)
-       ("ghc-semigroups" ,ghc-semigroups)
-       ("ghc-th-lift" ,ghc-th-lift)
-       ("ghc-transformers-base" ,ghc-transformers-base)
-       ("ghc-wl-pprint-annotated"
-        ,ghc-wl-pprint-annotated)))
+     (list ghc-ansi-terminal
+           ghc-async
+           ghc-concurrent-output
+           ghc-erf
+           ;("ghc-exceptions" ,ghc-exceptions)
+           ghc-lifted-async
+           ghc-mmorph
+           ghc-monad-control
+           ghc-pretty-show
+           ghc-primitive
+           ghc-random
+           ghc-resourcet
+           ghc-transformers-base
+           ghc-wl-pprint-annotated))
     (home-page "https://hedgehog.qa")
     (synopsis "Property-based testing in the spirt of QuickCheck")
     (description
@@ -989,6 +959,9 @@ To get started quickly, see the examples:
         (base32
          "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
     (build-system haskell-build-system)
+    (arguments
+     `(#:cabal-revision
+       ("2" "05v1awad3d1wvc763xcgvxm4n6n7bs7byc6s14kdbw35zcaddlcb")))
     (home-page "https://github.com/phadej/cabal-doctest")
     (synopsis "Setup.hs helper for running doctests")
     (description
@@ -1034,10 +1007,8 @@ testing frameworks.")
             "1v2qzzpf1s008g7q6q67glf7vbm1pkpq4rc3ii74f4g6vhfx610r"))))
     (build-system haskell-build-system)
     (inputs
-      `(("ghc-quickcheck" ,ghc-quickcheck)
-        ("ghc-size-based" ,ghc-size-based)
-        ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
-        ("ghc-semigroups" ,ghc-semigroups)))
+      (list ghc-quickcheck ghc-size-based ghc-testing-type-modifiers
+            ghc-semigroups))
     (home-page "https://github.com/JonasDuregard/testing-feat")
     (synopsis "Functional Enumeration of Algebraic Types")
     (description "Feat (Functional Enumeration of Algebraic Types)
@@ -1050,7 +1021,7 @@ random testing, and hybrids of the two.")
 (define-public ghc-inspection-testing
   (package
     (name "ghc-inspection-testing")
-    (version "0.4.2.2")
+    (version "0.4.6.0")
     (source
      (origin
        (method url-fetch)
@@ -1059,7 +1030,7 @@ random testing, and hybrids of the two.")
              "inspection-testing-" version ".tar.gz"))
        (sha256
         (base32
-         "1bppz99p6ix6hah8lbr9mapl2zxgmkg9i7h6hk8wq6zf54hwz3yp"))))
+         "0qz1npyycj4bvyly9xmjbnhw569l52h38gx02rk0r7zhapw83aig"))))
     (build-system haskell-build-system)
     (home-page
      "https://github.com/nomeata/inspection-testing")
@@ -1087,28 +1058,191 @@ See the documentation in \"Test.Inspection\" or the project webpage for more
 examples and more information.")
     (license license:expat)))
 
-(define-public ghc-easytest
+(define-public ghc-quickcheck-classes
   (package
-    (name "ghc-easytest")
-    (version "0.2.1")
+    (name "ghc-quickcheck-classes")
+    (version "0.6.5.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/easytest/easytest-"
-             version ".tar.gz"))
-       (sha256
-        (base32
-         "0gdyawzlw6d15yz7ji599xjgfr0g7l1iq11ffr4aw3j6g3dc6m8i"))))
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/quickcheck-classes/quickcheck-classes-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-async" ,ghc-async)
-       ("ghc-random" ,ghc-random)
-       ("ghc-call-stack" ,ghc-call-stack)))
-    (home-page "https://github.com/joelburget/easytest")
-    (synopsis "Testing library for Haskell")
-    (description "EasyTest is a testing toolkit, meant to replace most uses of
-QuickCheck, SmallCheck, HUnit, and frameworks like Tasty, etc.  Tests can be
-written with ordinary Haskell code, with control flow explicit and under
-programmer control.")
+      (list ghc-quickcheck
+            ghc-primitive
+            ghc-primitive-addr
+            ghc-quickcheck-classes-base
+            ghc-aeson
+            ghc-semigroupoids
+            ghc-semirings
+            ghc-vector))
+    (native-inputs
+      (list ghc-base-orphans
+            ghc-tagged
+            ghc-base-orphans
+            ghc-tagged
+            ghc-tasty
+            ghc-tasty-quickcheck))
+    (home-page "https://github.com/andrewthad/quickcheck-classes#readme")
+    (synopsis "QuickCheck common typeclasses")
+    (description
+      "This library provides QuickCheck properties to ensure that typeclass
+instances adhere to the set of laws that they are supposed to.  There are
+other libraries that do similar things, such as @code{genvalidity-hspec} and
+@code{checkers}.  This library differs from other solutions by not introducing
+any new typeclasses that the user needs to learn.  /Note:/ on GHC < 8.5, this
+library uses the higher-kinded typeclasses (@code{Data.Functor.Classes.Show1},
+@code{Data.Functor.Classes.Eq1}, @code{Data.Functor.Classes.Ord1}, etc.), but
+on GHC >= 8.5, it uses @code{-XQuantifiedConstraints} to express these
+constraints more cleanly.")
+    (license license:bsd-3)))
+
+(define-public ghc-quickcheck-classes-base
+  (package
+    (name "ghc-quickcheck-classes-base")
+    (version "0.6.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/quickcheck-classes-base/quickcheck-classes-base-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch"))))
+    (build-system haskell-build-system)
+    (inputs
+      (list ghc-quickcheck
+            ghc-contravariant
+            ghc-bifunctors
+            ghc-semigroups
+            ghc-fail
+            ghc-tagged))
+    (home-page "https://github.com/andrewthad/quickcheck-classes#readme")
+    (synopsis "QuickCheck common typeclasses from `base`")
+    (description
+      "This library is a minimal variant of `quickcheck-classes`
+that only provides laws for typeclasses from `base`. The main
+purpose of splitting this out is so that `primitive` can depend
+on `quickcheck-classes-base` in its test suite, avoiding the
+circular dependency that arises if `quickcheck-classes` is used
+instead. . This library provides QuickCheck properties to ensure
+that typeclass instances adhere to the set of laws that they are
+supposed to. There are other libraries that do similar things,
+such as `genvalidity-hspec` and `checkers`. This library differs
+from other solutions by not introducing any new typeclasses that
+the user needs to learn. . /Note:/ on GHC < 8.5, this library
+uses the higher-kinded typeclasses ('Data.Functor.Classes.Show1',
+'Data.Functor.Classes.Eq1', 'Data.Functor.Classes.Ord1', etc.),
+but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to express
+these constraints more cleanly.")
+    (license license:bsd-3)))
+
+(define-public ghc-doctest-lib
+  (package
+    (name "ghc-doctest-lib")
+    (version "0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/doctest-lib/doctest-lib-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "1vswam0dhw52dihgnzirh18gqs8rj8h6jd7pl6y1mg2f9f9zmih2"))))
+    (build-system haskell-build-system)
+    (home-page "https://hub.darcs.net/thielema/doctest-lib/")
+    (synopsis "Parts of doctest exposed as library")
+    (description
+      "Parts of doctest exposed as library. For use with the doctest-extract utility.")
+    (license license:expat)))
+
+(define-public ghc-doctest-exitcode-stdio
+  (package
+    (name "ghc-doctest-exitcode-stdio")
+    (version "0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/doctest-exitcode-stdio/doctest-exitcode-stdio-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "1g3c7yrqq2mwqbmvs8vkx1a3cf0p0x74b7fnn344dsk7bsfpgv0x"))))
+    (build-system haskell-build-system)
+    (inputs
+      (list ghc-doctest-lib ghc-quickcheck ghc-semigroups))
+    (home-page "https://hub.darcs.net/thielema/doctest-exitcode-stdio/")
+    (synopsis "Run Doctests in a @code{Cabal.Test.exitcode-stdio} environment")
+    (description
+      "This package allows on to run Doctests in a Cabal.Test.exitcode-stdio
+environment.")
+    (license license:bsd-3)))
+
+(define-public ghc-cabal-doctest
+  (package
+    (name "ghc-cabal-doctest")
+    (version "1.0.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/cabal-doctest/cabal-doctest-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
+    (build-system haskell-build-system)
+    (arguments
+      `(#:cabal-revision
+        ("2" "05v1awad3d1wvc763xcgvxm4n6n7bs7byc6s14kdbw35zcaddlcb")))
+    (home-page "https://github.com/phadej/cabal-doctest")
+    (synopsis "@file{Setup.hs} helper for Doctests running")
+    (description
+      "This package provides helpers for running Doctests in @file{Setup.hs}.")
+    (license license:bsd-3)))
+
+(define-public ghc-tasty-silver
+  (package
+    (name "ghc-tasty-silver")
+    (version "3.2.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/tasty-silver/tasty-silver-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "0nvh2k8iqqkanmp7lpwd3asimyarzisly8wavbdahcxryn0j4xb7"))))
+    (build-system haskell-build-system)
+    (inputs
+      (list ghc-ansi-terminal
+            ghc-async
+            ghc-optparse-applicative
+            ghc-process-extras
+            ghc-regex-tdfa
+            ghc-semigroups
+            ghc-tagged
+            ghc-tasty
+            ghc-temporary))
+    (native-inputs
+     (list ghc-tasty-hunit ghc-silently))
+    (home-page "https://github.com/phile314/tasty-silver")
+    (synopsis "Fancy test runner, including support for golden tests")
+    (description
+      "This package provides a fancy test runner and support for @dfn{golden
+testing}.  A golden test is an IO action that writes its result to a file.  To
+pass the test, this output file should be identical to the corresponding
+``golden'' file, which contains the correct result for the test.  The test
+runner allows filtering tests using regexes, and to interactively inspect the
+result of golden tests.")
     (license license:expat)))
+