Michael Walker
039295ef41
Rename CRef to IORef
2018-07-01 12:45:43 +01:00
Michael Walker
20178ef751
Prepare dejafu, hunit-dejafu, and tasty-dejafu release
2018-03-06 17:25:49 +00:00
Michael Walker
89c14ff2f7
Add *WithSettings to Test.Tasty.DejaFu and deprecate *Discard
2018-03-04 12:38:51 +00:00
Michael Walker
c36685b53e
Make all settings other than Way and MemType optional
2018-03-04 02:56:08 +00:00
Michael Walker
b61cc71d36
Prepare for tasty-dejafu-1.0.1.0 release
2018-02-13 18:57:19 +00:00
Michael Walker
a366b812d0
Clarify role of discard function in Tasty testDejafusDiscard
2018-02-13 18:45:20 +00:00
Andreas Herrmann
1ad606b6a5
testDejafusDiscard
takes a list of predicates
2018-02-13 12:03:42 +01: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
fa1836c3a8
Add missing haddock @since annotations
2017-11-30 22:08:38 +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
4d05ef6798
Release
2017-08-10 21:51:11 +01:00
Michael Walker
b99caea84c
Expose discard functions from Test.Tasty.DejaFu
2017-08-10 16:55:06 +01:00
Michael Walker
a0a5a493d5
Bump versions for release
2017-06-07 17:09:01 +01:00
Michael Walker
6bc2fd044f
Remove unused imports
2017-06-07 16:59:24 +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
2d97030abe
tasty-dejafu-0.5.0.0
2017-04-08 21:18:20 +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
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
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
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
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
2aa2b8f447
Unify IO and ST instances
...
Closes #44
2016-07-21 19:33:49 +01:00
Michael Walker
d4cb712b50
Make everything build with GHC 8
2016-05-26 13:54:13 +01:00
Michael Walker
f4bcf51709
Add IsTest and IsOption instances to tasty-dejafu
2016-04-28 23:18:17 +01:00
Michael Walker
3334928acf
Make tasty-dejafu work with 0.2 and 0.3
2016-04-28 17:09:46 +01:00
Michael Walker
539be21df5
Make tasty-dejafu work with new Trace type
2016-04-03 05:48:53 +01:00
Michael Walker
5acab89d6d
Add support for named threads in testing.
...
This is such a huge change because I had made a LOT of assumptions
about thread IDs being numbers. I also took the opportunity to do
a bit of refactoring with CRef and CVar identifiers.
2016-02-09 18:37:50 +00:00
Michael Walker
5371e74ff0
Make PFL bounding the default
2015-11-30 22:06:43 +00:00
Michael Walker
49a903c6e3
Add newtype for preemption bounds and fair bounds
2015-11-17 19:29:35 +00:00
Michael Walker
24faa57f29
Only show representative failures in autocheck
2015-11-12 14:56:32 +00:00
Michael Walker
06a63dcc33
Merge Conc and ConcIO implementations
2015-11-07 18:07:10 +00:00
Michael Walker
5f78dc5b99
Remove the 't' type parameter from STMIO and ConcIO
2015-11-07 17:19:40 +00:00