MuCheck-QuickCheck 0.2.1.0 → 0.3.0.0
raw patch · 3 files changed
+9/−24 lines, 3 filesdep −MissingHdep ~MuCheckPVP ok
version bump matches the API change (PVP)
Dependencies removed: MissingH
Dependency ranges changed: MuCheck
API changes (from Hackage documentation)
Files
MuCheck-QuickCheck.cabal view
@@ -1,5 +1,5 @@ name: MuCheck-QuickCheck-version: 0.2.1.0+version: 0.3.0.0 synopsis: Automated Mutation Testing for QuickCheck tests description: This package contains the test adapter for QuickCheck tests to use it with MuCheck homepage: https://bitbucket.com/osu-testing/mucheck-quickcheck@@ -19,13 +19,12 @@ source-repository this type: git location: https://bitbucket.org/osu-testing/mucheck-quickcheck.git- tag: 0.2.1.0+ tag: 0.3.0.0 executable mucheck-quickcheck build-depends: base >=4 && <5, QuickCheck>=2.6,- MissingH >= 1.3,- MuCheck== 0.2.1.*+ MuCheck== 0.3.0.0 default-language: Haskell2010 hs-source-dirs: src main-is: Main.hs@@ -35,8 +34,7 @@ exposed-modules: Test.MuCheck.TestAdapter.QuickCheck build-depends: base >=4 && <5, QuickCheck>=2.6,- MissingH >= 1.3,- MuCheck==0.2.1.*+ MuCheck==0.3.0.0 default-language: Haskell2010 hs-source-dirs: src
src/Main.hs view
@@ -1,5 +1,5 @@ module Main where-import System.Environment (getArgs, withArgs)+import System.Environment (getArgs) import Test.MuCheck (mucheck) import Test.MuCheck.TestAdapter.QuickCheck@@ -11,10 +11,10 @@ val <- getArgs case val of ("-h" : _ ) -> help- (fn : file : args) -> do- withArgs [] $ mucheck tsFn fn file args+ (fn : file : args) -> do (msum, _tsum) <- mucheck tsFn fn file args+ putStrLn (show msum) _ -> error "Need function file [args]\n\tUse -h to get help"- where tsFn :: [Mutant] -> [InterpreterOutput QuickCheckSummary] -> Summary+ where tsFn :: Mutant -> TestStr -> InterpreterOutput QuickCheckSummary -> Summary tsFn = testSummary help :: IO ()
src/Test/MuCheck/TestAdapter/QuickCheck.hs view
@@ -3,28 +3,15 @@ module Test.MuCheck.TestAdapter.QuickCheck where import qualified Test.QuickCheck.Test as Qc import Test.MuCheck.TestAdapter-import Test.MuCheck.Utils.Print (showA, showAS)-import Data.Hash.MD5 (md5s, Str(..)) import Data.Typeable-import Data.List((\\))-import Data.Either (partitionEithers) deriving instance Typeable Qc.Result type QuickCheckSummary = Qc.Result -- | Summarizable instance of `QuickCheck.Result` instance Summarizable QuickCheckSummary where- testSummary mutantFiles results = Summary logMsg- where (errorCases, executedCases) = partitionEithers results- [successCases, failureCases, gaveUpCases] = map (\c -> filter (c . snd) executedCases) [isSuccess, isFailure, isOther]- errorFiles = map (\l -> ".mutants/" ++ (md5s $ Str l) ++ ".hs") mutantFiles \\ map fst executedCases- logMsg = showAS ["Details:",- "Loading error files:", showA errorFiles,- "Loading error messages:", showA errorCases,- "Successes:", showA successCases,- "Failure:", showA failureCases,- "Gaveups:", showA gaveUpCases]+ testSummary _mutant _test result = Summary $ _ioLog result isSuccess = Qc.isSuccess isFailure Qc.Failure{} = True isFailure _ = False