tasty 0.2 → 0.3
raw patch · 2 files changed
+11/−3 lines, 2 filesdep ~basedep ~mtldep ~stm
Dependency ranges changed: base, mtl, stm, tagged
Files
- Test/Tasty/Parallel.hs +8/−0
- tasty.cabal +3/−3
Test/Tasty/Parallel.hs view
@@ -5,6 +5,7 @@ import Control.Concurrent import Control.Concurrent.STM import Control.Exception+import Foreign.StablePtr -- | Take a list of actions and execute them in parallel, no more than @n@ -- at the same time@@ -20,6 +21,13 @@ -- threads are by definition unexpected. runInParallel nthreads actions = do callingThread <- myThreadId++ -- Don't let the main thread be garbage-collected+ -- Otherwise we may get a "thread blocked indefinitely in an STM+ -- transaction" exception when a child thread is blocked and GC'd.+ -- (See e.g. https://github.com/feuerbach/tasty/issues/15)+ _ <- newStablePtr callingThread+ -- A variable containing all ThreadIds of forked threads. -- -- These are the threads we'll need to kill if something wrong happens.
tasty.cabal view
@@ -2,7 +2,7 @@ -- see http://haskell.org/cabal/users-guide/ name: tasty-version: 0.2+version: 0.3 synopsis: Modern and extensible testing framework description: See <http://documentup.com/feuerbach/tasty> license: MIT@@ -39,10 +39,10 @@ Test.Tasty.UI build-depends: base ==4.*,- stm,+ stm >= 2.3, containers, mtl,- tagged,+ tagged >= 0.5, regex-posix, optparse-applicative >= 0.5