Skip to content

Commit 172a78b

Browse files
committed
QLS: type synonyms for params
1 parent 610874f commit 172a78b

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

test/Test/Database/LSMTree/StateMachine.hs

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

162165
labelledExamples :: 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
173176
deriving via AllowThunk (ModelIO.Session IO)
174177
instance NoThunks (ModelIO.Session IO)
175178

179+
type ModelIOImpl = ModelIO.Table
180+
176181
propLockstep_ModelIOImpl ::
177-
Actions (Lockstep (ModelState ModelIO.Table))
182+
Actions (Lockstep (ModelState ModelIOImpl))
178183
-> QC.Property
179184
propLockstep_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+
276283
propLockstep_RealImpl_RealFS_IO ::
277284
Tracer IO R.LSMTreeTrace
278-
-> Actions (Lockstep (ModelState R.Table))
285+
-> Actions (Lockstep (ModelState RealImplRealFS))
279286
-> QC.Property
280287
propLockstep_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+
316325
propLockstep_RealImpl_MockFS_IO ::
317326
Tracer IO R.LSMTreeTrace
318-
-> Actions (Lockstep (ModelState R.Table))
327+
-> Actions (Lockstep (ModelState RealImplMockFS))
319328
-> QC.Property
320329
propLockstep_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

344353
propLockstep_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
348357
propLockstep_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)

test/Test/Database/LSMTree/StateMachine/DL.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ tests = testGroup "Test.Database.LSMTree.StateMachine.DL" [
2929
QC.testProperty "prop_example" prop_example
3030
]
3131

32-
instance DynLogicModel (Lockstep (ModelState R.Table))
32+
instance DynLogicModel (Lockstep (ModelState RealImplMockFS))
3333

3434
-- | An example of how dynamic logic formulas can be run.
3535
--
@@ -51,7 +51,7 @@ prop_example =
5151
tr = nullTracer
5252

5353
-- | Create an initial "large" table
54-
dl_example :: DL (Lockstep (ModelState R.Table)) ()
54+
dl_example :: DL (Lockstep (ModelState RealImplMockFS)) ()
5555
dl_example = do
5656
-- Create an initial table and fill it with some inserts
5757
var3 <- action $ New (PrettyProxy @((Key, Value, Blob))) (TableConfig {

0 commit comments

Comments
 (0)