quickcheck-state-machine v0.7.0 Release Notes
Release Date: 2020-03-17 // about 4 years ago-
Add Stack resolver lts-15 and drop lts-11;
High-level interface to the state machine API (PR #355) -- this captures the patterns described in http://www.well-typed.com/blog/2019/01/qsm-in-depth/ as a proper Haskell abstraction;
Experimental support for Markov chain-base command generation and reliability calculations;
forAllParallelCommands now gets another argument with type Maybe Int, indicating the minimum number of commands we want a test case to have.
Nothing
provides old functionality;Fixed a bug in the parallel case for the mock function (PR #348) and other bugs related to references in the parallel case;
Add a new field in the StateMachine called cleanup. This function can be used to ensure resources are cleaned between tests.
noCleanup
can be used to achieve the older functionality;Improved labelling;
Generalize parallelism, so that more than two threads can be used (PR #324);
Option to print dot visualisation of failed examples;
Handle exceptions better and provide better output.
Previous changes from v0.6.0
-
This is a breaking release. See mentioned PRs for how to upgrade your code, and feel free to open an issue if anything isn't clear.
Generalise shrinking so that it might depend on the model (PR #263);
Drop support for GHC 8.0.* or older, by requiring base >= 4.10 (PR #267). If you need support for older GHC versions, open a ticket;
Use Stack resolver lts-13 as default (PR #261);
Generalise the
GConName
type class to make it possible to use it for commands that cannot haveGeneric1
instances. Also rename the type class toCommandNames
(PR #259).