@@ -52,8 +52,11 @@ module Test.Database.LSMTree.StateMachine (
5252 tests
5353 , labelledExamples
5454 -- * Properties
55+ , ModelIOImpl
5556 , propLockstep_ModelIOImpl
57+ , RealImplRealFS
5658 , propLockstep_RealImpl_RealFS_IO
59+ , RealImplMockFS
5760 , propLockstep_RealImpl_MockFS_IO
5861 , propLockstep_RealImpl_MockFS_IOSim
5962 -- * Lockstep
@@ -160,7 +163,7 @@ tests = testGroup "Test.Database.LSMTree.StateMachine" [
160163 ]
161164
162165labelledExamples :: IO ()
163- labelledExamples = QC. labelledExamples $ Lockstep.Run. tagActions (Proxy @ (ModelState R. Table ))
166+ labelledExamples = QC. labelledExamples $ Lockstep.Run. tagActions (Proxy @ (ModelState RealImplMockFS ))
164167
165168{- ------------------------------------------------------------------------------
166169 propLockstep: reference implementation
@@ -173,18 +176,20 @@ instance Arbitrary Model.TableConfig where
173176deriving via AllowThunk (ModelIO. Session IO )
174177 instance NoThunks (ModelIO. Session IO )
175178
179+ type ModelIOImpl = ModelIO. Table
180+
176181propLockstep_ModelIOImpl ::
177- Actions (Lockstep (ModelState ModelIO. Table ))
182+ Actions (Lockstep (ModelState ModelIOImpl ))
178183 -> QC. Property
179184propLockstep_ModelIOImpl =
180185 runActionsBracket'
181- (Proxy @ (ModelState ModelIO. Table ))
186+ (Proxy @ (ModelState ModelIOImpl ))
182187 acquire
183188 release
184189 (\ r (session, errsVar) -> do
185190 faultsVar <- newMutVar []
186191 let
187- env :: RealEnv ModelIO. Table IO
192+ env :: RealEnv ModelIOImpl IO
188193 env = RealEnv {
189194 envSession = session
190195 , envHandlers = [handler, diskFaultErrorHandler]
@@ -273,19 +278,21 @@ instance Arbitrary R.WriteBufferAlloc where
273278 | QC. Positive x' <- QC. shrink (QC. Positive x)
274279 ]
275280
281+ type RealImplRealFS = R. Table
282+
276283propLockstep_RealImpl_RealFS_IO ::
277284 Tracer IO R. LSMTreeTrace
278- -> Actions (Lockstep (ModelState R. Table ))
285+ -> Actions (Lockstep (ModelState RealImplRealFS ))
279286 -> QC. Property
280287propLockstep_RealImpl_RealFS_IO tr =
281288 runActionsBracket'
282- (Proxy @ (ModelState R. Table ))
289+ (Proxy @ (ModelState RealImplRealFS ))
283290 acquire
284291 release
285292 (\ r (_, session, errsVar) -> do
286293 faultsVar <- newMutVar []
287294 let
288- env :: RealEnv R. Table IO
295+ env :: RealEnv RealImplRealFS IO
289296 env = RealEnv {
290297 envSession = session
291298 , envHandlers = [
@@ -313,19 +320,21 @@ propLockstep_RealImpl_RealFS_IO tr =
313320 R. closeSession session
314321 removeDirectoryRecursive tmpDir
315322
323+ type RealImplMockFS = R. Table
324+
316325propLockstep_RealImpl_MockFS_IO ::
317326 Tracer IO R. LSMTreeTrace
318- -> Actions (Lockstep (ModelState R. Table ))
327+ -> Actions (Lockstep (ModelState RealImplMockFS ))
319328 -> QC. Property
320329propLockstep_RealImpl_MockFS_IO tr =
321330 runActionsBracket'
322- (Proxy @ (ModelState R. Table ))
331+ (Proxy @ (ModelState RealImplMockFS ))
323332 (acquire_RealImpl_MockFS tr)
324333 release_RealImpl_MockFS
325334 (\ r (_, session, errsVar) -> do
326335 faultsVar <- newMutVar []
327336 let
328- env :: RealEnv R. Table IO
337+ env :: RealEnv RealImplMockFS IO
329338 env = RealEnv {
330339 envSession = session
331340 , envHandlers = [
@@ -343,7 +352,7 @@ propLockstep_RealImpl_MockFS_IO tr =
343352
344353propLockstep_RealImpl_MockFS_IOSim ::
345354 (forall s . Tracer (IOSim s ) R. LSMTreeTrace )
346- -> Actions (Lockstep (ModelState R. Table ))
355+ -> Actions (Lockstep (ModelState RealImplMockFS ))
347356 -> QC. Property
348357propLockstep_RealImpl_MockFS_IOSim tr actions =
349358 monadicIOSim_ prop
@@ -353,7 +362,7 @@ propLockstep_RealImpl_MockFS_IOSim tr actions =
353362 (fsVar, session, errsVar) <- QC. run (acquire_RealImpl_MockFS tr)
354363 faultsVar <- QC. run $ newMutVar []
355364 let
356- env :: RealEnv R. Table (IOSim s )
365+ env :: RealEnv RealImplMockFS (IOSim s )
357366 env = RealEnv {
358367 envSession = session
359368 , envHandlers = [
@@ -364,7 +373,7 @@ propLockstep_RealImpl_MockFS_IOSim tr actions =
364373 , envInjectFaultResults = faultsVar
365374 }
366375 void $ QD. runPropertyReaderT
367- (QD. runActions @ (Lockstep (ModelState R. Table )) actions)
376+ (QD. runActions @ (Lockstep (ModelState RealImplMockFS )) actions)
368377 env
369378 faults <- QC. run $ readMutVar faultsVar
370379 QC. run $ release_RealImpl_MockFS (fsVar, session, errsVar)
0 commit comments