Skip to content

Run tests under NetCore#671

Merged
ademar merged 11 commits intoSuaveIO:masterfrom
alex-bogomaz:609-netcore-tests
Dec 24, 2017
Merged

Run tests under NetCore#671
ademar merged 11 commits intoSuaveIO:masterfrom
alex-bogomaz:609-netcore-tests

Conversation

@alex-bogomaz
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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