-
Notifications
You must be signed in to change notification settings - Fork 803
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
Gradual migration of fsharp and fsharpqa test suites #7075
Comments
Related: #7076 |
Also adding @enricosada and @forki for thoughts. |
My general thought, the ideal place to be is to have the FSharp.Compiler.UnitTests contain everything we need and use XUnit. |
@TIHan I tried to activate Fscheck in the FSharp.Compiler.unittest but failed. Can you please give it a try? It would be really important to have PBTs on things like SuggestionBuffer |
Would really like to see progress on this, it's a serious hurdle for anyone looking to develop on linux, since the fsharpqa suite won't run. |
FSharpSuite.Tests I believe will not work anything but windows with VS installed. We have some work to do. |
Can any of the to-be-migrated tests run on non-Windows? How about after migration? I'm a (potential) first-time contributor coming from F# Weekly, and it's not clear if I can be of much help on my Mac. If you're looking to crowdsource this, enabling non-Windows use would unblock a lot of potential contributors! |
@jrr I did my PR from
Yes, it is not the easiest way, but doable. In my case I am able to execute tests on Windows Parallels VM, so I appreciate suggestions how to run only |
Not being able to run tests on Linux has obviously been a blocker for quite a few people (myself included). Personally I think it would be great to remove this, not only for F# as a cross-platform language, but also to encourage contributions from the non-Windows community. I obviously can't speak for the maintainers though :) Either way, I've been through the code and it's mostly typical Linux vs Windows issues - filesystem/environment variable/case sensitivity/etc. I've added some fixes and can now run the fsharp tests (not fsharpqa, but happy to fix those too) on my Linux system. Can anyone help check by:
Repository is @ https://github.com/nmfisher/fsharp To run tests/fsharp tests on Linux:
This is my first time contributing to F# itself, so please let me know if there's something I've missed or that I should (or should not) be doing. |
@nmfisher Porting the fsharpqa suite would be great! |
@vzarytovskii and friends are working towards this being a reality, I'll close in favor of the issues set to track that work |
This is a continuation of #697 (and #872 which attempted to resolve it).
A large amount of compiler and FSharp.Core tests are run with older, slower infrastructure. They're difficult for OSS contributors to work with, it's also unclear if everything can be reported correctly in Azure CI, andt hese tests are not usable within an IDE that understands standard unit test frameowrks such as NUnit or xUnit.
As #872 showed, the path to migration is not simple. However, this doesn't mean that small chunks cannot be moved incrementally. There are two NUnit-based test projects for the compiler and FSharp.Core that are relatively easy to add and modify tests for:
Compiler:
https://github.com/dotnet/fsharp/tree/master/tests/FSharp.Compiler.UnitTests and https://github.com/dotnet/fsharp/tree/master/tests/fsharp/Compiler/Language
Includes useful utilities such as:
FSharp.Core:
https://github.com/dotnet/fsharp/tree/master/tests/FSharp.Core.UnitTests
Includes a useful utility to verify the FSharp.Core API public API surface area.
In theory, it should be fairly straightforward to pick a small thing that's being tested under
/fsharpqa
and migrate that and only that to a new set of tests in one of the above NUnit test areas.The text was updated successfully, but these errors were encountered: