MuCheck-Hspec 0.2.1.0 → 0.3.0.0
raw patch · 3 files changed
+9/−22 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-Hspec.cabal +4/−6
- src/Main.hs +4/−3
- src/Test/MuCheck/TestAdapter/Hspec.hs +1/−13
MuCheck-Hspec.cabal view
@@ -1,5 +1,5 @@ name: MuCheck-Hspec-version: 0.2.1.0+version: 0.3.0.0 synopsis: Automated Mutation Testing for Hspec tests description: This package contains the test adapter for Hspec tests to use it with MuCheck homepage: https://bitbucket.com/osu-testing/mucheck-hspec@@ -19,14 +19,13 @@ source-repository this type: git location: https://bitbucket.org/osu-testing/mucheck-hspec.git- tag: 0.2.1.0+ tag: 0.3.0.0 executable mucheck-hspec build-depends: base >=4 && <5, hspec>=2.0, hspec-core >= 2.0,- MissingH >= 1.3,- MuCheck== 0.2.1.*+ MuCheck== 0.3.0.0 default-language: Haskell2010 hs-source-dirs: src main-is: Main.hs@@ -37,8 +36,7 @@ build-depends: base >=4 && <5, hspec>=2.0, hspec-core >= 2.0,- 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.Hspec@@ -11,9 +11,10 @@ val <- getArgs case val of ("-h" : _ ) -> help- (fn : file : args) -> 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 HspecSummary] -> Summary+ where tsFn :: Mutant -> TestStr -> InterpreterOutput HspecSummary -> Summary tsFn = testSummary
src/Test/MuCheck/TestAdapter/Hspec.hs view
@@ -3,26 +3,14 @@ module Test.MuCheck.TestAdapter.Hspec where import qualified Test.Hspec.Core.Runner as Hspec import Test.MuCheck.TestAdapter-import Test.MuCheck.Utils.Print (showA, showAS)-import Data.Hash.MD5 (md5s, Str(..)) import Data.Typeable-import Data.Either (partitionEithers)-import Data.List((\\)) deriving instance Typeable Hspec.Summary type HspecSummary = Hspec.Summary -- | Summarizable instance of `Hspec.Summary` instance Summarizable HspecSummary where- testSummary mutantFiles results = Summary logMsg- where (errorCases, executedCases) = partitionEithers results- [successCases, failureCases] = map (\c -> filter (c . snd) executedCases) [isSuccess, isFailure]- 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]+ testSummary _mutant _test result = Summary $ _ioLog result isSuccess (Hspec.Summary { Hspec.summaryExamples = _, Hspec.summaryFailures = sf } ) = sf == 0