Commit Graph

52 Commits

Author SHA1 Message Date
Michael Walker
07cb9f43e7 Turn internal errors into exceptions 2019-01-18 21:56:33 +00:00
Pepe Iborra
3f1f775bd7 Fix warnings 2018-12-01 10:14:11 +00:00
Pepe Iborra
44c9dfbe1c Fix incomplete pattern matches to avoid a MonadFail constraint 2018-11-26 22:00:40 +00:00
Michael Walker
65ac6ab18b Track how many buffered writes an IORef has 2018-07-15 11:32:28 +01:00
Michael Walker
039295ef41 Rename CRef to IORef 2018-07-01 12:45:43 +01:00
Michael Walker
ec11aa7baf Enable systemtic par monad test 2018-06-17 13:28:50 +01:00
Michael Walker
92c8d941e7 Do not consider safe IO dependent 2018-06-17 12:49:15 +01:00
Michael Walker
118d7780a6 Fix hlint errors 2018-06-17 11:21:43 +01:00
Michael Walker
f263166a45 Invert the predicate in notAlwaysSame
I think having `alwaysSameBy f` and `notAlwaysSameBy f` be inverse of
each other is better than `notAlwaysSameBy (\a b -> not (f a b))`.
2018-06-10 22:30:02 +01:00
Michael Walker
54d64a16b4 Add predicate unit tests 2018-06-10 22:30:02 +01:00
Michael Walker
d0f23f5818 Reject failures in alwaysSame/On/By 2018-06-10 14:28:49 +01:00
Michael Walker
73ff73b544 Add a couple of tests for inherited masking states
Closes #207
2018-06-10 03:29:50 +01:00
Michael Walker
a54813926e Remove very slow parmonad test
It's unfortunate, but this one test is causing travis to frequently
time out.
2018-06-10 01:42:35 +01:00
Michael Walker
6e727af8c7 Add tests for unmasking
Closes #212
2018-06-10 01:34:02 +01:00
Michael Walker
e8a056aa3b Add flag to Throw/ThrowTo showing if the thread was killed
Closes #190
2018-06-10 01:34:02 +01:00
Michael Walker
bcadf59378 Disable length bounding by default
Closes #258
2018-06-03 11:29:25 +01:00
Michael Walker
dd7a537a89 Remove swarmy
Closes #237
2018-06-03 02:46:00 +01:00
Michael Walker
92e5b4881a Add some tests around nested orElse/catchSTM
Closes #208
2018-05-02 22:09:54 +01:00
Michael Walker
feb8358861 Add tests for discard function monoids 2018-04-29 01:13:49 +01:00
Michael Walker
3c18259923 Turn on -Werror in test CI builds 2018-03-26 12:05:32 +01:00
Michael Walker
4f4aa08fcb Inline tasty-hedgehog dep into dejafu-tests 2018-03-24 23:14:04 +00:00
Michael Walker
2d8127774f Fix HLint errors 2018-03-24 23:14:04 +00:00
Michael Walker
b74661559b Fix some dejafu-tests warnings 2018-03-17 18:43:16 +00:00
Michael Walker
d51d1501e1 Remove 'Killed'
Closes #198
2018-03-17 18:12:44 +00:00
Michael Walker
6be0ce9d2a Drop use of MonadRef
Closes #201
2018-03-17 17:11:40 +00:00
Michael Walker
501447a2cf Rename model types to Model* 2018-03-15 12:44:52 +00:00
Michael Walker
f8ce6ef85a Add a setting to make some recoverable errors fatal 2018-03-12 18:43:48 +00:00
Michael Walker
19f3404d1d Correctly handle re-ordering forks and newCRefs in simplifier
Re-ordering forks will change thread IDs, and re-ordering newCRefs
will change CRef IDs (which will then change commit thread IDs when
executing under PSO).  So before we can execute a simplified trace, we
have to consistently renumber everything again.
2018-03-11 23:15:44 +00:00
Michael Walker
dd384f01de Implement basic semantics-preserving shrinking 2018-03-11 23:15:44 +00:00
Michael Walker
2c407b768a DepState does not track CRef buffers under SQ 2018-03-11 23:15:44 +00:00
Michael Walker
d54ce2f9c7 Add setNumCapabilities/setNumCapabilities dep
Closes #243
2018-03-11 16:41:03 +00:00
Michael Walker
053ce34682 Add tests for early-exit 2018-03-05 12:37:21 +00:00
Michael Walker
dccc2c7992 Use Settings throughout dejafu-tests 2018-03-04 15:00:16 +00:00
Kirill Zaborsky
bc198a5e13 Add tests for named threads, vars, and refs 2018-03-02 22:43:02 +03:00
Kirill Zaborsky
79a736bc1c Add tests for resultsSetXXX 2018-02-24 00:25:25 +03:00
Michael Walker
45a0ae02e1 Document how snapshotting interacts with IO 2018-02-22 19:00:44 +00:00
Michael Walker
0ce6d541e9 Automatically snapshot (when possible) in SCT 2018-02-22 19:00:44 +00:00
Michael Walker
dc48c0e058 Add tests for dontCheck 2018-02-22 19:00:44 +00:00
Kirill Zaborsky
7f5680bcd1 Add test for DiscardTrace 2018-02-21 01:07:23 +03:00
Michael Walker
1b5fca4b68 Introduce a helper function for property tests 2018-02-16 20:04:54 +00:00
Michael Walker
2fd9e9aae7 Replace QuickCheck tests with Hedgehog ones 2018-02-16 20:04:54 +00:00
Michael Walker
5cdbc7acad Replace LeanCheck tests with Hedgehog tests 2018-02-16 20:04:54 +00:00
Michael Walker
a5b478b74c Allow for each test type to specify its own Tasty options 2018-02-16 20:04:54 +00:00
Michael Walker
827317d970 Warn, lint, & style tests 2018-02-16 20:04:54 +00:00
Michael Walker
7b527a8793 Rearrange test hierarchy 2018-02-16 20:04:54 +00:00
Michael Walker
92cc44b548 Add tests for liftIO
Closes #93
2018-02-16 20:04:54 +00:00
Michael Walker
8bff75a167 Add dependency function property tests
The idea is that, if the dependency function is correct, then any
permutation of independent actions should give the same result.

In practice it's a little more complex, as the dependency function has
some special cases which are only valid because of how it is used.  So
an "independence" function which we can use to shuffle any trace
after-the-fact has to work around those cases.
2018-02-16 20:04:52 +00:00
Michael Walker
4202ebbec1 Consolidate test-running logic 2018-02-16 20:04:39 +00:00
Michael Walker
64d24dbe24 Migrate tests from test-framework to tasty 2018-02-16 20:04:20 +00:00
Michael Walker
bc7f69c2c7 Add a multithreaded capabilities test
Closes #96
2018-02-16 19:14:46 +00:00