Commit Graph

78 Commits

Author SHA1 Message Date
Michael Walker
9cc01477de Prepare for hunit-dejafu-1.0.1.0 release 2018-02-13 18:57:19 +00:00
Michael Walker
7fcebe366c Add CHANGELOG entries 2018-02-13 18:57:19 +00:00
Michael Walker
0ae3bc42c1 Add testDejafusDiscard to HUnit 2018-02-13 18:57:19 +00:00
Michael Walker
327e3af558 hunit-dejafu-1.0.0.0 release 2017-12-23 13:17:10 +00:00
Michael Walker
f310c60bc5 Update copyright years 2017-12-13 07:24:18 +00:00
Michael Walker
81bcb5a351 Split up Test.DejaFu.Common 2017-12-12 14:07:22 +00:00
Michael Walker
5ee2590f0e Rework docs
Closes #146
Closes #147
Closes #156
2017-12-12 14:07:22 +00:00
Michael Walker
020e3967f7 Change order of arguments to test functions
1. Discard function (if present)
2. Way              (if present)
3. Memory type      (if present)
4. Name of test
5. Predicate
6. Action

For multi-predicate functions, 4 and 5 are replaced with a list.
2017-12-12 14:07:22 +00:00
Michael Walker
6644bf76ef Remove _casesChecked from Result
It's now almost meaningless how many cases were examined before
finding a failure given that, ideally, only failures will be returned
at all.
2017-12-12 14:07:22 +00:00
Michael Walker
db95dde7df Give predicates discard functions 2017-12-12 14:07:22 +00:00
Michael Walker
6eaae0a589 Wrap predicate functions in a newtype & separate ty params
Also adds a Functor and Profunctor instance for predicates.  The old
predicate type is kept as an alias for the (common) case where both
tyvars are the same.
2017-12-12 14:07:22 +00:00
Michael Walker
45256193c0 Implement bound threads
This also adds forkOS(N) and isCurrentThreadBound to MonadConc, a
breaking change.

Note: forkOSWithUnmask(N) is NOT added to MonadConc, as it isn't
supported in base-4.8 (GHC 7.10).  See #132 for the action on this.

A bound thread under test gets a dedicated worker thread, which is
forked bound using the underlying MonadConc.  This worker is used for
all lifted actions, with execution as normal otherwise.
2017-12-12 14:06:59 +00:00
Michael Walker
31d29c11ea Require a 'MonadConc n' instance to run 'ConcT r n' expressions
This is preparation for adding bound threads.  The instance isn't used
in this commit, but the diff is large enough that I feel this should
be a separate commit for ease of review.

Fallout:

- The MonadBaseControl IO instance is gone, as I'm not sure how to do
  it generally.
- The pure/IO split is gone, everything is now monadic.
- The execution, SCT, and dejafu functions are of the form (MonadConc
  n, MonadRef r n) => ...
2017-12-12 14:06:59 +00:00
Michael Walker
99cae72b42 Pick version numbers for next-supermajor release 2017-12-12 14:06:59 +00:00
Michael Walker
d750342c77 hunit-dejafu-0.7.1.1 and tasty-dejafu-0.7.1.1 releases 2017-11-30 22:08:56 +00:00
Michael Walker
fa1836c3a8 Add missing haddock @since annotations 2017-11-30 22:08:38 +00:00
Michael Walker
82966c43f3 hunit-dejafu-0.7.1.0 and tasty-dejafu-0.7.1.0 releases 2017-11-30 21:43:12 +00:00
Michael Walker
417415937a Add testPropertyFor to {hunit,tasty}-dejafu
Closes #159
2017-11-30 21:40:25 +00:00
Michael Walker
a0801d65eb Fix new hlint warnings 2017-11-20 19:25:48 +00:00
Michael Walker
fa7d4bf445 Use MIN_TOOL_VERSION_ghc rather than __GLASGOW_HASKELL_ 2017-10-28 17:26:52 +01:00
Michael Walker
31c4b9606a dejafu-0.9.0.0 & {tasty,hunit}-dejafu-0.7.0.2 releases 2017-10-11 10:34:26 +01:00
Michael Walker
6c4e64007f Release dejafu-0.8.0.0, {hunit,tasty}-dejafu-0.7.0.1 2017-09-26 17:22:08 +01:00
Michael Walker
b0f6aa5c7e Adjust changelog format 2017-08-19 16:38:39 +01:00
Michael Walker
4d05ef6798 Release 2017-08-10 21:51:11 +01:00
Michael Walker
3ab42c4936 Expose discard functions from Test.HUnit.DejaFu 2017-08-10 16:45:29 +01:00
Michael Walker
a0a5a493d5 Bump versions for release 2017-06-07 17:09:01 +01:00
Michael Walker
6b1fd17024 Implement uniform random scheduling
Adds a new `uniformly` smart constructor and `sctUniformRandom`
function.

Also renames `sctRandom` to `sctWeightedRandom`.
2017-06-07 16:50:56 +01:00
Michael Walker
1146ce9b38 Add a smart constructor for constructing swarmy executions
The `randomly` constructor now corresponds exactly to the old
`Randomly`.

Also refactor tests a bit.
2017-06-07 16:50:56 +01:00
Michael Walker
fba26e6c73 Make Way abstract and expose smart constructors 2017-06-07 16:50:56 +01:00
Michael Walker
d65b8359a9 Allow re-using the weights for multiple executions in sctRandom 2017-06-07 16:45:43 +01:00
Michael Walker
748a55d813 Re-export Test.DejaFu.Refinement from Test.DejaFu 2017-06-07 14:25:55 +01:00
Michael Walker
e785e51ddc Expose refinement properties in hunit-dejafu and tasty-dejafu 2017-06-07 14:20:04 +01:00
Michael Walker
9af76cc4f2 hunit-dejafu-0.5.0.0 2017-04-08 21:15:32 +01:00
Michael Walker
d3062234fa Make Way a GADT.
Closes #65.
2017-04-08 20:57:25 +01:00
Michael Walker
9c33eff1f7 Add Haddock @since annotations to everything in dejafu/hunit/tasty 2017-04-08 20:21:22 +01:00
Michael Walker
5f9ad29b1b Include READMEs in cabal sdists.
Closes #79.
2017-04-08 10:30:58 +01:00
Michael Walker
cc27e03d6d Use stylish-haskell to format import lists. 2017-04-08 05:42:25 +01:00
Michael Walker
5cd55a1921 Add an HLint2 config file & fix warnings. 2017-04-08 05:42:25 +01:00
Michael Walker
de8ced69a6 Fiddle with changelog format. 2017-04-07 20:05:11 +01:00
Michael Walker
60f771d50e Write changelogs. 2017-04-07 18:16:30 +01:00
Michael Walker
743ae2e233 Add HUnit-1.6 support to hunit-dejafu. 2017-03-20 18:42:51 +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
5accde895e Specialise types in 'Test.DPOR.Internal' and rename.
This breaks backwards compatibility, as things which were polymorphic
are no longer.
2016-12-05 07:36:00 +00:00
Michael Walker
be5c51df3d HUnit-1.4/5 compat. 2016-10-22 14:36:10 +01:00
Michael Walker
e1162dc033 Add missing module headers to {hunit,tasty}-dejafu. 2016-08-26 11:16:59 +01:00
Michael Walker
75fbad38a1 Rename Deterministic to Conc.
Closes #45
2016-07-21 19:33:49 +01:00
Michael Walker
2f0f51ceb6 Split concurrency modules into a separate package.
The new 'concurrency' package is starting at version 1.0.0.0 because the
API is already very mature (copied from base).

This breaks the dejafu-0.2 compatibility of async-dejafu.

Closes #51.
2016-07-21 19:33:49 +01:00
Michael Walker
2aa2b8f447 Unify IO and ST instances
Closes #44
2016-07-21 19:33:49 +01:00
Michael Walker
70bcad4615 Bump versions for 0.4.0.0 release 2016-07-21 19:33:46 +01:00
Michael Walker
232e7e5f40 Bump version numbers 2016-05-26 14:02:07 +01:00