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

.NET Core #1

Closed
gaba-xyz opened this issue Oct 22, 2016 · 14 comments
Closed

.NET Core #1

gaba-xyz opened this issue Oct 22, 2016 · 14 comments

Comments

@gaba-xyz
Copy link

referencing mausch/Fuchu#51

There is still some work ahead, mainly with Expecto.Tests. NUnit has .NET Core as a platform target now. FsCheck seems to be pending support (fscheck/FsCheck#293).

PerfUtil and MbUnit seem to be the main issues right now as none of them seem to be actively maintained anymore. @mausch mentioned possibly dropping support for MbUnit. The way I see it, the alternatives are either porting those libs to .NET Core and hoping that a PR can be accepted, forking them or dropping support for PerfUtil and MbUnit.

@haf
Copy link
Owner

haf commented Oct 22, 2016

I've dropped support for the other test frameworks in this test framework. I want a framework that's good for F# and is stand-alone. :) I've also merged your work, so all you have to do now to make this happen is to duplicate something like https://github.com/SuaveIO/suave/blob/master/Rakefile#L90-L162 I've also set up travis at https://travis-ci.org/haf/expecto

Also, v1.0.1 is pushed to nuget now.

@MichaelBaker
Copy link

It sounds like this should work with Core, but when I add a dependency on "Expecto": "1.0.12" to my project, I get these errors:

    Package Expecto 1.0.12 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). 
    Package FSharp.Core 3.1.2.5 is not compatible with netcoreapp1.0 Version=v1.0). Package 

Then when I add "imports": ["net40" ] to my project, it fails to compile with a lot of errors like: The type referenced through 'System.String' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib'.

So then I add "Microsoft.NETCore.Portable.Compatibility": "1.0.1" as a dependency and I get: The module/namespace 'System.Net' from compilation unit 'System' did not contain the namespace, module or type 'WebClient'

And now I'm stuck. What do I need to do to get this working on a core project? I'm happy to submit a PR with the necessary changes, but I'm not sure where to start.

@gaba-xyz
Copy link
Author

gaba-xyz commented Nov 1, 2016

@MichaelBaker AFAIK there are a few things that need to be ported for Expecto to be fully .NET Core compatible.

For example FsCheck is still awaiting .NET Core support, pending fscheck/FsCheck#293.

Also like I mentioned earlier PerfUtil is dead and does not have .NET Core support, although @haf mentioned that support for PerfUtil could be dropped. Anyhow, the core project has been ported, what remains more or less is Expecto.Tests and Expecto.FsCheck.

Unfortunately IRL work is taking up most of my time right now but feel free to ask if you need any further pointers.

@haf
Copy link
Owner

haf commented Nov 1, 2016

What should be used instead of PerfUtil?

@haf
Copy link
Owner

haf commented Nov 1, 2016

I switched the code over to using BenchmarkDotNet instead of PerfUtil.

Released v1.1 with this.

@haf
Copy link
Owner

haf commented Dec 19, 2016

Bookkeeping: #4 fixed this issue, but the build is blocked on Albacore/albacore#221 and supporting all dependencies is blocked on fscheck/FsCheck#293. Meanwhile, this issue blocks causiq/logary#204

haf pushed a commit that referenced this issue Feb 8, 2017
@forki
Copy link
Contributor

forki commented Feb 18, 2017

what is the status with .NET core support?

@haf
Copy link
Owner

haf commented Feb 18, 2017

See the comment just above yours.

@adamchester
Copy link
Contributor

what is the status with .NET core support?

See the comment just above yours.

That may have been true, but I don't think it is anymore. See #101 for example.

@haf
Copy link
Owner

haf commented Feb 18, 2017

Well, fscheck has moved forward, so it's only the actual work on #101 and albacore/#221 to be done :) 👍 Thanks for looking into it.

@wallymathieu
Copy link

An alternative approach in order to run the tests in .net 4.5 context (or 451 et.c.):

For instance having your code have the following frameworks:

  "frameworks": {
    "netstandard1.6": {
      "imports": [ "dnxcore50" ],
      "dependencies": {
        "YYY": "4.3.0"
      }

    },
    "net45": {
      "frameworkAssemblies": {
        "YYY": "4.0.0"
      }
    }
  }

Then the test assembly can be use net45.

@haf
Copy link
Owner

haf commented Feb 24, 2017

If you're interested in Expecto for .Net core, please look at #101 now and review it.

cloudRoutine pushed a commit that referenced this issue Feb 27, 2017
@jmmk
Copy link

jmmk commented Apr 3, 2017

Is anything still blocking this? Is Albacore/albacore#221 required to get a .net core build?

@adamchester
Copy link
Contributor

Hi @jmmk, there is nothing really blocking this, except for someone finding the time. AFAIK, we just need to merge nupkg (from dotnet, with netstandard1.6 DLL) into the main albacore/nuget generated nupkg.

See the netcore branch.

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

No branches or pull requests

7 participants