all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: rsiddharth <s@ricketyspace.net>
To: 28884@debbugs.gnu.org
Cc: s@ricketyspace.net
Subject: [bug#28884] [PATCH 08/38] gnu: Add ghc-test-framework-th.
Date: Wed, 18 Oct 2017 03:07:28 +0000	[thread overview]
Message-ID: <20171018030758.1211-8-s@ricketyspace.net> (raw)
In-Reply-To: <20171018030758.1211-1-s@ricketyspace.net>

* gnu/packages/haskell.scm (ghc-test-framework-th): New variable.
---
 gnu/packages/haskell.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2f064e2b2..d4078a307 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -9237,4 +9237,79 @@ Example:
 ")
     (license license:bsd-3)))
 
+(define-public ghc-test-framework-th
+  (package
+    (name "ghc-test-framework-th")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/"
+                           "test-framework-th-" version "/"
+                           "test-framework-th-" version ".tar.gz"))
+       (sha256
+        (base32
+         "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)))
+    (home-page "https://github.com/finnsson/test-generator")
+    (synopsis "Auto generate the HUnit- and Quickcheck-bulk-code
+using Template Haskell")
+    (description "This library contains two functions:
+@code{defaultMainGenerator} and @code{testGroupGenerator}.
+
+@code{defaultMainGenerator} will extract all functions beginning with
+case_, prop_ or test_in the module and put them in a testGroup.
+
+@verbatim
+ -- file SomeModule.hs
+ \( -# LANGUAGE TemplateHaskell #- )
+ module SomeModule where
+ import Test.Framework.TH
+ import Test.Framework
+ import Test.HUnit
+ import Test.Framework.Providers.HUnit
+ import Test.Framework.Providers.QuickCheck2
+
+ -- observe this line!
+ main = $\(defaultMainGenerator)
+ case_1 = do 1 @=? 1
+ case_2 = do 2 @=? 2
+ prop_reverse xs = reverse \(reverse xs) == xs
+    where types = xs::[Int]
+@end verbatim
+
+   is the same as
+
+@verbatim
+ -- file SomeModule.hs
+ \( -# LANGUAGE TemplateHaskell #- )
+ module SomeModule where
+ import Test.Framework.TH
+ import Test.Framework
+ import Test.HUnit
+ import Test.Framework.Providers.HUnit
+ import Test.Framework.Providers.QuickCheck2
+
+ -- observe this line!
+ main =
+   defaultMain [
+     testGroup \"SomeModule\" [ testCase \"1\" case_1, testCase \"2\" \
+case_2, testProperty \"reverse\" prop_reverse]
+     ]
+ case_1 = do 1 @=? 1
+ case_2 = do 2 @=? 2
+ prop_reverse xs = reverse \(reverse xs) == xs
+    where types = xs::[Int]
+@end verbatim
+
+@code{testGroupGenerator} is like @code{defaultMainGenerator} but without
+@code{defaultMain}.  It is useful if you need a function for the testgroup
+\(e.g. if you want to be able to call the testgroup from another module).")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.15.0.rc0

  parent reply	other threads:[~2017-10-18  3:09 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-18  3:02 [bug#28884] [PATCH 00/38] Add ghc-aws and its dependencies rsiddharth
2017-10-18  3:07 ` [bug#28884] [PATCH 01/38] gnu: Add ghc-errors rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 02/38] gnu: Add ghc-vector-th-unbox rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 03/38] gnu: Add ghc-erf rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 04/38] gnu: Add ghc-math-functions rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 05/38] gnu: Add ghc-mwc-random rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 06/38] gnu: Add ghc-vector-algorithms rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 07/38] gnu: Add ghc-language-haskell-extract rsiddharth
2017-10-22  3:52     ` Ludovic Courtès
2017-10-18  3:07   ` rsiddharth [this message]
2017-10-22 21:56     ` [bug#28884] [PATCH 08/38] gnu: Add ghc-test-framework-th Ludovic Courtès
2017-10-18  3:07   ` [bug#28884] [PATCH 09/38] gnu: Add ghc-abstract-par rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 10/38] gnu: Add ghc-monad-par-extras rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 11/38] gnu: Add ghc-abstract-deque rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 12/38] gnu: Add ghc-monad-par rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 13/38] gnu: ghc-base-orphans: Update to 0.6 rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 14/38] gnu: Add ghc-statistics rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 15/38] gnu: Add ghc-chunked-data rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 16/38] gnu: Add ghc-base-prelude rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 17/38] gnu: Add ghc-tuple-th rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 18/38] gnu: Add ghc-contravariant-extras rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 19/38] gnu: Add ghc-monadrandom rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 20/38] gnu: Add ghc-either rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 21/38] gnu: Add ghc-entropy rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 22/38] gnu: Add ghc-crypto-api rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 23/38] gnu: Add ghc-crypto-api-tests rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 24/38] gnu: Add ghc-pretty-hex rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 25/38] gnu: Add ghc-puremd5 rsiddharth
2017-10-22 22:01     ` Ludovic Courtès
2017-10-18  3:07   ` [bug#28884] [PATCH 26/38] gnu: Add ghc-cryptohash-md5 rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 27/38] gnu: Add ghc-cryptohash-sha1 rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 28/38] gnu: Add ghc-network-info rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 29/38] gnu: Add ghc-uuid-types rsiddharth
2017-10-22 22:05     ` Ludovic Courtès
2017-10-18  3:07   ` [bug#28884] [PATCH 30/38] gnu: Add ghc-uuid rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 31/38] gnu: Add ghc-rebase rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 32/38] gnu: Add ghc-vector-builder rsiddharth
2017-10-22 22:09     ` Ludovic Courtès
2017-10-18  3:07   ` [bug#28884] [PATCH 33/38] gnu: Add ghc-foldl rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 34/38] gnu: Add ghc-mono-traversable rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 35/38] gnu: ghc-conduit: Update to 1.2.12.1 rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 36/38] gnu: ghc-conduit: Fix lint error rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 37/38] gnu: Add ghc-conduit-combinators rsiddharth
2017-10-18  3:07   ` [bug#28884] [PATCH 38/38] gnu: Add ghc-aws rsiddharth
2017-10-22 22:14   ` [bug#28884] [PATCH 01/38] gnu: Add ghc-errors Ludovic Courtès
2017-10-23 21:56     ` rsiddharth
2017-10-21  9:40 ` [bug#28884] [PATCH 00/38] Add ghc-aws and its dependencies Ludovic Courtès
2017-10-22 22:35 ` bug#28884: " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171018030758.1211-8-s@ricketyspace.net \
    --to=s@ricketyspace.net \
    --cc=28884@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.