Skip to content

Commit a285e36

Browse files
committed
Fix shrinkLogicalPageSummary
It was shrinking two values at the same time, which won't always lead to minimal counterexamples.
1 parent c8a3da5 commit a285e36

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src-extras/Database/LSMTree/Extras/Generators.hs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,9 +256,14 @@ toAppend (MultiPageOneKey k n) = AppendMultiPage k n
256256
shrinkLogicalPageSummary :: Arbitrary k => LogicalPageSummary k -> [LogicalPageSummary k]
257257
shrinkLogicalPageSummary = \case
258258
OnePageOneKey k -> OnePageOneKey <$> shrink k
259-
OnePageManyKeys k1 k2 -> OnePageManyKeys <$> shrink k1 <*> shrink k2
260-
MultiPageOneKey k n -> [MultiPageOneKey k' n | k' <- shrink k]
261-
<> [MultiPageOneKey k n' | n' <- shrink n]
259+
OnePageManyKeys k1 k2 -> [
260+
OnePageManyKeys k1' k2'
261+
| (k1', k2') <- shrink (k1, k2)
262+
]
263+
MultiPageOneKey k n -> [
264+
MultiPageOneKey k' n'
265+
| (k', n') <- shrink (k, n)
266+
]
262267

263268
{-------------------------------------------------------------------------------
264269
Sequences of (logical\/true) pages

0 commit comments

Comments
 (0)