diff options
Diffstat (limited to '.appveyor')
-rw-r--r-- | .appveyor/build.ps1 | 12 | ||||
-rw-r--r-- | .appveyor/test.ps1 | 73 |
2 files changed, 11 insertions, 74 deletions
diff --git a/.appveyor/build.ps1 b/.appveyor/build.ps1 index 94918bd..43ed2e8 100644 --- a/.appveyor/build.ps1 +++ b/.appveyor/build.ps1 @@ -1,5 +1,6 @@ param( [string] $BuildDir = $null, + [string] $InstallDir = $null, [string] $ProjectDir = $null, [string] $Platform = $null, [string] $Generator = $null, @@ -37,6 +38,7 @@ function Test-AppVeyor { function Set-AppVeyorDefaults { $script:ProjectDir = $env:APPVEYOR_BUILD_FOLDER $script:BuildDir = 'C:\Projects\build' + $script:InstallDir = 'C:\Projects\install' $script:Generator = switch ($env:APPVEYOR_BUILD_WORKER_IMAGE) { 'Visual Studio 2017' { 'Visual Studio 15 2017' } 'Visual Studio 2019' { 'Visual Studio 16 2019' } @@ -55,6 +57,8 @@ function Build-Project { [Parameter(Mandatory=$true)] [string] $BuildDir, [Parameter(Mandatory=$true)] + [string] $InstallDir, + [Parameter(Mandatory=$true)] [string] $Generator, [Parameter(Mandatory=$true)] [string] $Platform, @@ -74,13 +78,18 @@ function Build-Project { Invoke-Exe { cmake.exe ` -G $Generator -A $Platform ` + -D "CMAKE_INSTALL_PREFIX=$InstallDir" ` -D "BOOST_ROOT=$BoostDir" ` -D "BOOST_LIBRARYDIR=$BoostLibraryDir" ` -D ENABLE_TESTS=ON ` $ProjectDir } - Invoke-Exe { cmake.exe --build . --config $Configuration -- /m } + Invoke-Exe { cmake.exe --build . --config $Configuration --target install -- /m } + + cd $InstallDir + + Invoke-Exe { .\bin\unit_tests.exe --log_level=all } } function Build-ProjectAppVeyor { @@ -93,6 +102,7 @@ function Build-ProjectAppVeyor { Build-Project ` -ProjectDir $script:ProjectDir ` -BuildDir $script:BuildDir ` + -InstallDir $script:InstallDir ` -Generator $script:Generator ` -Platform $script:Platform ` -Configuration $script:Configuration ` diff --git a/.appveyor/test.ps1 b/.appveyor/test.ps1 deleted file mode 100644 index 7701645..0000000 --- a/.appveyor/test.ps1 +++ /dev/null @@ -1,73 +0,0 @@ -param( - [string] $BuildDir = $null, - [string] $Platform = $null -) - -$ErrorActionPreference = "Stop"; -Set-PSDebug -Strict - -function Invoke-Exe { - param( - [ScriptBlock] $Cmd, - [int[]] $AllowedExitCodes = @(0) - ) - - $backupErrorActionPreference = $script:ErrorActionPreference - $script:ErrorActionPreference = 'Continue' - - try { - & $Cmd - if ($AllowedExitCodes -notcontains $LastExitCode) { - throw "External command failed with exit code ${LastExitCode}: $Cmd" - } - } finally { - $script:ErrorActionPreference = $backupErrorActionPreference - } -} - -function Test-AppVeyor { - return Test-Path env:APPVEYOR -} - -function Get-AppVeyorBuildDir { - return 'C:\Projects\build' -} - -function Set-AppVeyorDefaults { - $script:BuildDir = Get-AppVeyorBuildDir - $script:Configuration = $env:CONFIGURATION -} - -function Run-ProjectTests { - param( - [Parameter(Mandatory=$true)] - [string] $BuildDir, - [Parameter(Mandatory=$true)] - [string] $Configuration - ) - - $unit_tests_dir = "$BuildDir\test\unit_tests\$Configuration" - cd $unit_tests_dir - - Invoke-Exe { .\unit_tests.exe --log_level=all } -} - -function Run-ProjectTestsAppVeyor { - if (Test-AppVeyor) { - Set-AppVeyorDefaults - $appveyor_cwd = pwd - } - - try { - Run-ProjectTests ` - -BuildDir $script:BuildDir ` - -Configuration $script:Configuration - } finally { - if (Test-AppVeyor) { - cd $appveyor_cwd - Set-PSDebug -Off - } - } -} - -Run-ProjectTestsAppVeyor |