Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ vsintegration/src/vs/FsPkgs/FSharp.Project/FS/FSharp.ProjectSystem.FSharp.fsi
vsintegration/src/vs/FsPkgs/FSharp.Project/FS/ctofiles/
tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Utils.dll
tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExprLibrary.dll
tests\nunit3args.txt
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: can this have the same forward slashes?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.gitignore is used also by other os.
the path separator is / on .gitignore
so, pls fix it @TyOverby

tests/fsharpqa/Source/*FSharpQA_Failures.env
tests/fsharpqa/Source/*FSharpQA_Failures.lst
*.csproj.user
Expand Down
31 changes: 31 additions & 0 deletions jenkins-build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -107,11 +107,42 @@ echo Building the test tree using configuration: %BUILD_PROFILE%
@if ERRORLEVEL 1 echo Error: VS integration unit tests build failed && goto :failure

echo Running update scripts
call src\update.cmd %BUILD_PROFILE% -ngen
call vsintegration\update-vsintegration.cmd %BUILD_PROFILE%

REM Build the tools that are used for testing
@echo on
call tests/BuildTestTools.cmd %BUILD_PROFILE%
@if ERRORLEVEL 1 echo Error: 'BuildTestTools.cmd %BUILD_PROFILE%' failed && goto :failure

REM Actually run the tests

cd tests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since Jenkins is much more powerful, we should aim towards running all tests, not just the smoke ones.


call RunTests.cmd %BUILD_PROFILE% fsharp Smoke
@if ERRORLEVEL 1 type testresults\fsharp_failures.log && echo Error: 'RunTests.cmd %BUILD_PROFILE% fsharp %CONF_CAMBRIDGE_SUITE%' failed && goto :failure

REM call RunTests.cmd %BUILD_PROFILE% fsharpqa Smoke
REM @if ERRORLEVEL 1 type testresults\fsharpqa_failures.log && echo Error: 'RunTests.cmd %BUILD_PROFILE% fsharpqa %CONF_QA_SUITE%' failed && goto :failure

REM call RunTests.cmd %BUILD_PROFILE% compilerunit
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd %BUILD_PROFILE% compilerunit' failed && goto :failure

REM call RunTests.cmd %BUILD_PROFILE% coreunit
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd %BUILD_PROFILE% coreunit' failed && goto :failure

REM call RunTests.cmd %BUILD_PROFILE% coreunitportable47
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd %BUILD_PROFILE% coreunitportable47' failed && goto :failure

REM call RunTests.cmd %BUILD_PROFILE% coreunitportable7
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd %BUILD_PROFILE% coreunitportable7' failed && goto :failure

REM call RunTests.cmd %BUILD_PROFILE% coreunitportable78
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd %BUILD_PROFILE% coreunitportable78' failed && goto :failure

REM call RunTests.cmd %BUILD_PROFILE% coreunitportable259
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd %BUILD_PROFILE% coreunitportable259' failed && goto :failure

goto :eof

:failure
Expand Down
3 changes: 2 additions & 1 deletion packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
<package id="NUnit.Runners" version="3.0.0" targetFramework="net45" />
<package id="NUnit" version="3.0.0" targetFramework="net45" />
<package id="NUnit.Console" version="3.0.0" targetFramework="net45" />
</packages>
<package id="FakeSign" version="0.9.2" targetFramework="net45" />
</packages>
94 changes: 40 additions & 54 deletions src/update.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if /i "%1" == "release" goto :ok
if /i "%1" == "vsdebug" goto :ok
if /i "%1" == "vsrelease" goto :ok

echo adding required strong name verification skipping, and NGening built binaries
echo GACs built binaries, adds required strong name verification skipping, and optionally NGens built binaries
echo Usage:
echo update.cmd debug [-ngen]
echo update.cmd release [-ngen]
Expand All @@ -22,63 +22,49 @@ exit /b 1
:ok

set BINDIR=%~dp0..\%1\net40\bin

if /i "%PROCESSOR_ARCHITECTURE%"=="x86" set X86_PROGRAMFILES=%ProgramFiles%
if /I "%PROCESSOR_ARCHITECTURE%"=="AMD64" set X86_PROGRAMFILES=%ProgramFiles(x86)%

set REGEXE32BIT=reg.exe
if not "%OSARCH%"=="x86" set REGEXE32BIT=%WINDIR%\syswow64\reg.exe

FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B
if "%WINSDKNETFXTOOLS%"=="" FOR /F "tokens=2* delims= " %%A IN ('%REGEXE32BIT% QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder') DO SET WINSDKNETFXTOOLS=%%B

set SN32="%WINSDKNETFXTOOLS%sn.exe"
set SN64="%WINSDKNETFXTOOLS%x64\sn.exe"
set NGEN32=%windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe
set NGEN64=%windir%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe

rem Disable strong-name validation for F# binaries built from open source that are signed with the microsoft key
%SN32% -Vr FSharp.Core,b03f5f7f11d50a3a
%SN32% -Vr FSharp.Build,b03f5f7f11d50a3a
%SN32% -Vr FSharp.Compiler.Interactive.Settings,b03f5f7f11d50a3a
%SN32% -Vr FSharp.Compiler.Hosted,b03f5f7f11d50a3a

%SN32% -Vr FSharp.Compiler,b03f5f7f11d50a3a
%SN32% -Vr FSharp.Compiler.Server.Shared,b03f5f7f11d50a3a
%SN32% -Vr FSharp.Editor,b03f5f7f11d50a3a
%SN32% -Vr FSharp.LanguageService,b03f5f7f11d50a3a
%SN32% -Vr FSharp.LanguageService.Base,b03f5f7f11d50a3a
%SN32% -Vr FSharp.LanguageService.Compiler,b03f5f7f11d50a3a
%SN32% -Vr FSharp.ProjectSystem.Base,b03f5f7f11d50a3a
%SN32% -Vr FSharp.ProjectSystem.FSharp,b03f5f7f11d50a3a
%SN32% -Vr FSharp.ProjectSystem.PropertyPages,b03f5f7f11d50a3a
%SN32% -Vr FSharp.VS.FSI,b03f5f7f11d50a3a
%SN32% -Vr Unittests,b03f5f7f11d50a3a
%SN32% -Vr Salsa,b03f5f7f11d50a3a
set FAKESIGN=".\packages\FakeSign.0.9.2\tools\FakeSign.exe"

rem Fakesign the path to these dlls.
rem the location of these should be %BINDIR\
%FAKESIGN% %BINDIR%\FSharp.Core,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Build,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Compiler.Interactive.Settings,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Compiler.Hosted,b03f5f7f11d50a3a

%FAKESIGN% %BINDIR%\FSharp.Compiler,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Compiler.Server.Shared,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Editor,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.LanguageService,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.LanguageService.Base,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.LanguageService.Compiler,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.ProjectSystem.Base,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.ProjectSystem.FSharp,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.ProjectSystem.PropertyPages,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.VS.FSI,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\Unittests,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\Salsa,b03f5f7f11d50a3a

if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
%SN64% -Vr FSharp.Core,b03f5f7f11d50a3a
%SN64% -Vr FSharp.Build,b03f5f7f11d50a3a
%SN64% -Vr FSharp.Compiler.Interactive.Settings,b03f5f7f11d50a3a
%SN64% -Vr FSharp.Compiler.Hosted,b03f5f7f11d50a3a

%SN64% -Vr FSharp.Compiler,b03f5f7f11d50a3a
%SN64% -Vr FSharp.Compiler.Server.Shared,b03f5f7f11d50a3a
%SN64% -Vr FSharp.Editor,b03f5f7f11d50a3a
%SN64% -Vr FSharp.LanguageService,b03f5f7f11d50a3a
%SN64% -Vr FSharp.LanguageService.Base,b03f5f7f11d50a3a
%SN64% -Vr FSharp.LanguageService.Compiler,b03f5f7f11d50a3a
%SN64% -Vr FSharp.ProjectSystem.Base,b03f5f7f11d50a3a
%SN64% -Vr FSharp.ProjectSystem.FSharp,b03f5f7f11d50a3a
%SN64% -Vr FSharp.ProjectSystem.PropertyPages,b03f5f7f11d50a3a
%SN64% -Vr FSharp.VS.FSI,b03f5f7f11d50a3a
%SN64% -Vr Unittests,b03f5f7f11d50a3a
%SN64% -Vr Salsa,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Core,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Build,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Compiler.Interactive.Settings,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Compiler.Hosted,b03f5f7f11d50a3a

%FAKESIGN% %BINDIR%\FSharp.Compiler,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Compiler.Server.Shared,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.Editor,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.LanguageService,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.LanguageService.Base,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.LanguageService.Compiler,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.ProjectSystem.Base,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.ProjectSystem.FSharp,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.ProjectSystem.PropertyPages,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\FSharp.VS.FSI,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\Unittests,b03f5f7f11d50a3a
%FAKESIGN% %BINDIR%\Salsa,b03f5f7f11d50a3a
)

rem
rem NGen fsc, fsi, fsiAnyCpu, and FSharp.Build.dll
if /i not "%2"=="-ngen" goto :donengen

Expand Down