From b366a43d68f53bd4b092edb483241a2a1f48fad7 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Wed, 25 Aug 2021 02:09:36 +0200 Subject: [PATCH] Add a simpler test case for awaiting an AsyncVar --- test/Quasar/AwaitableSpec.hs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/Quasar/AwaitableSpec.hs b/test/Quasar/AwaitableSpec.hs index 4101f3f..9016cfa 100644 --- a/test/Quasar/AwaitableSpec.hs +++ b/test/Quasar/AwaitableSpec.hs @@ -74,6 +74,13 @@ spec = parallel $ do xit "can continue after awaiting an already finished operation" $ do withDefaultAsyncManager (await =<< async (pure 42 :: AsyncIO Int)) `shouldReturn` 42 + it "can await the result of an async that is completed later" $ do + avar <- newAsyncVar :: IO (AsyncVar ()) + void $ forkIO $ do + threadDelay 100000 + putAsyncVar_ avar () + withDefaultAsyncManager (await avar) + it "can fmap the result of an already finished async" $ do avar <- newAsyncVar :: IO (AsyncVar ()) putAsyncVar_ avar () -- GitLab