Commit Graph

590 Commits

Author SHA1 Message Date
Michael Walker
15af09a406 Rexport mask_ and uninterruptibleMask_ from Conc.Class 2017-04-05 20:45:40 +01:00
Michael Walker
9a7a883ab9 Update cancel docs to mention blocking. 2017-04-05 20:36:53 +01:00
Michael Walker
dcddfa42a5 Merge pull request #77 from gamazeps/cancel
Make cancel blocking
2017-04-05 20:33:23 +01:00
Felix Raimundo
ed08975e3f Make cancel blocking
In the documentation of `cancel`, it is said to be blocking, waiting on
the cancelled `async` to die. It seems to me that is not the case.

This patch simply applies the code written by Simon Marlow in order
to wait for the termination of the `async`.

See:
https://hackage.haskell.org/package/async-2.1.1/docs/src/Control.Concurrent.Async.html#cancel
2017-04-05 16:44:08 +02:00
Michael Walker
5d8ada4a5f Move dependency function to Test.DejaFu.SCT.Internal. 2017-03-27 18:53:47 +01:00
Michael Walker
8394904831 Add note about performance profiling to README. 2017-03-20 19:27:42 +00:00
Michael Walker
80d00224c4 Use the https clone path for test-framework-hunit. 2017-03-20 18:54:24 +00:00
Michael Walker
743ae2e233 Add HUnit-1.6 support to hunit-dejafu. 2017-03-20 18:42:51 +00:00
Michael Walker
0e59d9aa40 Add a basic test for uninterruptible masks.
Closes #76.
2017-03-04 05:36:32 +00:00
Michael Walker
c2f8ffe473 Add some CAS tests.
Closes #75.
2017-03-04 05:28:29 +00:00
Michael Walker
32f6887a1b Add tests for throwing exceptions to the main thread.
Closes #74.
2017-03-04 05:28:29 +00:00
Michael Walker
61389f5875 Include the final failing action in the execution trace. 2017-03-04 05:28:29 +00:00
Michael Walker
7eda900d87 Only return 'UncaughtException' when the main thread is killed. 2017-03-04 05:28:29 +00:00
Michael Walker
a62c2df141 Add note on code coverage to README. 2017-03-04 05:28:28 +00:00
Michael Walker
6c7fb47cff Remove async-dejafu from travis. 2017-03-03 22:19:42 +00:00
Michael Walker
463efd3f8d Merge "async-dejafu" into "concurrency" + bump versions.
Closes #73.
2017-03-03 22:06:09 +00:00
Michael Walker
69e0890ecd Make Conc a MonadRef/MonadAtomicRef.
Closes #72.
2017-02-26 03:17:02 +00:00
Michael Walker
e33e2291f4 Add a note on breaking changes to "Contributing". 2017-02-26 03:16:52 +00:00
Michael Walker
90bc451d2a Bump to dejafu-0.5.1.1 2017-02-25 06:03:58 +00:00
Michael Walker
95eed7524c Add a test case to replicate issue 71. 2017-02-25 06:01:59 +00:00
Michael Walker
b3c96f1f99 Correctly update the prior action following subconcurrency.
Fixes #71.
2017-02-25 05:53:08 +00:00
Michael Walker
6c1ecfb715 Return the final decision from runConcurrent. 2017-02-25 05:44:29 +00:00
Michael Walker
3efc8acaed Throw error in incorporateTrace if no to-do points. 2017-02-25 05:33:29 +00:00
Michael Walker
0079254b8b Bump to dejafu-0.5.1.0 2017-02-25 01:16:46 +00:00
Michael Walker
332f93d0bd Add strict variants of runSCT and resultsSet. 2017-02-25 01:13:44 +00:00
Michael Walker
78c26b3636 Bring back the NFData instances. 2017-02-25 01:13:44 +00:00
Michael Walker
730ae46609 Derive some missing Eq instances. 2017-02-25 01:13:44 +00:00
Michael Walker
5f555b9f61 Bump dejafu to 0.5.0.2. 2017-02-22 17:17:23 +00:00
Michael Walker
5a667c8136 Introduce an action to end subconcurrency.
Closes #67.
2017-02-22 16:54:49 +00:00
Michael Walker
e274af1664 Give same an explicit type annotation.
Closes #66.
2017-02-22 16:24:24 +00:00
Michael Walker
5e218b91e9 Inherit the number of capabilities in a subconcurrent environment.
Closes #68.
2017-02-22 16:24:24 +00:00
Michael Walker
673a7bb659 Bump to dejafu-0.5.0.1 2017-02-21 05:19:16 +00:00
Michael Walker
5e00918e57 WillReadMVar is a release action as the thread may block. 2017-02-21 05:18:07 +00:00
Michael Walker
300d1d462a Unify Ref/CRef/Var/MVar naming.
This was a holdover from old-dejafu, where there were CRefs and CVars,
so referring to them as "Ref" and "Var" everywhere made sense as a
convenient shorthand. But then "CVar" became "MVar" and the convention
made less sense.
2017-02-21 00:00:37 +00:00
Michael Walker
12335e0090 Add tryReadMVar to MonadConc and dejafu.
Also pins the version of "concurrency" that dejafu depends on down to
the third digit, as additions to `MonadConc` will break dejafu.

Closes #62.
2017-02-20 23:42:08 +00:00
Michael Walker
285bf3ed87 Remove unused indexing feature of findSchedulePrefix. 2017-02-20 21:15:23 +00:00
Michael Walker
f9da4c43a9 Remove unused imports. 2017-02-20 20:28:25 +00:00
Michael Walker
110629f353 Derive Eq for ThreadAction and Lookahead. 2017-02-20 20:28:25 +00:00
Michael Walker
336199e75b Drop _concMessage from MonadConc.
Closes #63.
2017-02-20 20:28:17 +00:00
Michael Walker
71cb670083 Merge branch 'weighted-random' 2017-02-20 04:44:39 +00:00
Michael Walker
f2c6dc69f3 Add tests for random sctRandom. 2017-02-20 04:41:36 +00:00
Michael Walker
f5bf9da038 Update dejafu-tests for new hunit-dejafu interface. 2017-02-20 03:23:46 +00:00
Michael Walker
fdc0190d25 Expose Way in tasty-dejafu.
Finally bump the minimum version of dejafu in tasty-dejafu too!
2017-02-20 03:17:22 +00:00
Michael Walker
c6346b7104 Expose Way in hunit-dejafu.
This (finally!) bumps the minimum version of dejafu in hunit-dejafu.
2017-02-20 03:02:33 +00:00
Michael Walker
858f286e05 Move defaults from Test.DejaFu.SCT to Test.DejaFu. 2017-02-20 02:08:38 +00:00
Michael Walker
a240b48d1f Generalise all dejafu*' functions to work with any Way. 2017-02-20 02:05:19 +00:00
Michael Walker
bc8b123cdd Add an abstraction over 'sctBound' and 'sctRandom'. 2017-02-20 01:50:12 +00:00
Michael Walker
6c8ef4ca09 Implement a weighted random scheduler. 2017-02-20 01:03:18 +00:00
Michael Walker
c06615b001 Merge 'sctBound' and 'sctBounded'. 2017-02-20 00:45:51 +00:00
Michael Walker
75d2b6ca73 Merge branch 'subconcurrency' 2017-02-18 20:45:15 +00:00