packages feed

dejafu 2.1.0.2 → 2.1.0.3

raw patch · 3 files changed

+19/−12 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Test.DejaFu.SCT.Internal.DPOR: initialDPORThread :: DPOR -> ThreadId

Files

CHANGELOG.rst view
@@ -6,6 +6,17 @@  .. _PVP: https://pvp.haskell.org/ +2.1.0.3 (2020-02-29)+--------------------++* Git: :tag:`dejafu-2.1.0.3`+* Hackage: :hackage:`dejafu-2.1.0.3`++Fixed+~~~~~++* Fixed an internal error message.+  2.1.0.2 (2020-02-29) --------------------
Test/DejaFu/SCT/Internal/DPOR.hs view
@@ -75,7 +75,7 @@     | not (todo `S.isSubsetOf` runnable) = fatal "thread exists in todo set but not runnable set"     | not (done `S.isSubsetOf` runnable) = fatal "thread exists in done set but not runnable set"     | not (taken `S.isSubsetOf` done) = fatal "thread exists in taken set but not done set"-    | not (todo `disjoint` done) = fatal "thread exists in both taken set and done set"+    | not (todo `disjoint` done) = fatal "thread exists in both todo set and done set"     | not (maybe True (`S.member` done) next) = fatal "taken thread does not exist in done set"     | otherwise = dpor   where@@ -166,14 +166,14 @@   -- ^ The initial concurrency state   -> DPOR   -> DPOR-incorporateTrace safeIO memtype conservative trace state0 dpor0 = grow state0 (initialDPORThread dpor0) trace dpor0 where-  grow state tid trc@((d, _, a):rest) dpor =+incorporateTrace safeIO memtype conservative = grow initialThread where+  grow tid trc@((d, _, a):rest) state dpor =     let tid'   = tidOf tid d         state' = updateCState memtype state tid' a     in case dporNext dpor of          Just (t, child)            | t == tid' ->-             validateDPOR $ dpor { dporNext = Just (tid', grow state' tid' rest child) }+             validateDPOR $ dpor { dporNext = Just (tid', grow tid' rest state' child) }            | hasTodos child -> fatal "replacing child with todos!"          _ -> validateDPOR $            let taken = M.insert tid' a (dporTaken dpor)@@ -183,7 +183,7 @@                    , dporNext  = Just (tid', subtree state' tid' sleep trc)                    , dporDone  = S.insert tid' (dporDone dpor)                    }-  grow _ _ [] _ = fatal "trace exhausted without reading a to-do point!"+  grow _ _ _ _ = fatal "trace exhausted without reading a to-do point!"    -- check if there are to-do points in a tree   hasTodos dpor = not (M.null (dporTodo dpor)) || (case dporNext dpor of Just (_, dpor') -> hasTodos dpor'; _ -> False)@@ -210,7 +210,7 @@           ((d', _, a'):_) -> M.singleton (tidOf tid d') a'           [] -> M.empty         }-  subtree _ _ _ [] = fatal "subtree suffix empty!"+  subtree _ _ _ _ = fatal "subtree suffix empty!"  -- | Produce a list of new backtracking points from an execution -- trace. These are then used to inform new \"to-do\" points in the@@ -673,10 +673,6 @@  ------------------------------------------------------------------------------- -- * Utilities---- The initial thread of a DPOR tree.-initialDPORThread :: DPOR -> ThreadId-initialDPORThread = S.elemAt 0 . dporRunnable  -- | Check if a thread yielded. didYield :: ThreadAction -> Bool
dejafu.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                dejafu-version:             2.1.0.2+version:             2.1.0.3 synopsis:            A library for unit-testing concurrent programs.  description:@@ -33,7 +33,7 @@ source-repository this   type:     git   location: https://github.com/barrucadu/dejafu.git-  tag:      dejafu-2.1.0.2+  tag:      dejafu-2.1.0.3  library   exposed-modules:     Test.DejaFu