Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Lwt concurrency to Cucumber.ml #34

Open
wants to merge 22 commits into
base: main
Choose a base branch
from
Open

Add Lwt concurrency to Cucumber.ml #34

wants to merge 22 commits into from

Conversation

cyocum
Copy link
Contributor

@cyocum cyocum commented Oct 9, 2020

This is a major feature release which has a number of improvements. Most notably Lwt based concurrency.

cyocum added 22 commits August 28, 2020 09:05
* Added case where multiple pickles are generated
* Updated test feature file and implementation to show some features
  of parallel Cucumber
* Added tag handling to the parallel library
* Added reverse step list as this is important for step ordering where
  it is not important for the standard library
* Updated step folding to reverse returned list as fold will always
return a reverse list of mapped functions
* Updated test.feature to have a second scenario for testing
* Updated test_parallel.ml to match the new second scenario
* Updated test Makefile to reflect Lwt and threads
* Updated libgherin-c submodule
The list of outcomes is stored in an abstract module.  This disallows
the function that the user provides to the library from changing the
past.  However, this does allow the function to wipe the history
entirely.  This is unlikely because it would negate the usefulness of
the library as a whole.
This makes dealing with the outcome states much easier for users
* When instantiating the first monad, the OutcomeManager needs to be
created with an initial state.  This was set to Pass but this caused
an extra step to be counted.  Updated OutcomeManager to have an
optional inital state
* Updated test parallel code to match entire string rather than just
parts
* Updated test parallel code to match position so that it was easier
to read
* Updated module name to be less about parallel than Lwt
* Wrote some documentation in the README about the hows and the whys
of the use of Lwt
* Added a small change to make the construct_computation function
easier to read
* Updated README to reflect concurrent rather than parallel
* Updated various test_* files to read concurrent
* Cleaned up and renamed things in execute so that they read more
cleanly
* Updated execute to return Lwt monads rather than executing them so
that users can bind things to them themselves which gives them much
more flexibility
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant