sunlight 0.2.0.0 → 0.4.0.0
raw patch · 4 files changed
+26/−13 lines, 4 files
Files
- README.md +7/−4
- lib/Test/Sunlight.hs +8/−1
- lib/Test/Sunlight/Shell.hs +7/−6
- sunlight.cabal +4/−2
README.md view
@@ -43,9 +43,9 @@ For example, these are all acceptable: - bytestring ##0.9.2.1- bytestring ># 0.9.2.1 && < 0.10- bytestring ># 0.9.2.1+ bytestring ==0.9.2.1+ bytestring >= 0.9.2.1 && < 0.10+ bytestring >= 0.9.2.1 This is not acceptable because there is no bound at all: @@ -53,7 +53,7 @@ This is not acceptable because there is no lower bound: - bytestring <# 0.10+ bytestring <= 0.10 Then you build a test executable. An example is in the `sunlight-test.hs` file in the sunlight git tree. This program@@ -78,6 +78,9 @@ sunlight works on simple Cabal files but I have not tested it on any exotic files.++sunlight makes no effort to be compatible with any Haskell compiler+other than GHC. ## See also
lib/Test/Sunlight.hs view
@@ -1,5 +1,12 @@ {-# LANGUAGE OverloadedStrings #-}-module Test.Sunlight where+module Test.Sunlight+ ( Description+ , Compiler+ , GhcPkg+ , Cabal+ , TestInputs(..)+ , runTests+ ) where import Distribution.Package import Distribution.Text
lib/Test/Sunlight/Shell.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE OverloadedStrings #-}-module Test.Sunlight.Shell where +-- | Utilities for dealing with subprocesses.+module Test.Sunlight.Shell where import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BS8@@ -61,6 +62,7 @@ bufsize :: Int bufsize = 512 +-- | The result of running a command. data CmdResult = CmdResult { crCode :: ExitCode , crStdOut :: BS.ByteString@@ -69,6 +71,9 @@ , crArgs :: [String] } deriving Show +-- | Show something as a human-readable ByteString. Since the+-- programs we'll be most interested in are outputting nothing but+-- ASCII, it's acceptable to just deal with Char8 bytestrings here. class ShowBS a where showBS :: a -> BS.ByteString @@ -94,11 +99,7 @@ showBS = BS8.pack . show -resultOk :: CmdResult -> Bool-resultOk c = case crCode c of- ExitSuccess -> True- _ -> False-+-- | Things that can be checked to see if they passed or failed. class CheckOk a where isOk :: a -> Bool
sunlight.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: sunlight-version: 0.2.0.0+version: 0.4.0.0 synopsis: Test Cabalized package against multiple dependency versions description: @@ -35,7 +35,9 @@ library exposed-modules: Test.Sunlight- , Test.Sunlight.Shell++ other-modules:+ Test.Sunlight.Shell build-depends: base >=4.5.1.0 && < 5