Skip to content

Commit f13d95b

Browse files
committed
feat(lsm-tree-tests): add salt
1 parent 3d49187 commit f13d95b

File tree

16 files changed

+82
-55
lines changed

16 files changed

+82
-55
lines changed

test/Database/LSMTree/Class/Common.hs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ module Database.LSMTree.Class.Common (
55
, IsSession (..)
66
, SessionArgs (..)
77
, withSession
8+
, testSalt
9+
, testSessionSalt
810
, module Types
911
) where
1012

@@ -17,6 +19,7 @@ import Database.LSMTree as Types (IOLike, Range (..), SerialiseKey,
1719
SerialiseValue, SnapshotLabel (..), SnapshotName,
1820
UnionCredits (..), UnionDebt (..))
1921
import qualified Database.LSMTree as R
22+
import Database.LSMTree.Internal.Paths (SessionSalt (..))
2023
import System.FS.API (FsPath, HasFS)
2124
import System.FS.BlockIO.API (HasBlockIO)
2225

@@ -77,6 +80,12 @@ withSession seshArgs = bracket (openSession seshArgs) closeSession
7780
Real instance
7881
-------------------------------------------------------------------------------}
7982

83+
testSalt :: R.Salt
84+
testSalt = 4
85+
86+
testSessionSalt :: SessionSalt
87+
testSessionSalt = SessionSalt testSalt
88+
8089
instance IsSession R.Session where
8190
data SessionArgs R.Session m where
8291
SessionArgs ::
@@ -85,7 +94,7 @@ instance IsSession R.Session where
8594
-> SessionArgs R.Session m
8695

8796
openSession (SessionArgs hfs hbio dir) = do
88-
R.openSession nullTracer hfs hbio dir
97+
R.openSession nullTracer hfs hbio testSalt dir
8998
closeSession = R.closeSession
9099
deleteSnapshot = R.deleteSnapshot
91100
listSnapshots = R.listSnapshots

test/Test/Database/LSMTree/Generators.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Data.Coerce (Coercible, coerce)
77
import qualified Data.Map.Strict as Map
88
import qualified Data.Vector.Primitive as VP
99
import Data.Word (Word64, Word8)
10+
import Database.LSMTree.Class.Common (testSessionSalt)
1011
import Database.LSMTree.Extras (showPowersOf)
1112
import Database.LSMTree.Extras.Generators
1213
import Database.LSMTree.Extras.MergingRunData
@@ -162,7 +163,7 @@ prop_withRunDoesntLeak hfs hbio rd = do
162163
let path = FS.mkFsPath ["something-1"]
163164
let fsPaths = RunFsPaths path (RunNumber 0)
164165
FS.createDirectory hfs path
165-
withRunAt hfs hbio (runParams indexType) fsPaths rd $ \_run -> do
166+
withRunAt hfs hbio testSessionSalt (runParams indexType) fsPaths rd $ \_run -> do
166167
pure (QC.property True)
167168

168169
prop_withMergingRunDoesntLeak ::
@@ -175,7 +176,7 @@ prop_withMergingRunDoesntLeak hfs hbio mrd = do
175176
let path = FS.mkFsPath ["something-2"]
176177
FS.createDirectory hfs path
177178
counter <- newUniqCounter 0
178-
withMergingRun hfs hbio resolveVal (runParams indexType) path counter mrd $
179+
withMergingRun hfs hbio resolveVal testSessionSalt (runParams indexType) path counter mrd $
179180
\_mr -> do
180181
pure (QC.property True)
181182

@@ -191,7 +192,7 @@ prop_withMergingTreeDoesntLeak hfs hbio mrd = do
191192
let path = FS.mkFsPath ["something-3"]
192193
FS.createDirectory hfs path
193194
counter <- newUniqCounter 0
194-
withMergingTree hfs hbio resolveVal (runParams indexType) path counter mrd $
195+
withMergingTree hfs hbio resolveVal testSessionSalt (runParams indexType) path counter mrd $
195196
\_tree -> do
196197
pure (QC.property True)
197198

test/Test/Database/LSMTree/Internal.hs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import qualified Data.Map.Strict as Map
1616
import Data.Maybe (isJust, mapMaybe)
1717
import qualified Data.Vector as V
1818
import Data.Word
19+
import Database.LSMTree.Class.Common (testSalt)
1920
import Database.LSMTree.Extras.Generators ()
2021
import Database.LSMTree.Internal.BlobRef
2122
import Database.LSMTree.Internal.Config
@@ -58,7 +59,7 @@ newSession ::
5859
newSession (Positive (Small bufferSize)) es =
5960
ioProperty $
6061
withTempIOHasBlockIO "newSession" $ \hfs hbio ->
61-
withSession nullTracer hfs hbio (FS.mkFsPath []) $ \session ->
62+
withSession nullTracer hfs hbio testSalt (FS.mkFsPath []) $ \session ->
6263
withTable session conf (updates const es')
6364
where
6465
conf = testTableConfig {
@@ -73,9 +74,9 @@ restoreSession ::
7374
restoreSession (Positive (Small bufferSize)) es =
7475
ioProperty $
7576
withTempIOHasBlockIO "restoreSession" $ \hfs hbio -> do
76-
withSession nullTracer hfs hbio (FS.mkFsPath []) $ \session1 ->
77+
withSession nullTracer hfs hbio testSalt (FS.mkFsPath []) $ \session1 ->
7778
withTable session1 conf (updates const es')
78-
withSession nullTracer hfs hbio (FS.mkFsPath []) $ \session2 ->
79+
withSession nullTracer hfs hbio testSalt (FS.mkFsPath []) $ \session2 ->
7980
withTable session2 conf (updates const es')
8081
where
8182
conf = testTableConfig {
@@ -86,8 +87,8 @@ restoreSession (Positive (Small bufferSize)) es =
8687
sessionDirLocked :: Property
8788
sessionDirLocked = ioProperty $
8889
withTempIOHasBlockIO "sessionDirLocked" $ \hfs hbio -> do
89-
bracket (openSession nullTracer hfs hbio (FS.mkFsPath [])) closeSession $ \_sesh1 ->
90-
bracket (try @SessionDirLockedError $ openSession nullTracer hfs hbio (FS.mkFsPath [])) tryCloseSession $ \case
90+
bracket (openSession nullTracer hfs hbio testSalt (FS.mkFsPath [])) closeSession $ \_sesh1 ->
91+
bracket (try @SessionDirLockedError $ openSession nullTracer hfs hbio testSalt (FS.mkFsPath [])) tryCloseSession $ \case
9192
Left (ErrSessionDirLocked _dir) -> pure ()
9293
x -> assertFailure $ "Opening a session twice in the same directory \
9394
\should fail with an ErrSessionDirLocked error, but \
@@ -97,15 +98,15 @@ sessionDirCorrupted :: Assertion
9798
sessionDirCorrupted =
9899
withTempIOHasBlockIO "sessionDirCorrupted" $ \hfs hbio -> do
99100
FS.createDirectory hfs (FS.mkFsPath ["unexpected-directory"])
100-
bracket (try @SessionDirCorruptedError (openSession nullTracer hfs hbio (FS.mkFsPath []))) tryCloseSession $ \case
101+
bracket (try @SessionDirCorruptedError (openSession nullTracer hfs hbio testSalt (FS.mkFsPath []))) tryCloseSession $ \case
101102
Left (ErrSessionDirCorrupted _dir) -> pure ()
102103
x -> assertFailure $ "Restoring a session in a directory with a wrong \
103104
\layout should fail with a ErrSessionDirCorrupted, but \
104105
\it returned this instead: " <> showLeft "Session" x
105106

106107
sessionDirDoesNotExist :: Assertion
107108
sessionDirDoesNotExist = withTempIOHasBlockIO "sessionDirDoesNotExist" $ \hfs hbio -> do
108-
bracket (try @SessionDirDoesNotExistError (openSession nullTracer hfs hbio (FS.mkFsPath ["missing-dir"]))) tryCloseSession $ \case
109+
bracket (try @SessionDirDoesNotExistError (openSession nullTracer hfs hbio testSalt (FS.mkFsPath ["missing-dir"]))) tryCloseSession $ \case
109110
Left (ErrSessionDirDoesNotExist _dir) -> pure ()
110111
x -> assertFailure $ "Opening a session in a non-existent directory should \
111112
\fail with a ErrSessionDirDoesNotExist error, but it \
@@ -140,7 +141,7 @@ prop_roundtripCursor ::
140141
-> Property
141142
prop_roundtripCursor lb ub kops = ioProperty $
142143
withTempIOHasBlockIO "prop_roundtripCursor" $ \hfs hbio -> do
143-
withSession nullTracer hfs hbio (FS.mkFsPath []) $ \sesh -> do
144+
withSession nullTracer hfs hbio testSalt (FS.mkFsPath []) $ \sesh -> do
144145
withTable sesh conf $ \t -> do
145146
updates resolve (coerce kops) t
146147
fromCursor <- withCursor resolve (toOffsetKey lb) t $ \c ->

test/Test/Database/LSMTree/Internal/BloomFilter.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import Test.Tasty (TestTree, testGroup)
2424
import Test.Tasty.QuickCheck hiding ((.&.))
2525

2626
import qualified Data.BloomFilter.Blocked as Bloom
27+
import Database.LSMTree.Class.Common (testSalt, testSessionSalt)
2728
import Database.LSMTree.Internal.BloomFilter
2829
import Database.LSMTree.Internal.Serialise (SerialisedKey,
2930
serialiseKey)
@@ -52,7 +53,7 @@ roundtrip_prop (Positive (Small hfN)) (Positive bits) ws =
5253
where
5354
sz = Bloom.BloomSize { sizeBits = limitBits bits,
5455
sizeHashes = hfN }
55-
lhs = Bloom.create theRandomSalt sz (\b -> mapM_ (Bloom.insert b) ws)
56+
lhs = Bloom.create sz testSalt (\b -> mapM_ (Bloom.insert b) ws)
5657
bs = LBS.toStrict (bloomFilterToLBS lhs)
5758

5859
limitBits :: Int -> Int
@@ -116,7 +117,7 @@ prop_bloomQueries :: FPR
116117
-> Property
117118
prop_bloomQueries (FPR fpr) filters keys =
118119
let filters' :: [Bloom SerialisedKey]
119-
filters' = map (Bloom.fromList (Bloom.policyForFPR fpr)
120+
filters' = map (Bloom.fromList (Bloom.policyForFPR fpr) testSalt
120121
. map (\(Small k) -> serialiseKey k))
121122
filters
122123

@@ -152,5 +153,4 @@ prop_bloomQueries (FPR fpr) filters keys =
152153
referenceResults
153154
===
154155
map (\(RunIxKeyIx rix kix) -> (rix, kix))
155-
(VP.toList (bloomQueries (V.fromList filters')
156-
(V.fromList keys')))
156+
(VP.toList (bloomQueries testSessionSalt (V.fromList filters') (V.fromList keys')))

test/Test/Database/LSMTree/Internal/Lookup.hs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import qualified Data.Vector as V
4040
import qualified Data.Vector.Primitive as VP
4141
import qualified Data.Vector.Unboxed as VU
4242
import Data.Word
43+
import Database.LSMTree.Class.Common (testSessionSalt)
4344
import Database.LSMTree.Extras
4445
import Database.LSMTree.Extras.Generators
4546
import Database.LSMTree.Extras.RunData (RunData (..),
@@ -141,7 +142,7 @@ prop_bloomQueriesModel dats =
141142
blooms = fmap snd3 runs
142143
lookupss = concatMap lookups $ getSmallList dats
143144
real = map (\(RunIxKeyIx rix kix) -> (rix,kix)) $ VP.toList $
144-
bloomQueries (V.fromList blooms) (V.fromList lookupss)
145+
bloomQueries testSessionSalt (V.fromList blooms) (V.fromList lookupss)
145146
model = bloomQueriesModel (fmap Map.keysSet runDatas) lookupss
146147

147148
-- | A bloom filter is a probablistic set that can return false positives, but
@@ -204,6 +205,7 @@ prop_prepLookupsModel dats = real === model
204205
ks = V.fromList lookupss
205206
(kixs, ioops) <- prepLookups
206207
arena
208+
testSessionSalt
207209
(V.map snd3 rs)
208210
(V.map thrd3 rs)
209211
(V.map fst3 rs) ks
@@ -245,6 +247,7 @@ prop_inMemRunLookupAndConstruction dat =
245247
(kixs, ioops) <- let r = V.singleton (runWithHandle run)
246248
in prepLookups
247249
arena
250+
testSessionSalt
248251
(V.map snd3 r)
249252
(V.map thrd3 r)
250253
(V.map fst3 r)
@@ -332,6 +335,7 @@ prop_roundtripFromWriteBufferLookupIO (SmallList dats) =
332335
hbio
333336
arenaManager
334337
resolveV
338+
testSessionSalt
335339
wb wbblobs
336340
runs
337341
(V.map (\(DeRef r) -> Run.runFilter r) runs)
@@ -374,7 +378,7 @@ withWbAndRuns hfs hbio indexType (wbdat:rundats) action =
374378
let wb = WB.fromMap wbkops
375379
let rds = map (RunData . runData) rundats
376380
counter <- newUniqCounter 1
377-
withRuns hfs hbio (runParams indexType) (FS.mkFsPath []) counter rds $
381+
withRuns hfs hbio testSessionSalt (runParams indexType) (FS.mkFsPath []) counter rds $
378382
\runs ->
379383
action wb wbblobs (V.fromList runs)
380384

@@ -443,7 +447,7 @@ mkTestRun dat = (rawPages, b, ic)
443447

444448
-- one-shot run construction
445449
(pages, b, ic) = runST $ do
446-
racc <- Run.new nentries (RunAllocFixed 10) Index.Ordinary
450+
racc <- Run.new nentries (RunAllocFixed 10) testSessionSalt Index.Ordinary
447451
let kops = Map.toList dat
448452
psopss <- traverse (uncurry (Run.addKeyOp racc)) kops
449453
(mp, _ , b', ic', _) <- Run.unsafeFinalise racc

test/Test/Database/LSMTree/Internal/Merge.hs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import Data.Map.Strict (Map)
99
import qualified Data.Map.Strict as Map
1010
import Data.Maybe (isJust)
1111
import qualified Data.Vector as V
12+
import Database.LSMTree.Class.Common (testSessionSalt)
1213
import Database.LSMTree.Extras
1314
import Database.LSMTree.Extras.RunData
1415
import qualified Database.LSMTree.Internal.BlobFile as BlobFile
@@ -81,13 +82,13 @@ prop_MergeDistributes ::
8182
prop_MergeDistributes fs hbio mergeType stepSize (SmallList rds) = do
8283
let path = FS.mkFsPath []
8384
counter <- newUniqCounter 0
84-
withRuns fs hbio runParams path counter rds' $ \runs -> do
85+
withRuns fs hbio testSessionSalt runParams path counter rds' $ \runs -> do
8586
let stepsNeeded = sum (map (Map.size . unRunData) rds)
8687

8788
fsPathLhs <- RunFsPaths path . uniqueToRunNumber <$> incrUniqCounter counter
8889
(stepsDone, lhs) <- mergeRuns fs hbio mergeType stepSize fsPathLhs runs
8990
let runData = RunData $ mergeWriteBuffers mergeType $ fmap unRunData rds'
90-
withRun fs hbio runParams path counter runData $ \rhs -> do
91+
withRun fs hbio testSessionSalt runParams path counter runData $ \rhs -> do
9192

9293
(lhsSize, lhsFilter, lhsIndex, lhsKOps,
9394
lhsKOpsFileContent, lhsBlobFileContent) <- getRunContent lhs
@@ -159,7 +160,7 @@ prop_AbortMerge fs hbio mergeType (Positive stepSize) (SmallList wbs) = do
159160
let path = FS.mkFsPath []
160161
let pathOut = RunFsPaths path (RunNumber 0)
161162
counter <- newUniqCounter 1
162-
withRuns fs hbio runParams path counter wbs' $ \runs -> do
163+
withRuns fs hbio testSessionSalt runParams path counter wbs' $ \runs -> do
163164
mergeToClose <- makeInProgressMerge pathOut runs
164165
traverse_ Merge.abort mergeToClose
165166

@@ -172,7 +173,7 @@ prop_AbortMerge fs hbio mergeType (Positive stepSize) (SmallList wbs) = do
172173
wbs' = fmap serialiseRunData wbs
173174

174175
makeInProgressMerge path runs =
175-
Merge.new fs hbio runParams mergeType resolveVal
176+
Merge.new fs hbio testSessionSalt runParams mergeType resolveVal
176177
path (V.fromList runs) >>= \case
177178
Nothing -> pure Nothing -- not in progress
178179
Just merge -> do
@@ -199,11 +200,11 @@ mergeRuns ::
199200
[Ref (Run.Run IO h)] ->
200201
IO (Int, Ref (Run.Run IO h))
201202
mergeRuns fs hbio mergeType (Positive stepSize) fsPath runs = do
202-
Merge.new fs hbio runParams mergeType resolveVal
203+
Merge.new fs hbio testSessionSalt runParams mergeType resolveVal
203204
fsPath (V.fromList runs)
204205
>>= \case
205206
Just m -> Merge.stepsToCompletionCounted m stepSize
206-
Nothing -> (,) 0 <$> unsafeCreateRunAt fs hbio runParams fsPath
207+
Nothing -> (,) 0 <$> unsafeCreateRunAt fs hbio testSessionSalt runParams fsPath
207208
(RunData Map.empty)
208209

209210
type SerialisedEntry = Entry.Entry SerialisedValue SerialisedBlob

test/Test/Database/LSMTree/Internal/MergingTree.hs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import Data.Map (Map)
1313
import qualified Data.Map as Map
1414
import Data.Traversable (for)
1515
import qualified Data.Vector as V
16+
import Database.LSMTree.Class.Common (testSessionSalt)
1617
import Database.LSMTree.Extras (showPowersOf10)
1718
import Database.LSMTree.Extras.MergingRunData
1819
import Database.LSMTree.Extras.MergingTreeData
@@ -126,7 +127,7 @@ prop_lookupTree ::
126127
prop_lookupTree hfs hbio keys mtd = do
127128
let path = FS.mkFsPath []
128129
counter <- newUniqCounter 0
129-
withMergingTree hfs hbio resolveVal runParams path counter mtd $ \tree -> do
130+
withMergingTree hfs hbio resolveVal testSessionSalt runParams path counter mtd $ \tree -> do
130131
arenaManager <- newArenaManager
131132
withActionRegistry $ \reg -> do
132133
res <- fetchBlobs =<< lookupsIO reg arenaManager tree
@@ -169,6 +170,7 @@ prop_lookupTree hfs hbio keys mtd = do
169170
hbio
170171
mgr
171172
resolveVal
173+
testSessionSalt
172174
runs
173175
(fmap (\(DeRef r) -> Run.runFilter r) runs)
174176
(fmap (\(DeRef r) -> Run.runIndex r) runs)
@@ -229,7 +231,7 @@ prop_supplyCredits hfs hbio threshold credits mtd = do
229231
FS.createDirectory hfs setupPath
230232
FS.createDirectory hfs (FS.mkFsPath ["active"])
231233
counter <- newUniqCounter 0
232-
withMergingTree hfs hbio resolveVal runParams setupPath counter mtd $ \tree -> do
234+
withMergingTree hfs hbio resolveVal testSessionSalt runParams setupPath counter mtd $ \tree -> do
233235
(MR.MergeDebt initialDebt, _) <- remainingMergeDebt tree
234236
props <- for credits $ \c -> do
235237
(MR.MergeDebt debt, _) <- remainingMergeDebt tree
@@ -238,7 +240,7 @@ prop_supplyCredits hfs hbio threshold credits mtd = do
238240
pure $ property True
239241
else do
240242
leftovers <-
241-
supplyCredits hfs hbio resolveVal runParams threshold root counter tree c
243+
supplyCredits hfs hbio resolveVal testSessionSalt runParams threshold root counter tree c
242244
(MR.MergeDebt debt', _) <- remainingMergeDebt tree
243245
pure $
244246
-- semi-useful, but mainly tells us in how many steps we supplied

test/Test/Database/LSMTree/Internal/Readers.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import Test.Tasty (TestTree, testGroup)
4444
import Test.Tasty.QuickCheck
4545
import Test.Util.Orphans ()
4646

47+
import Database.LSMTree.Class.Common (testSessionSalt)
4748
import Test.QuickCheck.StateModel
4849
import Test.QuickCheck.StateModel.Lockstep
4950
import qualified Test.QuickCheck.StateModel.Lockstep.Defaults as Lockstep
@@ -453,7 +454,7 @@ runIO act lu = case act of
453454
wb <- WB.fromMap <$> traverse (traverse (WBB.addBlob hfs wbblobs)) kops
454455
pure $ Readers.FromWriteBuffer wb wbblobs
455456
FromRunData rd -> do
456-
r <- unsafeCreateRun hfs hbio runParams (FS.mkFsPath []) counter $ serialiseRunData rd
457+
r <- unsafeCreateRun hfs hbio testSessionSalt runParams (FS.mkFsPath []) counter $ serialiseRunData rd
457458
pure $ Readers.FromRun r
458459
FromReadersData ty rds -> do
459460
Readers.FromReaders ty <$> traverse (fromSourceData hfs hbio counter) rds

test/Test/Database/LSMTree/Internal/Run.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import Data.Coerce (coerce)
1414
import qualified Data.Map.Strict as Map
1515
import Data.Maybe (fromJust)
1616
import qualified Data.Primitive.ByteArray as BA
17+
import Database.LSMTree.Class.Common (testSessionSalt)
1718
import Database.LSMTree.Extras.RunData
1819
import Database.LSMTree.Internal.BlobRef (BlobSpan (..))
1920
import qualified Database.LSMTree.Internal.CRC32C as CRC
@@ -106,7 +107,7 @@ testSingleInsert sessionRoot key val mblob =
106107
-- flush write buffer
107108
let e = case mblob of Nothing -> Insert val; Just blob -> InsertWithBlob val blob
108109
wb = Map.singleton key e
109-
withRunAt fs hbio runParams (simplePath 42) (RunData wb) $ \_ -> do
110+
withRunAt fs hbio testSessionSalt runParams (simplePath 42) (RunData wb) $ \_ -> do
110111
-- check all files have been written
111112
let activeDir = sessionRoot
112113
bsKOps <- BS.readFile (activeDir </> "42.keyops")
@@ -188,7 +189,7 @@ prop_WriteNumEntries ::
188189
-> RunData SerialisedKey SerialisedValue SerialisedBlob
189190
-> IO Property
190191
prop_WriteNumEntries fs hbio wb@(RunData m) =
191-
withRunAt fs hbio runParams (simplePath 42) wb' $ \run -> do
192+
withRunAt fs hbio testSessionSalt runParams (simplePath 42) wb' $ \run -> do
192193
let !runSize = Run.size run
193194

194195
pure . labelRunData wb' $
@@ -206,7 +207,7 @@ prop_WriteAndOpen ::
206207
-> RunData SerialisedKey SerialisedValue SerialisedBlob
207208
-> IO Property
208209
prop_WriteAndOpen fs hbio wb =
209-
withRunAt fs hbio runParams (simplePath 1337) (serialiseRunData wb) $ \written ->
210+
withRunAt fs hbio testSessionSalt runParams (simplePath 1337) (serialiseRunData wb) $ \written ->
210211
withActionRegistry $ \reg -> do
211212
let paths = Run.runFsPaths written
212213
paths' = paths { runNumber = RunNumber 17}
@@ -268,7 +269,7 @@ prop_WriteRunEqWriteWriteBuffer hfs hbio rd = do
268269
let rdPaths = simplePath 1337
269270
let rdKOpsFile = Paths.runKOpsPath rdPaths
270271
let rdBlobFile = Paths.runBlobPath rdPaths
271-
withRunAt hfs hbio runParams rdPaths srd $ \_run -> do
272+
withRunAt hfs hbio testSessionSalt runParams rdPaths srd $ \_run -> do
272273
-- Serialise run data as write buffer:
273274
let f (SerialisedValue x) (SerialisedValue y) = SerialisedValue (x <> y)
274275
let inPaths = WrapRunFsPaths $ simplePath 1111

0 commit comments

Comments
 (0)