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

Run tests under NetCore #671

Merged
merged 11 commits into from
Dec 24, 2017
Merged

Conversation

alex-bogomaz
Copy link
Contributor

Summary:

  • upgraded all *.netcore.fsproj to 2.0 SDK
  • ported Suave.LibUv to netstandard 2.0, becase some APIs are missing in netstandard 1.6 (like BeginThreadAffinity and others)
  • run Suave tests under netcoreapp 2.0 (no WebSocketSharp and Suave.LibUv for netstandard 1.6)
  • include NetCore tests to CI pipeline
  • remove dependency on specific version of Suave for other NetCore NuGet packages

Notes:

  • Http.fs - need to wait for NetCore release. Now using full-framework package. //cc @seanamos and @ivpadim
  • Linux tests are running only with "LibUv TCP engine".
    Reason: some tests (which start and stop server) are failing with "Default TCP engine" - it is not possible on Linux to dispose socket and re-bind - https://github.com/dotnet/corefx/issues/24562.

We can do something similar as for Kestrel: aspnet/KestrelHttpServer#2111, but this requires building Suave for netstandard 2.0, since there are no Handle property for Socket under 1.6.

  • Three Auth.fs tests are excluded because Suave cookie serialization code fails to serialize FSharpMap. Probably that code should not use DataContractJsonSerializer and use Newtonsoft instead?

  • After converting to 2.0 SDK - there are a lot of build warnings like

Encountered conflict between 'Runtime:..\.nuget\packages\microsoft.win32.registry\4.0.0\runtimes\unix\lib\netstan
dard1.3\Microsoft.Win32.Registry.dll' and 'Runtime:..\olbog\.nuget\packages\microsoft.win32.registry\4.0.0\runtimes\win\lib\nets
tandard1.3\Microsoft.Win32.Registry.dll'.  Could not determine winner due to equal file and assembly versions.

but according to this dotnet/standard#505 we may skip those warnings

@ademar
Copy link
Member

ademar commented Dec 20, 2017

This is very very cool, thank you very much :)

@ademar ademar mentioned this pull request Dec 20, 2017
@ademar
Copy link
Member

ademar commented Dec 23, 2017

@alex-bogomaz can we merge this one ?

@alex-bogomaz alex-bogomaz changed the title [WIP] run tests under NetCore Run tests under NetCore Dec 24, 2017
@alex-bogomaz
Copy link
Contributor Author

Yes - we can merge.

Netcore tests still depend on net46 "HTTP.fs", but it is OK, since netcore supports referencing full-framework libraries (as long as they work).
We may not wait for netcore release of "HTTP.fs", but rather reference it when it will will be ready.

@ademar ademar merged commit 448bada into SuaveIO:master Dec 24, 2017
@ademar
Copy link
Member

ademar commented Dec 24, 2017

Thanks!

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.

2 participants