on develop help sign in
Remove unsafePerformIO from Reflex.Test.CrossImpl

We can just use IO here.

commit0b39773c1a74fc38cef44f015641e62c853dc155 authorMatthew Bauer <mjbauer95@gmail.com> dateWed 5 Feb 2020, 13:02 (7 years ago) parentfaf91d2
1 file changed+2−4
test/Reflex/Test/CrossImpl.hs+2−4
test/Reflex/Test/CrossImpl.hs+2−4
@@ -36,8 +36,6 @@ import Data.Traversable
3636import System.Exit
3737import System.Mem
3838
39−import System.IO.Unsafe
40−
4139mapToPureBehavior :: Map Int a -> Behavior PureReflexDomain a
4240mapToPureBehavior m = P.Behavior $ \t -> case Map.lookupLE t m of
4341 Nothing -> error $ "mapToPureBehavior: no value for time " <> show t
@@ -106,9 +104,9 @@ testAgreement :: (Eq c, Eq d, Show c, Show d) => (forall m t. TestCaseConstraint
106104testAgreement builder inputs = do
107105 let identityResult = testPure builder inputs
108106 tracePerf "---------" $ return ()
109− let spiderResult = unsafePerformIO $ S.runSpiderHost $ testTimeline builder inputs
107+ spiderResult <- S.runSpiderHost $ testTimeline builder inputs
110108 tracePerf "---------" $ return ()
111− let profiledResult = unsafePerformIO $ S.runSpiderHost $ Prof.runProfiledM $ testTimeline builder inputs
109+ profiledResult <- S.runSpiderHost $ Prof.runProfiledM $ testTimeline builder inputs
112110 tracePerf "---------" $ return ()
113111 let resultsAgree = identityResult == spiderResult && identityResult == profiledResult
114112 if resultsAgree