hauleth
StreamState - stateful testing implemented on top of StreamData
There is long running issue on stream_data library to implement such functionality. In the meanwhile I have created this small library (still WIP) using @alfert counter statem implementation as a base.
It implements API similar to eqc_statem, however there is still a lot of unimplemented hooks. For now supported hooks are:
*/n*_args/1*_command/1*_pre/2*_post/3*_next/3weight/2
Most Liked
hauleth
My biggest issue is the license as in some projects I am not allowed to use it (as legal do not allow GPL code) and in other it is PITA to need to double license project or use different license for tests and code.
hauleth
It is more than that. GPL is very opinionated, and about some clauses there is no consensus how to treat them. Though I prefer to give freedom to the developers, so I prefer more permissive licenses. I am more OSI/BSD guy rather than FSF/GNU. So for me this is also slightly ideological problem.
keathley
Fair enough.
sorentwo
After fighting a lot with PropCheck last week I went and checked the long standing stream_data issue. Naturally it led me to stream_state.
I greatly prefer the ergonomics and documentation of stream_data and would love to use stream_state for some models. My assumption is that the hooks behave similarly to Proper’s, but there are still ambiguities such as whether it uses symbolic variables.
Thanks for releasing it, I’ll be watching the progress.
keathley
I’ve definitely felt some of these same pain points.
I’m sure that a PR to add some more generators would be welcome. I end up needing the same types of things in all of my projects with proper and haven’t taken the time to open PRs for them. I find the assertions for stateless tests in proper to be fine. I think in theory the stream data reporting is nicer but I have so much trouble getting stream data to shrink failing cases to a reasonable size that its hard to have a real comparison. The reporting for Proper’s stateful tests could certainly use some love though just to make them more readable. That would probably go a really long way towards making them more approachable.
Yeah this tends to come up. We got permission to use it at work since we’re never shipping the test code to our servers. The same is true for my open source stuff. But I’m not a lawyer and I get that GPL tends to scare people.







