DMuCheck (empty) → 0.3.0.0
raw patch · 7 files changed
+219/−0 lines, 7 filesdep +MuCheckdep +MuCheck-HUnitdep +MuCheck-Hspecsetup-changed
Dependencies added: MuCheck, MuCheck-HUnit, MuCheck-Hspec, MuCheck-QuickCheck, MuCheck-SmallCheck, base, binary, directory, distributed-process, distributed-process-simplelocalnet, hint, network-transport-tcp, unix
Files
- DMuCheck.cabal +136/−0
- LICENSE +0/−0
- Setup.hs +3/−0
- changes.md +0/−0
- src/Main.hs +37/−0
- src/Master.hs +22/−0
- src/Slave.hs +21/−0
+ DMuCheck.cabal view
@@ -0,0 +1,136 @@+name: DMuCheck+version: 0.3.0.0+synopsis: Distributed Mutation Analysis framework for MuCheck+description: This package is a wrapper over the mutation analysis+ library MuCheck. It provides a basic process based+ parallelization of mutant execution, and also a+ client and server based distributed mode of mutant+ execution. Currently it supports QuickCheck, SmallCheck,+ HUnit and HSpec+homepage: https://bitbucket.com/osu-testing/d-mucheck+license: GPL-2+license-file: LICENSE+author: Rahul Gopinath <rahul@gopinath.org>+maintainer: rahul@gopinath.org+category: Testing+build-type: Simple+cabal-version: >= 1.10+extra-source-files: changes.md++source-repository head+ type: git+ location: https://bitbucket.org/osu-testing/d-mucheck.git++source-repository this+ type: git+ location: https://bitbucket.org/osu-testing/d-mucheck.git+ tag: 0.3.0.0++Flag QuickCheck+ Description: Enable QuickCheck support+ Default: False+Flag SmallCheck+ Description: Enable SmallCheck support+ Default: False+Flag HUnit+ Description: Enable HUnit support+ Default: False+Flag Hspec+ Description: Enable Hspec support+ Default: False++executable d-mucheck+ build-depends: base >=4 && <5,+ distributed-process-simplelocalnet >= 0.2.2.0,+ distributed-process>=0.5.3,+ network-transport-tcp>=0.4.1,+ directory >= 1.2,+ hint >= 0.4,+ unix >= 2.6,+ binary >= 0.7,+ MuCheck== 0.3.0.0+ if flag(QuickCheck)+ build-depends: MuCheck-QuickCheck == 0.3.0.0+ if flag(SmallCheck)+ build-depends: MuCheck-SmallCheck == 0.3.0.0+ if flag(HUnit)+ build-depends: MuCheck-HUnit == 0.3.0.0+ if flag(Hspec)+ build-depends: MuCheck-Hspec == 0.3.0.0++ default-language: Haskell2010+ if flag(QuickCheck)+ hs-source-dirs: src, quickcheck+ if flag(SmallCheck)+ hs-source-dirs: src, smallcheck+ if flag(HUnit)+ hs-source-dirs: src, hunit+ if flag(Hspec)+ hs-source-dirs: src, hspec+ main-is: Main.hs+ ghc-options: -Wall -fno-warn-orphans -threaded++executable d-master+ build-depends: base >=4 && <5,+ distributed-process-simplelocalnet >= 0.2.2.0,+ distributed-process>=0.5.3,+ network-transport-tcp>=0.4.1,+ directory >= 1.2,+ hint >= 0.4,+ unix >= 2.6,+ binary >= 0.7,+ MuCheck== 0.3.0.0+ if flag(QuickCheck)+ build-depends: MuCheck-QuickCheck == 0.3.0.0+ if flag(SmallCheck)+ build-depends: MuCheck-SmallCheck == 0.3.0.0+ if flag(HUnit)+ build-depends: MuCheck-HUnit == 0.3.0.0+ if flag(Hspec)+ build-depends: MuCheck-Hspec == 0.3.0.0++ default-language: Haskell2010+ if flag(QuickCheck)+ hs-source-dirs: src, quickcheck+ if flag(SmallCheck)+ hs-source-dirs: src, smallcheck+ if flag(HUnit)+ hs-source-dirs: src, hunit+ if flag(Hspec)+ hs-source-dirs: src, hspec++ main-is: Master.hs+ ghc-options: -Wall -fno-warn-orphans -threaded++executable d-slave+ build-depends: base >=4 && <5,+ distributed-process-simplelocalnet >= 0.2.2.0,+ distributed-process>=0.5.3,+ network-transport-tcp>=0.4.1,+ directory >= 1.2,+ hint >= 0.4,+ unix >= 2.6,+ binary >= 0.7,+ MuCheck== 0.3.0.0+ if flag(QuickCheck)+ build-depends: MuCheck-QuickCheck == 0.3.0.0+ if flag(SmallCheck)+ build-depends: MuCheck-SmallCheck == 0.3.0.0+ if flag(HUnit)+ build-depends: MuCheck-HUnit == 0.3.0.0+ if flag(Hspec)+ build-depends: MuCheck-Hspec == 0.3.0.0++ default-language: Haskell2010+ if flag(QuickCheck)+ hs-source-dirs: src, quickcheck+ if flag(SmallCheck)+ hs-source-dirs: src, smallcheck+ if flag(HUnit)+ hs-source-dirs: src, hunit+ if flag(Hspec)+ hs-source-dirs: src, hspec++ main-is: Slave.hs+ ghc-options: -Wall -fno-warn-orphans -threaded+
+ LICENSE view
+ Setup.hs view
@@ -0,0 +1,3 @@+import Distribution.Simple++main = defaultMain
+ changes.md view
+ src/Main.hs view
@@ -0,0 +1,37 @@+module Main where+import System.Environment (getArgs)+import System.Posix.Process++import qualified Test.DMuCheck.Slave as Slave+import qualified Test.DMuCheck.Master as Master++import Control.Monad++localHost, localPort :: String+localHost = "127.0.0.1"+localPort = "12345"++help :: IO ()+help = do putStrLn "d-mucheck <number of slaves> <fn> <file> <props..>"+ putStrLn "E.g."+ putStrLn " d-mucheck 4 qsort Examples/QuickCheckTest.hs 'quickCheckResult revProp' 'quickCheckResult modelProp'"++main :: IO ()+main = do+ args <- getArgs+ case args of+ ("-h":_) -> help+ (sslaves : fn : file : props) -> process sslaves fn file props+ _ -> putStrLn "use -h to get help."++process :: String -> String -> String -> [String] -> IO ()+process sslaves fn file props = do+ let host = localHost+ nport = read localPort :: Int+ nslaves = read sslaves :: Int++ forM_ [show (i + nport) | i <- [1..nslaves]] $ \port_ -> forkProcess $ do+ Slave.process host port_++ Master.process localHost localPort fn file props+
+ src/Master.hs view
@@ -0,0 +1,22 @@+module Main where+import System.Environment (getArgs)++import qualified Test.DMuCheck.Master as Master++localHost, localPort :: String+localHost = "127.0.0.1"+localPort = "10501"++help :: IO ()+help = do putStrLn "d-master <fn> <file> <props..>"+ putStrLn "E.g."+ putStrLn " d-master qsort Examples/QuickCheckTest.hs 'quickCheckResult revProp' 'quickCheckResult modelProp'"++main :: IO ()+main = do+ args <- getArgs+ case args of+ ("-h":_) -> help+ (fn : file : props) -> Master.process localHost localPort fn file props+ _ -> putStrLn "use -h to get help."+
+ src/Slave.hs view
@@ -0,0 +1,21 @@+module Main where+import System.Environment (getArgs)++import qualified Test.DMuCheck.Slave as Slave++localHost :: String+localHost = "127.0.0.1"++help :: IO ()+help = do putStrLn "d-slave <port>"+ putStrLn "E.g."+ putStrLn " d-slave 12345"++main :: IO ()+main = do+ args <- getArgs+ case args of+ ("-h":_) -> help+ (port : _args) -> Slave.process localHost port+ _ -> putStrLn "use -h to get help."+