fitspec 0.4.3 → 0.4.4
raw patch · 10 files changed
+56/−59 lines, 10 filesdep +fitspecdep ~leancheckPVP ok
version bump matches the API change (PVP)
Dependencies added: fitspec
Dependency ranges changed: leancheck
API changes (from Hackage documentation)
+ Test.FitSpec.PrettyPrint: above :: String -> String -> String
+ Test.FitSpec.PrettyPrint: beside :: String -> String -> String
+ Test.FitSpec.PrettyPrint: columns :: String -> [String] -> String
+ Test.FitSpec.PrettyPrint: headToUpper :: [Char] -> [Char]
+ Test.FitSpec.PrettyPrint: showEach :: Show a => String -> [a] -> String
+ Test.FitSpec.PrettyPrint: showQuantity :: Int -> String -> String
+ Test.FitSpec.PrettyPrint: showTuple :: [String] -> String
+ Test.FitSpec.PrettyPrint: table :: String -> [[String]] -> String
+ Test.FitSpec.Utils: (***) :: (a -> b) -> (c -> d) -> (a, c) -> (b, d)
+ Test.FitSpec.Utils: (...) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
+ Test.FitSpec.Utils: compositions :: [Bool] -> [Bool]
+ Test.FitSpec.Utils: contained :: Eq a => [a] -> [a] -> Bool
+ Test.FitSpec.Utils: contains :: Eq a => [a] -> [a] -> Bool
+ Test.FitSpec.Utils: count :: (a -> Bool) -> [a] -> Int
+ Test.FitSpec.Utils: filterU :: (a -> a -> Bool) -> [a] -> [a]
+ Test.FitSpec.Utils: lastTimeout :: Int -> [a] -> IO a
+ Test.FitSpec.Utils: sortAndGroupFstBySnd :: Ord b => [(a, b)] -> [([a], b)]
+ Test.FitSpec.Utils: sortAndGroupOn :: Ord b => (a -> b) -> [a] -> [[a]]
+ Test.FitSpec.Utils: sortGroupAndCollapse :: Ord b => (a -> b) -> (a -> c) -> (b -> [c] -> d) -> [a] -> [d]
+ Test.FitSpec.Utils: sortOn :: Ord b => (a -> b) -> [a] -> [a]
+ Test.FitSpec.Utils: subsets :: [a] -> [[a]]
+ Test.FitSpec.Utils: takeWhileIncreasing :: (a -> a -> Ordering) -> [a] -> [a]
+ Test.FitSpec.Utils: takeWhileIncreasingOn :: Ord b => (a -> b) -> [a] -> [a]
+ Test.FitSpec.Utils: uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d
Files
- README.md +7/−0
- TODO.md +1/−8
- bench/Heap.hs +3/−0
- bench/heaps.hs +0/−1
- bench/id.hs +0/−1
- bench/list.hs +0/−1
- bench/mergeheaps.hs +0/−1
- bench/sieve.hs +0/−1
- bench/spring.hs +0/−1
- fitspec.cabal +45/−45
README.md view
@@ -3,6 +3,8 @@ [![FitSpec Build Status][build-status]][build-log] [![FitSpec on Hackage][hackage-version]][fitspec-on-hackage]+[![FitSpec on Stackage LTS][stackage-lts-badge]][fitspec-on-stackage-lts]+[![FitSpec on Stackage Nightly][stackage-nightly-badge]][fitspec-on-stackage-nightly] FitSpec provides automated assistance in the task of refining test properties for [Haskell] functions. FitSpec tests mutant variations of functions under@@ -159,3 +161,8 @@ [hackage-version]: https://img.shields.io/hackage/v/fitspec.svg [fitspec-on-hackage]: https://hackage.haskell.org/package/fitspec [latest FitSpec version from Hackage]: https://hackage.haskell.org/package/fitspec+[stackage-lts-badge]: http://stackage.org/package/fitspec/badge/lts+[stackage-nightly-badge]: http://stackage.org/package/fitspec/badge/nightly+[fitspec-on-stackage]: http://stackage.org/package/fitspec+[fitspec-on-stackage-lts]: http://stackage.org/lts/package/fitspec+[fitspec-on-stackage-nightly]: http://stackage.org/nightly/package/fitspec
TODO.md view
@@ -4,12 +4,11 @@ misc ---- -* (?) announce on mailing list (wait for Haddock to be ready)- * parameterize number of tests in test programs and add slow-test target * add diff test for IO functions (diff w/ model output and exit status) +* implement `toplibs` hack (from LeanCheck and Speculate); documentation -------------@@ -19,9 +18,3 @@ * write detailed install instructions on INSTALL.md (cabal install, cabal from sandbox, source include)---v0.4.2---------* implement `toplibs` hack (from LeanCheck and Speculate);
bench/Heap.hs view
@@ -10,6 +10,9 @@ instance Ord a => Eq (Heap a) where h1 == h2 = toList h1 == toList h2 +instance Ord a => Ord (Heap a) where+ h1 `compare` h2 = toList h1 `compare` toList h2+ toList :: Ord a => Heap a -> [a] toList Nil = [] toList h = findMin h : toList (deleteMin h)
bench/heaps.hs view
@@ -1,5 +1,4 @@ {-# Language DeriveDataTypeable, NoMonomorphismRestriction #-}-import System.Console.CmdArgs hiding (args) import Test.FitSpec import Prelude hiding (null) import qualified Data.List as L
bench/id.hs view
@@ -1,5 +1,4 @@ -- Example benchmark that mutation tests properties over the function id-import System.Console.CmdArgs hiding (args) import Test.FitSpec type Ty a = a -> a
bench/list.hs view
@@ -1,4 +1,3 @@-import System.Console.CmdArgs hiding (args) import Test.FitSpec import Data.List
bench/mergeheaps.hs view
@@ -1,5 +1,4 @@ {-# Language DeriveDataTypeable, NoMonomorphismRestriction #-}-import System.Console.CmdArgs hiding (args) import Test.FitSpec import Prelude hiding (null) import qualified Data.List as L
bench/sieve.hs view
@@ -1,5 +1,4 @@ -- Example benchmark that mutation tests properties over an infinite list of primes-import System.Console.CmdArgs hiding (args) import Test.FitSpec import Data.Maybe
bench/spring.hs view
@@ -1,4 +1,3 @@-import System.Console.CmdArgs hiding (args) import Test.FitSpec import Data.List
fitspec.cabal view
@@ -1,5 +1,5 @@ name: fitspec-version: 0.4.3+version: 0.4.4 synopsis: refining property sets for testing Haskell programs description: FitSpec provides automated assistance in the task of refining test properties@@ -29,7 +29,7 @@ , TODO.md , doc/modules.md , doc/tutorial-property-creation.md-tested-with: GHC==8.0, GHC==7.10, GHC==7.8, GHC==7.6, GHC==7.4+tested-with: GHC==8.2, GHC==8.0, GHC==7.10, GHC==7.8, GHC==7.6, GHC==7.4 source-repository head type: git@@ -38,7 +38,7 @@ source-repository this type: git location: https://github.com/rudymatela/fitspec- tag: v0.4.3+ tag: v0.4.4 library@@ -52,10 +52,10 @@ , Test.FitSpec.Derive , Test.FitSpec.Main , Test.FitSpec.TestTypes- other-modules: Test.FitSpec.Utils- , Test.FitSpec.PrettyPrint- , Test.FitSpec.Dot- build-depends: base >= 4 && < 5, leancheck >= 0.6, cmdargs, template-haskell+ , Test.FitSpec.Utils+ , Test.FitSpec.PrettyPrint+ other-modules: Test.FitSpec.Dot+ build-depends: base >= 4 && < 5, leancheck >= 0.7, cmdargs, template-haskell hs-source-dirs: src default-language: Haskell2010 @@ -63,52 +63,52 @@ test-suite mutate type: exitcode-stdio-1.0 main-is: test-mutate.hs- hs-source-dirs: src, tests- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell+ hs-source-dirs: tests+ build-depends: base >= 4 && < 5, leancheck, fitspec default-language: Haskell2010 test-suite showmutable type: exitcode-stdio-1.0 main-is: test-showmutable.hs- hs-source-dirs: src, tests- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell+ hs-source-dirs: tests+ build-depends: base >= 4 && < 5, leancheck, fitspec default-language: Haskell2010 test-suite derive type: exitcode-stdio-1.0 main-is: test-derive.hs- hs-source-dirs: src, tests- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell+ hs-source-dirs: tests+ build-depends: base >= 4 && < 5, leancheck, fitspec default-language: Haskell2010 test-suite utils type: exitcode-stdio-1.0 main-is: test-utils.hs- hs-source-dirs: src, tests- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell+ hs-source-dirs: tests+ build-depends: base >= 4 && < 5, leancheck, fitspec default-language: Haskell2010 benchmark avltrees main-is: avltrees.hs other-modules: AVLTree- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark bools main-is: bools.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark digraphs main-is: digraphs.hs other-modules: Digraph- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 @@ -118,87 +118,87 @@ -- --benchmark haskell-src -- main-is: haskell-src.hs--- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell, haskell-src--- hs-source-dirs: src, bench+-- build-depends: base >= 4 && < 5, fitspec, haskell-src+-- hs-source-dirs: bench -- default-language: Haskell2010 -- type: exitcode-stdio-1.0 -- --benchmark haskell-src-exts -- main-is: haskell-src-exts.hs--- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell, haskell-src-exts--- hs-source-dirs: src, bench+-- build-depends: base >= 4 && < 5, fitspec, haskell-src-exts+-- hs-source-dirs: bench -- default-language: Haskell2010 -- type: exitcode-stdio-1.0 benchmark heaps main-is: heaps.hs other-modules: Heap- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark id main-is: id.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark list main-is: list.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark mergeheaps main-is: mergeheaps.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark pretty main-is: pretty.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell, pretty- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec, pretty+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark sets main-is: sets.hs other-modules: Set- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark setsofsets main-is: setsofsets.hs other-modules: Set- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark sieve main-is: sieve.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark sorting main-is: sorting.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0 benchmark spring main-is: spring.hs- build-depends: base >= 4 && < 5, leancheck, cmdargs, template-haskell- hs-source-dirs: src, bench+ build-depends: base >= 4 && < 5, fitspec+ hs-source-dirs: bench default-language: Haskell2010 type: exitcode-stdio-1.0