Skip to content

Commit

Permalink
Merge pull request #941 from dsyme/enable-fsharpqa-in-ci
Browse files Browse the repository at this point in the history
[WIP] fix tests and enable all of FSHARP and FSHARPQA in appveyor ci
  • Loading branch information
dsyme committed Feb 8, 2016
2 parents 6fa0e41 + fd84738 commit 8712b67
Show file tree
Hide file tree
Showing 19 changed files with 409 additions and 977 deletions.
569 changes: 0 additions & 569 deletions VisualFSharp.sln

Large diffs are not rendered by default.

17 changes: 8 additions & 9 deletions build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ if /i '%ARG%' == 'ci' (
set TEST_FSHARPQA_SUITE=1
set TEST_VS=0
set TEST_TAGS=
set TEST_TAGS2=CI
)

REM These divide 'ci' into three chunks which can be done in parallel
Expand All @@ -142,32 +141,32 @@ if /i '%ARG%' == 'ci_part1' (
set TEST_PORTABLE259_COREUNIT=1
set TEST_VS=0
set TEST_TAGS=
set TEST_TAGS2=CI
)

if /i '%ARG%' == 'ci_part2' (
set TEST_FSHARP_SUITE=1
set TEST_TAGS=
set TEST_TAGS2=CI
)


if /i '%ARG%' == 'ci_part3' (
set BUILD_PORTABLE47=1
set BUILD_PORTABLE7=1
set BUILD_PORTABLE78=1
set BUILD_PORTABLE259=1
set TEST_FSHARPQA_SUITE=1
set TEST_TAGS=
set TEST_TAGS2=CI
)

if /i '%ARG%' == 'smoke' (
REM Smoke tests are a very small quick subset of tests

set TEST_COMPILERUNIT=0
set TEST_NET40_COREUNIT=0
set TEST_TAGS=Smoke

set TEST_FSHARP_SUITE=1
set TEST_FSHARPQA_SUITE=0
set TEST_TAGS2=Smoke
set TEST_TAGS=Smoke

)

if /i '%ARG%' == 'debug' (
Expand Down Expand Up @@ -344,13 +343,13 @@ set FSHARP_TEST_SUITE_USE_NUNIT_RUNNER=true
%_msbuildexe% fsharp\fsharp.tests.fsproj /p:Configuration=%BUILD_CONFIG%
@if ERRORLEVEL 1 echo Error: fsharp cambridge tests for nunit failed && goto :failure

call RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %TEST_TAGS2%
call RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %TEST_TAGS%
@if ERRORLEVEL 1 type testresults\fsharp_failures.log && echo Error: 'RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %CONF_CAMBRIDGE_SUITE%' failed && goto :failure
set FSHARP_TEST_SUITE_USE_NUNIT_RUNNER=
)

if '%TEST_FSHARPQA_SUITE%' == '1' (
call RunTests.cmd %BUILD_CONFIG_LOWER% fsharpqa %TEST_TAGS2%
call RunTests.cmd %BUILD_CONFIG_LOWER% fsharpqa %TEST_TAGS%
@if ERRORLEVEL 1 type testresults\fsharpqa_failures.log && echo Error: 'RunTests.cmd %BUILD_CONFIG_LOWER% fsharpqa %CONF_QA_SUITE%' failed && goto :failure
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ type AsyncModule() =
let dispose(d : #IDisposable) = d.Dispose()

let testErrorAndCancelRace computation =
for _ in 1..100 do
for _ in 1..20 do
let cts = new System.Threading.CancellationTokenSource()
use barrier = new System.Threading.ManualResetEvent(false)
async { cts.Cancel() }
Expand Down Expand Up @@ -291,7 +291,7 @@ type AsyncModule() =
cts.Cancel()
sleep(100)
Assert.IsTrue(isSet())
for _i = 1 to 50 do test()
for _i = 1 to 3 do test()

[<Test>]
member this.``OnCancel.CancelThatWasSignalledBeforeRunningTheComputation``() =
Expand All @@ -317,10 +317,10 @@ type AsyncModule() =
Assert.IsTrue(ok, "Computation should be completed")
Assert.IsFalse(!cancelledWasCalled, "Cancellation handler should not be called")

for _i = 1 to 50 do test()
for _i = 1 to 3 do test()


[<Test>]
[<Test; Category("Expensive")>]
member this.``Async.AwaitWaitHandle does not leak memory`` () =
// This test checks that AwaitWaitHandle does not leak continuations (described in #131),
// We only test the worst case - when the AwaitWaitHandle is already set.
Expand Down Expand Up @@ -352,7 +352,7 @@ type AsyncModule() =
Assert.IsFalse(resource.IsAlive)

// The leak hangs on a race condition which is really hard to trigger in F# 3.0, hence the 100000 runs...
for _ in 1..100 do tryToLeak()
for _ in 1..10 do tryToLeak()

[<Test>]
member this.``AwaitWaitHandle.DisposedWaitHandle2``() =
Expand Down Expand Up @@ -415,7 +415,7 @@ type AsyncModule() =
testErrorAndCancelRace (Async.Sleep (-5))

#if !(FSHARP_CORE_PORTABLE || FSHARP_CORE_NETCORE_PORTABLE)
[<Test; Category("CHOICE")>]
[<Test; Category("Expensive")>] // takes 3 minutes!
member this.``Async.Choice specification test``() =
Check.QuickThrowOnFailure (normalize >> runChoice)
#endif
Expand Down Expand Up @@ -562,7 +562,7 @@ type AsyncModule() =
try cts.Cancel() with _ -> ()
System.Threading.Thread.Sleep 1500
printfn "===="
for i = 1 to 20 do test()
for i = 1 to 3 do test()
Assert.AreEqual(0, !okCount)
Assert.AreEqual(0, !errCount)
#endif
Expand Down
16 changes: 8 additions & 8 deletions tests/RunTests.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,8 @@ set XMLFILE=FSharpNunit_Xml.xml
set OUTPUTFILE=FSharpNunit_Output.log
set ERRORFILE=FSharpNunit_Error.log

echo "%NUNIT3_CONSOLE%" /verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work="%FSCBINPATH%" --output="%OUTPUTFILE%" --err="%ERRORFILE%" --result="%XMLFILE%"
"%NUNIT3_CONSOLE%" /verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work="%FSCBINPATH%" --output="%OUTPUTFILE%" --err="%ERRORFILE%" --result="%XMLFILE%"
echo "%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work:"%FSCBINPATH%" --output:"%OUTPUTFILE%;format=nunit2" --err:"%ERRORFILE%" --result:"%XMLFILE%"
"%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work:"%FSCBINPATH%" --output:"%OUTPUTFILE%;format=nunit2" --err:"%ERRORFILE%" --result:"%XMLFILE%"

call :UPLOAD_XML "%XMLFILE%"
goto :EOF
Expand Down Expand Up @@ -261,8 +261,8 @@ set XMLFILE=%RESULTSDIR%\CoreUnit_%coreunitsuffix%_Xml.xml
set OUTPUTFILE=%RESULTSDIR%\CoreUnit_%coreunitsuffix%_Output.log
set ERRORFILE=%RESULTSDIR%\CoreUnit_%coreunitsuffix%_Error.log

echo "%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll"
"%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll"
echo "%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll"
"%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll"

call :UPLOAD_XML "%XMLFILE%"

Expand All @@ -274,8 +274,8 @@ set XMLFILE=%RESULTSDIR%\CompilerUnit_%compilerunitsuffix%_Xml.xml
set OUTPUTFILE=%RESULTSDIR%\CompilerUnit_%compilerunitsuffix%_Output.log
set ERRORFILE=%RESULTSDIR%\CompilerUnit_%compilerunitsuffix%_Error.log

echo "%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll"
"%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll"
echo "%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll"
"%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll"

call :UPLOAD_XML "%XMLFILE%"

Expand All @@ -288,8 +288,8 @@ set OUTPUTFILE=%RESULTSDIR%\IDEUnit_Output.log
set ERRORFILE=%RESULTSDIR%\IDEUnit_Error.log

pushd %FSCBINPATH%
echo "%NUNIT3_CONSOLE%" /verbose --x86 /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll"
"%NUNIT3_CONSOLE%" /verbose --x86 /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll"
echo "%NUNIT3_CONSOLE%" --verbose --x86 --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll"
"%NUNIT3_CONSOLE%" --verbose --x86 --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll"
popd
call :UPLOAD_XML "%XMLFILE%"

Expand Down
Loading

0 comments on commit 8712b67

Please sign in to comment.