diff --git a/.gitignore b/.gitignore
index 1bd35450673..d2ab9630afb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -104,3 +104,5 @@ tests/fsharp/typecheck/sigs/neg94-pre.dll
times
/tests/fsharpqa/testenv/bin/System.ValueTuple.dll
source_link.json
+/.vs
+/VSRelease/net40/bin
diff --git a/build.cmd b/build.cmd
index 6486e0a1e0f..17cd00c39da 100644
--- a/build.cmd
+++ b/build.cmd
@@ -525,8 +525,8 @@ if '%BUILD_NET40%' == '1' (
call src\update.cmd %BUILD_CONFIG% -ngen
)
-@echo set NUNITPATH=packages\NUnit.Console.3.0.0\tools\
-set NUNITPATH=packages\NUnit.Console.3.0.0\tools\
+@echo set NUNITPATH=packages\NUnit.ConsoleRunner.3.5.0\tools\
+set NUNITPATH=packages\NUnit.ConsoleRunner.3.5.0\tools\
if not exist %NUNITPATH% echo Error: Could not find %NUNITPATH% && goto :failure
@echo xcopy "%NUNITPATH%*.*" "%~dp0tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
@@ -541,20 +541,20 @@ if '%BUILD_CORECLR%' == '1' (
%_nugetexe% restore .\tests\fsharp\project.json -PackagesDirectory packages
echo Deploy x86 version of compiler and dependencies, ready for testing
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x86 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\win7-x86 --copyCompiler:yes --v:quiet
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x86 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\win7-x86 --copyCompiler:no --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x86 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\win7-x86 --copyCompiler:yes --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x86 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\win7-x86 --copyCompiler:no --v:quiet
echo Deploy x64 version of compiler, ready for testing
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\win7-x64 --copyCompiler:yes --v:quiet
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\win7-x64 --copyCompiler:no --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\win7-x64 --copyCompiler:yes --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/win7-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\win7-x64 --copyCompiler:no --v:quiet
echo Deploy linux version of built compiler, ready for testing
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/ubuntu.14.04-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\ubuntu.14.04-x64 --copyCompiler:yes --v:quiet
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/ubuntu.14.04-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\ubuntu.14.04-x64 --copyCompiler:no --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/ubuntu.14.04-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\ubuntu.14.04-x64 --copyCompiler:yes --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/ubuntu.14.04-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\ubuntu.14.04-x64 --copyCompiler:no --v:quiet
echo Deploy osx version of built compiler, ready for testing
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/osx.10.10-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\osx.10.10-x64 --copyCompiler:yes --v:quiet
- %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/osx.10.10-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\osx.10.10-x64 --copyCompiler:no --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/osx.10.10-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\fsc\osx.10.10-x64 --copyCompiler:yes --v:quiet
+ %_fsiexe% --exec tests\fsharpqa\testenv\src\DeployProj\DeployProj.fsx --targetPlatformName:.NETStandard,Version=v1.6/osx.10.10-x64 --projectJsonLock:%~dp0tests\fsharp\project.lock.json --packagesDir:%USERPROFILE%\.nuget\packages --fsharpCore:%BUILD_CONFIG%\coreclr\bin\FSharp.Core.dll --output:tests\testbin\%BUILD_CONFIG%\coreclr\osx.10.10-x64 --copyCompiler:no --v:quiet
)
@@ -596,7 +596,7 @@ setlocal enableDelayedExpansion
set NUNITPATH=%~dp0tests\fsharpqa\testenv\bin\nunit\
-set NUNIT3_CONSOLE=%~dp0packages\NUnit.Console.3.0.0\tools\nunit3-console.exe
+set NUNIT3_CONSOLE=%~dp0packages\NUnit.ConsoleRunner.3.5.0\tools\nunit3-console.exe
set link_exe=%~dp0packages\VisualCppTools.14.0.24519-Pre\lib\native\bin\link.exe
if not exist "%link_exe%" (
echo Error: failed to find '%link_exe%' use nuget to restore the VisualCppTools package
@@ -622,12 +622,12 @@ set XMLFILE=%RESULTSDIR%\test-net40-fsharp-results.xml
set OUTPUTFILE=%RESULTSDIR%\test-net40-fsharp-output.log
set ERRORFILE=%RESULTSDIR%\test-net40-fsharp-errors.log
-set command="%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\FSharp.Tests.FSharp.dll" --framework:V4.0 --work:"%FSCBINPATH%" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --result:"!XMLFILE!;format=nunit2"
+set command="%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\FSharp.Tests.FSharp.dll" --framework:V4.0 --work:"%FSCBINPATH%" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --result:"!XMLFILE!;format=nunit3"
if '%TEST_NET40_FSHARP_SUITE%' == '1' (
- rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
- rem Note: each setlocal must be matched by an executed endlocal
- setlocal disableDelayedExpansion
+ rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
+ rem Note: each setlocal must be matched by an executed endlocal
+ setlocal disableDelayedExpansion
echo %command% %WHERE_ARG_NUNIT%
%command% %WHERE_ARG_NUNIT%
endlocal
@@ -739,17 +739,17 @@ REM ---------------- net40-compilerunit -----------------------
set XMLFILE=%RESULTSDIR%\test-net40-compilerunit-results.xml
set OUTPUTFILE=%RESULTSDIR%\test-net40-compilerunit-output.log
set ERRORFILE=%RESULTSDIR%\test-net40-compilerunit-errors.log
-set command="%NUNIT3_CONSOLE%" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit2" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\net40\bin\FSharp.Compiler.Unittests.dll"
+set command="%NUNIT3_CONSOLE%" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\net40\bin\FSharp.Compiler.Unittests.dll"
if '%TEST_NET40_COMPILERUNIT_SUITE%' == '1' (
- rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
- rem Note: each setlocal must be matched by an executed endlocal
- setlocal disableDelayedExpansion
+ rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
+ rem Note: each setlocal must be matched by an executed endlocal
+ setlocal disableDelayedExpansion
echo %command% %WHERE_ARG_NUNIT%
%command% %WHERE_ARG_NUNIT%
endlocal
- call :UPLOAD_TEST_RESULTS "!XMLFILE!" "!OUTPUTFILE!" "!ERRORFILE!"
+ call :UPLOAD_TEST_RESULTS "!XMLFILE!" "!OUTPUTFILE!" "!ERRORFILE!"
if NOT '!saved_errorlevel!' == '0' (
type "!OUTPUTFILE!"
type "!ERRORFILE!"
@@ -763,7 +763,7 @@ REM ---------------- net40-coreunit -----------------------
set XMLFILE=%RESULTSDIR%\test-net40-coreunit-results.xml
set OUTPUTFILE=%RESULTSDIR%\test-net40-coreunit-output.log
set ERRORFILE=%RESULTSDIR%\test-net40-coreunit-errors.log
-set command="%NUNIT3_CONSOLE%" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit2" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --work:"%FSCBINPATH%" "%FSCBINPATH%\FSharp.Core.Unittests.dll"
+set command="%NUNIT3_CONSOLE%" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --work:"%FSCBINPATH%" "%FSCBINPATH%\FSharp.Core.Unittests.dll"
if '%TEST_NET40_COREUNIT_SUITE%' == '1' (
rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
@@ -787,7 +787,7 @@ REM ---------------- portable-coreunit -----------------------
set XMLFILE=%RESULTSDIR%\test-portable-coreunit-results.xml
set OUTPUTFILE=%RESULTSDIR%\test-portable-coreunit-output.log
set ERRORFILE=%RESULTSDIR%\test-portable-coreunit-errors.log
-set command="%NUNIT3_CONSOLE%" /framework:V4.0 /result="!XMLFILE!;format=nunit2" /output="!OUTPUTFILE!" /err="!ERRORFILE!" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\portable7\bin\FSharp.Core.Unittests.dll" "%FSCBINPATH%\..\..\portable47\bin\FSharp.Core.Unittests.dll" "%FSCBINPATH%\..\..\portable78\bin\FSharp.Core.Unittests.dll" "%FSCBINPATH%\..\..\portable259\bin\FSharp.Core.Unittests.dll"
+set command="%NUNIT3_CONSOLE%" /framework:V4.0 /result="!XMLFILE!;format=nunit3" /output="!OUTPUTFILE!" /err="!ERRORFILE!" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\portable7\bin\FSharp.Core.Unittests.dll" "%FSCBINPATH%\..\..\portable47\bin\FSharp.Core.Unittests.dll" "%FSCBINPATH%\..\..\portable78\bin\FSharp.Core.Unittests.dll" "%FSCBINPATH%\..\..\portable259\bin\FSharp.Core.Unittests.dll"
if '%TEST_PORTABLE_COREUNIT_SUITE%' == '1' (
rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
@@ -844,7 +844,7 @@ set XMLFILE=%RESULTSDIR%\test-coreclr-fsharp-results.xml
set OUTPUTFILE=%RESULTSDIR%\test-coreclr-fsharp-output.log
set ERRORFILE=%RESULTSDIR%\test-coreclr-fsharp-errors.log
-set command="%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\..\..\coreclr\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 --work:"%FSCBINPATH%" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --result:"!XMLFILE!;format=nunit2"
+set command="%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\..\..\coreclr\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 --work:"%FSCBINPATH%" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --result:"!XMLFILE!;format=nunit3"
if '%TEST_CORECLR_FSHARP_SUITE%' == '1' (
rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
@@ -870,7 +870,7 @@ set XMLFILE=%RESULTSDIR%\test-vs-ideunit-results.xml
set OUTPUTFILE=%RESULTSDIR%\test-vs-ideunit-output.log
set ERRORFILE=%RESULTSDIR%\test-vs-ideunit-errors.log
-set command="%NUNIT3_CONSOLE%" --verbose --x86 --framework:V4.0 --result:"!XMLFILE!;format=nunit2" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --work:"%FSCBINPATH%" --workers=1 --agents=1 --full "%FSCBINPATH%\VisualFSharp.Unittests.dll"
+set command="%NUNIT3_CONSOLE%" --verbose --x86 --framework:V4.0 --result:"!XMLFILE!;format=nunit3" --output:"!OUTPUTFILE!" --err:"!ERRORFILE!" --work:"%FSCBINPATH%" --workers=1 --agents=1 --full "%FSCBINPATH%\VisualFSharp.Unittests.dll"
if '%TEST_VS_IDEUNIT_SUITE%' == '1' (
rem Turn off delayed expansion when manipulating variables where a ! may appear in the argument text (CMD batch file oddity)
rem Note: each setlocal must be matched by an executed endlocal
diff --git a/packages.config b/packages.config
index c2e734072bb..dd84372923b 100644
--- a/packages.config
+++ b/packages.config
@@ -20,10 +20,9 @@
-
-
-
-
+
+
+
diff --git a/src/FSharpSource.targets b/src/FSharpSource.targets
index dc955f4adfb..c5e8fae1e14 100644
--- a/src/FSharpSource.targets
+++ b/src/FSharpSource.targets
@@ -102,10 +102,10 @@
- 3.0.0
- 3.0.5797.27534
+ 3.5.0
+ 3.5.0.0
$(FSharpSourcesRoot)\..\packages\NUnit.$(NUnitVersion)\lib\net45
- $(FSharpSourcesRoot)\..\packages\NUnit.Console.$(NUnitVersion)\tools\
+ $(FSharpSourcesRoot)\..\packages\NUnit.ConsoleRunner\$(NUnitVersion)\tools\
2.0.3
2.0.3.0
$(FSharpSourcesRoot)\..\packages\FsCheck.$(FsCheckVersion)\lib\
@@ -185,6 +185,7 @@
v5.0
false
+ .NETStandard,Version=v1.6
true
@@ -541,8 +542,8 @@
-
-
+
+
diff --git a/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj b/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj
index 2dfb034adac..fac4e6fa3a2 100644
--- a/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj
+++ b/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj
@@ -69,15 +69,15 @@
-
+
true
True
- ..\..\..\packages\NUnit.3.0.0\lib\portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10\nunit.framework.dll
+ ..\..\..\packages\NUnit.3.5.0\lib\portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10\nunit.framework.dll
-
+
true
True
- ..\..\..\packages\NUnitLite.3.0.0\lib\portable-net45+win8+wp8+wpa81+Xamarin.Mac\nunitlite.dll
+ ..\..\..\packages\NUnitLite.3.5.0\lib\portable-net45+win8+wp8+wpa81+Xamarin.Mac\nunitlite.dll
diff --git a/src/fsharp/FSharp.Core.Unittests/Program.fs b/src/fsharp/FSharp.Core.Unittests/Program.fs
index b5cb7404af3..28ff2aa8434 100644
--- a/src/fsharp/FSharp.Core.Unittests/Program.fs
+++ b/src/fsharp/FSharp.Core.Unittests/Program.fs
@@ -3,9 +3,10 @@ module Program
open System
open System.Reflection
open NUnitLite
+open NUnit.Common
type HelperType() = inherit System.Object()
[]
let main argv =
- AutoRun().Execute(typeof.GetTypeInfo().Assembly, Console.Out, Console.In, argv)
+ AutoRun(typeof.GetTypeInfo().Assembly).Execute(argv, new ExtendedTextWrapper(Console.Out), Console.In)
diff --git a/tests/fsharp/FSharp.Tests.fsproj b/tests/fsharp/FSharp.Tests.fsproj
index c20d501b852..e20e619885b 100644
--- a/tests/fsharp/FSharp.Tests.fsproj
+++ b/tests/fsharp/FSharp.Tests.fsproj
@@ -76,7 +76,7 @@
- ..\..\packages\NUnit.3.0.0\lib\net45\nunit.framework.dll
+ ..\..\packages\NUnit.3.5.0\lib\net45\nunit.framework.dll
True
diff --git a/tests/fsharpqa/Source/FSharpQA.Tests.fsproj b/tests/fsharpqa/Source/FSharpQA.Tests.fsproj
index 691ac57ccaa..036e07e9e7c 100644
--- a/tests/fsharpqa/Source/FSharpQA.Tests.fsproj
+++ b/tests/fsharpqa/Source/FSharpQA.Tests.fsproj
@@ -48,7 +48,7 @@
- ..\..\..\packages\NUnit.3.0.0\lib\net45\nunit.framework.dll
+ ..\..\..\packages\NUnit.3.5.0\lib\net45\nunit.framework.dll
True