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
WIP: More rigorous testing #218
Draft
charlieturndorf
wants to merge
18
commits into
Hopac:master
Choose a base branch
from
charlieturndorf:testing-rework
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
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.
Draft
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
F# in VS Code uses .ionide folder that shouldn't be checked in
Added build & init scripts for cmd and bash, to support cross-platform development outside of Visual Studio
Added a new Scripts solution folder to avoid cluttering the Root folder
- Added Tests/Hopac.Tests project using Expecto.FsCheck - Build & run is working but no tests are in yet - Added test script for both cmd and bash
- I didn't see a style guide for Hopac, but it seems like 2-space indents are the norm here - Also switched Hopac.Tests entry point to Main.fs
- Simple float math - Generators for FsCheck property tests - `testProp` family of functions for writing property tests
Converted tests in AdHocTests/JobTests.fs to unit tests in Hopac.Tests
If someone on Mac/Linux could test these bash scripts, that would be a big help. I'm not sure I did them right. |
Concurrent equivalents for tests in AdHocTests/JobTests.fs - Allows us to ensure correct behavior under stress
( *<+->- ) commits on taking the reply, so it's wrong to say the client would commit before the server has sent the reply. The nack is unavailable so long as the client has not committed to another branch of the alt.
- Added tests inspired by AdHocTests/IVarTests.fs - Wrote additional IVar tests - Added `getCaughtExnDiff` util function
Unit tests using Job.conCollect for concurrent tests shouldn't rely on the stable order of the results. This behavior is not documented, so it might change and break the test
- Added tests based on AdHocTests/MVarTests.fs - Added additional tests to cover the entire API surface of MVar
- Tests inspired by AdHocTests.TaskTests - Additional tests to cover all Task interop functions under: Job, Alt, Extensions.Task, and Hopac (top-level)
Cover all Async interop functions under Job and Alt
Thank you for giving this project some love ❤️ |
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.
As suggested by @haf in #155, I'm working on updating Hopac's testing approach to be more rigorous.
Please do let me know if you have any thoughts on what I'm doing here. I'd be happy to adjust my approach, or focus on what's important to the community.