@@ -7,14 +7,14 @@ import Test.Hydra.Prelude
7
7
8
8
import Data.Aeson (Value (.. ))
9
9
import Data.Aeson qualified as Aeson
10
- import Data.ByteString qualified as BS
11
10
import Data.Text qualified as Text
12
- import Hydra.Logging (Verbosity ( Verbose ), traceWith , withTracer , withTracerOutputTo )
11
+ import Hydra.Logging (Envelope ( .. ), Verbosity ( Verbose ), withTracer )
13
12
import Hydra.Persistence (Persistence (.. ), PersistenceIncremental (.. ), createPersistence , createPersistenceIncremental , loadAll )
14
13
import Hydra.PersistenceLog
15
14
import Test.QuickCheck (checkCoverage , cover , elements , oneof , suchThat , (===) )
16
15
import Test.QuickCheck.Gen (listOf )
17
16
import Test.QuickCheck.Monadic (monadicIO , monitor , pick , run )
17
+ import Test.Util (captureTracer )
18
18
19
19
spec :: Spec
20
20
spec = do
@@ -40,16 +40,15 @@ spec = do
40
40
describe " PersistenceIncremental" $ do
41
41
it " can ignore invalid lines and emits warning" $ do
42
42
withTempDir " hydra-persistence" $ \ tmpDir -> do
43
- let logFile = tmpDir <> " /tracer.log"
44
- withFile logFile WriteMode $ \ hdl -> do
45
- withTracerOutputTo hdl " persistence-incremental" $ \ tracer -> do
46
- let fp = tmpDir <> " /data"
47
- writeFileBS fp " \" abc\"\n {\" xyz\" : "
48
- -- traceWith tracer $ FailedToDecodeJson{reason = "show e", filepath = "fp", contents = "show bs"}
49
- p <- createPersistenceIncremental tracer fp
50
- loadAll p `shouldReturn` ([Aeson. String " abc" ] :: [Aeson. Value ])
51
- logs <- readFileBS logFile
52
- logs `shouldSatisfy` BS. isInfixOf " FailedToDecodeJson"
43
+ (tracer, getTraces) <- captureTracer " persistence-incremental"
44
+ let fp = tmpDir <> " /data"
45
+ writeFileBS fp " \" abc\"\n {\" xyz\" : "
46
+ p <- createPersistenceIncremental tracer fp
47
+ loadAll p `shouldReturn` ([Aeson. String " abc" ] :: [Aeson. Value ])
48
+ traces <- getTraces
49
+ let rightMsg [Envelope {message = FailedToDecodeJson {}}] = True
50
+ rightMsg _ = False
51
+ traces `shouldSatisfy` rightMsg
53
52
54
53
it " can handle empty files" $ do
55
54
withTracer (Verbose " persistence-incremental" ) $ \ tracer -> do
0 commit comments