-
-
Notifications
You must be signed in to change notification settings - Fork 5
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
cyocum
wants to merge
22
commits into
main
Choose a base branch
from
lwt_lib
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a major feature release which has a number of improvements. Most notably Lwt based concurrency.