sydtest 0.10.1.0 → 0.11.0.0
raw patch · 10 files changed
+35/−32 lines, 10 filesdep ~autodocodec-yaml
Dependency ranges changed: autodocodec-yaml
Files
- CHANGELOG.md +7/−0
- output-test/Spec.hs +4/−4
- src/Test/Syd/OptParse.hs +1/−2
- src/Test/Syd/Output.hs +6/−11
- src/Test/Syd/Runner.hs +3/−3
- src/Test/Syd/Runner/Asynchronous.hs +3/−3
- src/Test/Syd/Runner/Synchronous.hs +3/−3
- sydtest.cabal +3/−2
- test/Test/Syd/GoldenSpec.hs +4/−4
- test_resources/output.golden +1/−0
CHANGELOG.md view
@@ -1,5 +1,12 @@ # Changelog +## [0.11.0.0] - 2022-06-28++### Changed++* `printOutputSpecForest` now uses `Data.Text.Lazy.IO` to output the report, so it will try to respect the system's locale.+* `renderResultReport` now outputs a `Text.Builder` instead of a `ByteString.Builder` and a newline at the end.+ ## [0.10.1.0] - 2022-06-04 ### Changed
output-test/Spec.hs view
@@ -9,10 +9,10 @@ import Control.Exception import Control.Monad import Data.ByteString (ByteString)-import qualified Data.ByteString.Builder as SBB-import qualified Data.ByteString.Lazy as LB import Data.List import Data.Text (Text)+import qualified Data.Text.Lazy as LT+import qualified Data.Text.Lazy.Builder as TLB import System.Exit import System.Random import Test.QuickCheck@@ -144,9 +144,9 @@ describe "outputResultForest" $ do it "outputs the same as last time" $ do- pureGoldenByteStringFile+ pureGoldenTextFile "test_resources/output.golden"- (LB.toStrict $ SBB.toLazyByteString $ renderResultReport defaultSettings With24BitColours (Timed [] 0))+ (LT.toStrict $ TLB.toLazyText $ renderResultReport defaultSettings With24BitColours (Timed [] 0)) doNotRandomiseExecutionOrder $ describe "Around" $
src/Test/Syd/OptParse.hs view
@@ -14,7 +14,6 @@ import Data.Maybe import Data.Text (Text) import qualified Data.Text as T-import qualified Data.Text.Encoding as TE import qualified Env import GHC.Generics (Generic) import Options.Applicative as OptParse@@ -410,7 +409,7 @@ [ Env.helpDoc environmentParser, "", "Configuration file format:",- T.unpack (TE.decodeUtf8 (renderColouredSchemaViaCodec @Configuration))+ T.unpack (renderColouredSchemaViaCodec @Configuration) ] -- | The flags that are common across commands.
src/Test/Syd/Output.hs view
@@ -8,11 +8,7 @@ module Test.Syd.Output where import Control.Exception-import Control.Monad.Reader import Data.Algorithm.Diff-import Data.ByteString.Builder (Builder)-import qualified Data.ByteString.Builder as SBB-import qualified Data.ByteString.Char8 as SB8 import qualified Data.List as L import Data.List.Split (splitWhen) import Data.Map (Map)@@ -20,6 +16,9 @@ import Data.Maybe import Data.Text (Text) import qualified Data.Text as T+import qualified Data.Text.Lazy.Builder as LTB+import qualified Data.Text.Lazy.Builder as Text+import qualified Data.Text.Lazy.IO as LTIO import Data.Word import GHC.Stack import Safe@@ -34,16 +33,12 @@ printOutputSpecForest :: Settings -> Timed ResultForest -> IO () printOutputSpecForest settings results = do tc <- deriveTerminalCapababilities settings-- forM_ (outputResultReport settings results) $ \chunks -> do- putChunksWith tc chunks- SB8.putStrLn ""+ LTIO.putStr $ LTB.toLazyText $ renderResultReport settings tc results -renderResultReport :: Settings -> TerminalCapabilities -> Timed ResultForest -> Builder+renderResultReport :: Settings -> TerminalCapabilities -> Timed ResultForest -> Text.Builder renderResultReport settings tc rf = mconcat $- L.intersperse (SBB.char7 '\n') $- map (renderChunks tc) (outputResultReport settings rf)+ map (\line -> renderChunksBuilder tc line <> "\n") (outputResultReport settings rf) outputResultReport :: Settings -> Timed ResultForest -> [[Chunk]] outputResultReport settings trf@(Timed rf _) =
src/Test/Syd/Runner.hs view
@@ -15,7 +15,7 @@ import Control.Concurrent (getNumCapabilities) import Control.Monad import Control.Monad.IO.Class-import qualified Data.ByteString.Char8 as SB8+import qualified Data.Text.IO as TIO import System.Environment import System.Mem (performGC) import Test.Syd.Def@@ -50,8 +50,8 @@ when (i == 1) $ do let outputLine :: [Chunk] -> IO () outputLine lineChunks = liftIO $ do- putChunksWith tc lineChunks- SB8.putStrLn ""+ putChunksLocaleWith tc lineChunks+ TIO.putStrLn "" mapM_ ( outputLine . (: [])
src/Test/Syd/Runner/Asynchronous.hs view
@@ -12,12 +12,12 @@ import Control.Concurrent.Async import Control.Exception import Control.Monad.Reader-import qualified Data.ByteString.Char8 as SB8 import Data.IORef import Data.Maybe import Data.Set (Set) import qualified Data.Set as S import qualified Data.Text as T+import qualified Data.Text.IO as TIO import Test.QuickCheck.IO () import Test.Syd.HList import Test.Syd.OptParse@@ -116,8 +116,8 @@ let outputLine :: [Chunk] -> IO () outputLine lineChunks = liftIO $ do- putChunksWith tc lineChunks- SB8.putStrLn ""+ putChunksLocaleWith tc lineChunks+ TIO.putStrLn "" treeWidth :: Int treeWidth = specForestWidth handleForest
src/Test/Syd/Runner/Synchronous.hs view
@@ -10,8 +10,8 @@ import Control.Exception import Control.Monad.IO.Class-import qualified Data.ByteString.Char8 as SB8 import qualified Data.Text as T+import qualified Data.Text.IO as TIO import Test.Syd.HList import Test.Syd.OptParse import Test.Syd.Output@@ -64,8 +64,8 @@ tc <- deriveTerminalCapababilities settings let outputLine :: [Chunk] -> IO () outputLine lineChunks = liftIO $ do- putChunksWith tc lineChunks- SB8.putStrLn ""+ putChunksLocaleWith tc lineChunks+ TIO.putStrLn "" treeWidth :: Int treeWidth = specForestWidth testForest let pad :: Int -> [Chunk] -> [Chunk]
sydtest.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: sydtest-version: 0.10.1.0+version: 0.11.0.0 synopsis: A modern testing framework for Haskell with good defaults and advanced testing features. description: A modern testing framework for Haskell with good defaults and advanced testing features. Sydtest aims to make the common easy and the hard possible. See https://github.com/NorfairKing/sydtest#readme for more information. category: Testing@@ -67,7 +67,7 @@ , QuickCheck , async , autodocodec- , autodocodec-yaml+ , autodocodec-yaml >=0.2.0.0 , base >=4.7 && <5 , bytestring , containers@@ -148,4 +148,5 @@ , safe-coloured-text , stm , sydtest+ , text default-language: Haskell2010
test/Test/Syd/GoldenSpec.hs view
@@ -2,8 +2,8 @@ module Test.Syd.GoldenSpec (spec) where -import qualified Data.ByteString.Builder as SBB-import qualified Data.ByteString.Lazy as LB+import qualified Data.Text.Lazy as LT+import qualified Data.Text.Lazy.Builder as LTB import Test.Syd import Test.Syd.OptParse import Text.Colour@@ -12,8 +12,8 @@ spec = do describe "outputResultForest" $ do it "outputs the same as last time" $ do- pureGoldenByteStringFile+ pureGoldenTextFile "test_resources/output.golden"- (LB.toStrict $ SBB.toLazyByteString $ renderResultReport defaultSettings With24BitColours (Timed [] 0))+ (LT.toStrict $ LTB.toLazyText $ renderResultReport defaultSettings With24BitColours (Timed [] 0)) describe "defaultSettings" $ do it "is the same thing as last time" $ goldenPrettyShowInstance "test_resources/defaultSettings-show.golden" defaultSettings
test_resources/output.golden view
@@ -7,3 +7,4 @@ Failed: [32m0[m Sum of test runtimes:[33m 0.00 seconds[m Test suite took: [33m 0.00 seconds[m+