Skip to content

Commit b23e396

Browse files
committed
Add timeouts to hanging tests
1 parent d543f18 commit b23e396

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

tests/Properties/HashMapLazy.hs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,31 +255,42 @@ tests =
255255
[ testProperty "model" $
256256
\(x :: HMKI) y -> HM.isSubmapOf x y === M.isSubmapOf (toOrdMap x) (toOrdMap y)
257257
, testProperty "m ⊆ m" $
258-
\(x :: HMKI) -> HM.isSubmapOf x x
258+
\(x :: HMKI) -> QC.within 1000000 $ HM.isSubmapOf x x
259259
, testProperty "m1 ⊆ m1 ∪ m2" $
260-
\(x :: HMKI) y -> HM.isSubmapOf x (HM.union x y)
260+
\(x :: HMKI) y -> QC.within 1000000 $ HM.isSubmapOf x (HM.union x y)
261261
, testProperty "m1 ⊈ m2 ⇒ m1 ∪ m2 ⊈ m1" $
262-
\(m1 :: HMKI) m2 -> not (HM.isSubmapOf m1 m2) ==> HM.isSubmapOf m1 (HM.union m1 m2)
262+
\(m1 :: HMKI) m2 ->
263+
QC.within 1000000 $
264+
not (HM.isSubmapOf m1 m2) ==> HM.isSubmapOf m1 (HM.union m1 m2)
263265
, testProperty "m1\\m2 ⊆ m1" $
264-
\(m1 :: HMKI) (m2 :: HMKI) -> HM.isSubmapOf (HM.difference m1 m2) m1
266+
\(m1 :: HMKI) (m2 :: HMKI) ->
267+
QC.within 1000000 $
268+
HM.isSubmapOf (HM.difference m1 m2) m1
265269
, testProperty "m1 ∩ m2 ≠ ∅ ⇒ m1 ⊈ m1\\m2 " $
266270
\(m1 :: HMKI) (m2 :: HMKI) ->
271+
QC.within 1000000 $
267272
not (HM.null (HM.intersection m1 m2)) ==>
268273
not (HM.isSubmapOf m1 (HM.difference m1 m2))
269274
, testProperty "delete k m ⊆ m" $
270275
\(m :: HMKI) ->
276+
QC.within 1000000 $
271277
not (HM.null m) ==>
272278
QC.forAll (QC.elements (HM.keys m)) $ \k ->
273279
HM.isSubmapOf (HM.delete k m) m
274280
, testProperty "m ⊈ delete k m " $
275281
\(m :: HMKI) ->
282+
QC.within 1000000 $
276283
not (HM.null m) ==>
277284
QC.forAll (QC.elements (HM.keys m)) $ \k ->
278285
not (HM.isSubmapOf m (HM.delete k m))
279286
, testProperty "k ∉ m ⇒ m ⊆ insert k v m" $
280-
\k v (m :: HMKI) -> not (HM.member k m) ==> HM.isSubmapOf m (HM.insert k v m)
287+
\k v (m :: HMKI) ->
288+
QC.within 1000000 $
289+
not (HM.member k m) ==> HM.isSubmapOf m (HM.insert k v m)
281290
, testProperty "k ∉ m ⇒ insert k v m ⊈ m" $
282-
\k v (m :: HMKI) -> not (HM.member k m) ==> not (HM.isSubmapOf (HM.insert k v m) m)
291+
\k v (m :: HMKI) ->
292+
QC.within 1000000 $
293+
not (HM.member k m) ==> not (HM.isSubmapOf (HM.insert k v m) m)
283294
]
284295
-- Combine
285296
, testGroup "union"

tests/Regressions.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{-# LANGUAGE BinaryLiterals #-}
22
{-# LANGUAGE CPP #-}
33
{-# LANGUAGE MagicHash #-}
4+
{-# LANGUAGE NumericUnderscores #-}
45
{-# LANGUAGE ScopedTypeVariables #-}
56
{-# LANGUAGE TypeApplications #-}
67
{-# LANGUAGE UnboxedTuples #-}
@@ -20,7 +21,7 @@ import System.Mem.Weak (deRefWeak, mkWeakPtr)
2021
import System.Random (randomIO)
2122
import Test.HUnit (Assertion, assert)
2223
import Test.QuickCheck
23-
import Test.Tasty (TestTree, testGroup)
24+
import Test.Tasty (TestTree, localOption, mkTimeout, testGroup)
2425
import Test.Tasty.HUnit (testCase)
2526
import Test.Tasty.QuickCheck (testProperty)
2627

@@ -267,7 +268,7 @@ issue420 = do
267268
-- Issue 491
268269

269270
issue491 :: TestTree
270-
issue491 = testGroup "issue491" $
271+
issue491 = localOption (mkTimeout 1_000_000) $ testGroup "issue491" $
271272
[ testCase "1" $ assert $ m [0, -1] `HML.isSubmapOf` m [0, -1]
272273
, testCase "2" $ assert $ m [1, 0b11111] `HML.isSubmapOf` m [1, 0b11111]
273274
, testCase "3" $ assert $ m [1, 0b11111] `HML.isSubmapOf` m [1, 0b11111, 42]

0 commit comments

Comments
 (0)