Commit Graph

842 Commits

Author SHA1 Message Date
Michael Walker
5237effb06 concurrency-1.4.0.0 / dejafu-1.0.0.1 joint release 2018-01-19 17:13:45 +00:00
Michael Walker
864fb2e823 Add note about instance deriving to website 2018-01-19 17:02:03 +00:00
Michael Walker
7a13b106d9 Add note about instance deriving to Monad{Conc,STM} docs 2018-01-19 16:45:38 +00:00
Michael Walker
d62f0c24d8 Make it possible to derive MonadConc instances 2018-01-19 16:30:04 +00:00
Michael Walker
ebfe250ee7 tasty-dejafu-1.0.0.1 release 2018-01-09 10:49:06 +00:00
Michael Walker
f7ed31da32 Bump upper bound of tasty to 1.1 2018-01-09 10:46:57 +00:00
Michael Walker
fdbcb8b375 tasty-dejafu-1.0.0.0 release 2017-12-23 13:18:20 +00:00
Michael Walker
327e3af558 hunit-dejafu-1.0.0.0 release 2017-12-23 13:17:10 +00:00
Michael Walker
a4e3073fc6 dejafu-1.0.0.0 release 2017-12-23 13:15:17 +00:00
Michael Walker
1fc895cbd5 concurrency-1.3.0.0 release 2017-12-23 13:13:47 +00:00
Michael Walker
e0304f1b5a Use LTS-10 in tooling (travis & stack) 2017-12-23 13:12:30 +00:00
Michael Walker
a6cb99eb55
Merge pull request #170 from vaibhavsagar/travis-lts-10
.travis.yml: build with LTS-10
2017-12-23 12:59:27 +00:00
Michael Walker
878a008ddb Build dejafu-tests with -rtsopts 2017-12-23 12:54:35 +00:00
Michael Walker
4e0c978751
Merge pull request #157 from barrucadu/next-supermajor
The Big 1.0
2017-12-23 12:51:28 +00:00
Vaibhav Sagar
e8c02480b6 .travis.yml: build with LTS-10 2017-12-23 11:08:47 +08:00
Michael Walker
60215578b7 Track full MVars in the dependency state
Before:

   105,910,870,840 bytes allocated in the heap
    24,834,921,776 bytes copied during GC
        17,775,024 bytes maximum residency (7973 sample(s))
           674,464 bytes maximum slop
                50 MB total memory in use (0 MB lost due to fragmentation)

                                       Tot time (elapsed)  Avg pause  Max pause
    Gen  0     196263 colls,     0 par   43.085s  43.734s     0.0002s    0.0225s
    Gen  1      7973 colls,     0 par   21.953s  22.359s     0.0028s    0.0778s

    TASKS: 204933 (204929 bound, 4 peak workers (4 total), using -N1)

    SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)

    INIT    time    0.001s  (  0.001s elapsed)
    MUT     time  127.384s  (138.737s elapsed)
    GC      time   65.038s  ( 66.093s elapsed)
    EXIT    time    0.000s  (  0.000s elapsed)
    Total   time  192.517s  (204.831s elapsed)

After:

    89,073,483,552 bytes allocated in the heap
    20,134,704,256 bytes copied during GC
        13,426,968 bytes maximum residency (6623 sample(s))
           265,720 bytes maximum slop
                38 MB total memory in use (0 MB lost due to fragmentation)

                                       Tot time (elapsed)  Avg pause  Max pause
    Gen  0     165191 colls,     0 par   34.872s  35.319s     0.0002s    0.0111s
    Gen  1      6623 colls,     0 par   17.515s  17.831s     0.0027s    0.0509s

    TASKS: 173871 (173867 bound, 4 peak workers (4 total), using -N1)

    SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)

    INIT    time    0.001s  (  0.001s elapsed)
    MUT     time  104.495s  (113.498s elapsed)
    GC      time   52.387s  ( 53.150s elapsed)
    EXIT    time    0.001s  (  0.001s elapsed)
    Total   time  156.991s  (166.650s elapsed)

Closes #168
2017-12-21 08:13:17 +00:00
Michael Walker
d3419845d3 Split Test.DejaFu.SCT.Internal up 2017-12-13 07:24:18 +00:00
Michael Walker
4a4baec1d9 Be explicit about bound threads in test execution in docs 2017-12-13 07:24:18 +00:00
Michael Walker
ade267c166 Record the result in IsCurrentThreadBound 2017-12-13 07:24:18 +00:00
Michael Walker
a3954f3179 Add a migration guide
Closes #149
2017-12-13 07:24:18 +00:00
Michael Walker
32016d4e64 More docs tweaks 2017-12-13 07:24:18 +00:00
Michael Walker
e36b72dd51 Fix a name shadowing warning 2017-12-13 07:24:18 +00:00
Michael Walker
45117b0655 Remove an unused import 2017-12-13 07:24:18 +00:00
Michael Walker
d570f524a1 Do not export _other from Test.DejaFu.Types 2017-12-13 07:24:18 +00:00
Michael Walker
dfd9017861 Do not export Decision, NonEmpty, tidOf, or decisionOf from Schedule 2017-12-13 07:24:18 +00:00
Michael Walker
f310c60bc5 Update copyright years 2017-12-13 07:24:18 +00:00
Michael Walker
cdbf30dec3 Do not include the current thread in trace lists of alternatives
Closes #121
2017-12-13 07:24:18 +00:00
Michael Walker
c1046268e8 Reduce code duplication in *Id types
Closes #137
2017-12-13 07:24:18 +00:00
Michael Walker
4ae16eab64 Make Test.DejaFu.STM an internal module 2017-12-12 14:07:22 +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
988032c9a2 Replace "alwaysTrue2" with "alwaysSameOn" and "alwaysSameBy" 2017-12-12 14:07:22 +00:00
Michael Walker
a30e1617b9 Do not wait for interference thread to terminate 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
3a534f70fa Add helpers to lift Maybe functions to ProPredicates 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
3348c4705c Add bound-thread async function variants 2017-12-12 14:06:59 +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
0c8e387339 dejafu-0.9.1.2 release 2017-12-12 13:51:34 +00:00
Michael Walker
94dfe4b61a Update leancheck dependency 2017-12-12 13:50:35 +00:00
Michael Walker
8c2bf9d784 dejafu-0.9.1.1 release 2017-12-08 14:25:10 +00:00
Michael Walker
4791333dc0 Reduce default number of quickcheck tests in dejafu-tests 2017-12-08 14:21:51 +00:00
Michael Walker
455a0f4ba7 Fix depstate being one step out of sync in backtracking
Fixes #161
2017-12-08 14:21:51 +00:00
Michael Walker
be64ba90ab Add weeder exclude rules for optional dependencies 2017-12-08 14:20:39 +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