GNU bug report logs -
#28884
[PATCH 00/38] Add ghc-aws and its dependencies.
Previous Next
Reported by: rsiddharth <s <at> ricketyspace.net>
Date: Wed, 18 Oct 2017 03:04:01 UTC
Severity: normal
Tags: patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* 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
This bug report was last modified 7 years and 270 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.