SwensenSoftware / unquote

Write F# unit test assertions as quoted expressions, get step-by-step failure messages for free
http://www.swensensoftware.com/unquote
Apache License 2.0
285 stars 26 forks source link

Official Mono support #104

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Unquote is not officially supported on Mono, however, it does not use any 
native Win32 calls and has been seen working on Mono without any issues. 
Specifically, the .NET 4.0 build has been seen running on Mono 2.10.8.1 (Debian 
2.10.8.1-5ubuntu1) inside a version of the F# 3.0 Interactive built from the 
github sources.

We'd like to "officially" support Mono, since it is popular in the F# open 
source community. To achieve this, we need to determine which version(s) we 
wish to support, and figure out a way to run our test suite against it with 
successful results.

If we do run into any issues, they will likely be related to reflective calls 
against private / internal methods. Ideally we'd like to avoid having to create 
a Mono-specific build (i.e. we'd like the .NET 4.0 / 4.5 build(s) to work 
without modification on Mono).

Original issue reported on code.google.com by stephen....@gmail.com on 31 Mar 2013 at 4:06

GoogleCodeExporter commented 9 years ago

Original comment by stephen....@gmail.com on 31 Mar 2013 at 4:11

GoogleCodeExporter commented 9 years ago

Original comment by stephen....@gmail.com on 31 Mar 2013 at 4:11

GoogleCodeExporter commented 9 years ago
We now have all net40 tests passing with F# 3.1 on Mono JIT compiler version 
3.2.8 (Debian 3.2.8+dfsg-10). We'll consider this enough for now as confidence 
for "officially" support. 

We can't run portable or net45 tests until a xunit 2.0.0 / mono bug is 
resolved: https://github.com/xunit/xunit/issues/158

Tests can be run with run-mono-tests.sh

Note that we observed the following mono and f# bugs while running tests (yet 
to report, need to do some more digging):
1) Mono's impl of Type.GetGenericArguments() does not work correctly on arrays 
(i.e. it doesn't return the synthetic generic args of an array like full .NET 
platform does)
2) F# 3.1 on mono (but not .NET) Checked.unativeint does not throw overflow 
exception when it should.

Original comment by stephen....@gmail.com on 22 Apr 2015 at 6:08

GoogleCodeExporter commented 9 years ago

Original comment by stephen....@gmail.com on 17 May 2015 at 6:10