diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2018-09-17 19:57:26 -0700 |
---|---|---|
committer | Patrick Steinhardt <ps@pks.im> | 2018-10-26 13:53:43 +0200 |
commit | 0fe9313a36759ed9b4d5f817af320f88758bdc3b (patch) | |
tree | de44dfc265102fe30959139287522f82e1a17b29 | |
parent | 748f28e909d6f617bc9f5f6ec1a3d36c1b053330 (diff) | |
download | libgit2-0fe9313a36759ed9b4d5f817af320f88758bdc3b.tar.gz |
ci: append -r flag to clar on windows
Similar to the way we parse the ctest output on POSIX systems, do the
same on Windows. This allows us to append the `-r` flag to clar after
we've identified the command to run.
(cherry picked from commit 7c9769d94799c7bc6341d64e18bbd13bc8993ad6)
-rw-r--r-- | ci/test.ps1 | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/ci/test.ps1 b/ci/test.ps1 index 89301d45a..5f75c0b62 100644 --- a/ci/test.ps1 +++ b/ci/test.ps1 @@ -5,8 +5,28 @@ $PSDefaultParameterValues['*:ErrorAction'] = 'Stop' [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$SourceDir = Split-Path (Split-Path (Get-Variable MyInvocation).Value.MyCommand.Path) +$BuildDir = Get-Location + if ($Env:SKIP_TESTS) { exit } +# Ask ctest what it would run if we were to invoke it directly. This lets +# us manage the test configuration in a single place (tests/CMakeLists.txt) +# instead of running clar here as well. But it allows us to wrap our test +# harness with a leak checker like valgrind. Append the option to write +# JUnit-style XML files. +function run_test { + $TestName = $args[0] + + $TestCommand = (ctest -N -V -R "^$TestName$") -join "`n" -replace "(?ms).*\n^[0-9]*: Test command: ","" -replace "\n.*","" + $TestCommand += " -r${BuildDir}\results_${TestName}.xml" + + Write-Host $TestCommand + Invoke-Expression $TestCommand + + if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) } +} + Write-Host "##############################################################################" Write-Host "## Configuring test environment" Write-Host "##############################################################################" @@ -23,8 +43,7 @@ Write-Host "#################################################################### Write-Host "## Running (offline) tests" Write-Host "##############################################################################" -ctest -V -R offline -if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) } +run_test offline if (-not $Env:SKIP_ONLINE_TESTS) { Write-Host "" @@ -32,8 +51,7 @@ if (-not $Env:SKIP_ONLINE_TESTS) { Write-Host "## Running (online) tests" Write-Host "##############################################################################" - ctest -V -R online - if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) } + run_test online } if (-not $Env:SKIP_PROXY_TESTS) { @@ -44,9 +62,8 @@ if (-not $Env:SKIP_PROXY_TESTS) { $Env:GITTEST_REMOTE_PROXY_URL="localhost:8080" $Env:GITTEST_REMOTE_PROXY_USER="foo" $Env:GITTEST_REMOTE_PROXY_PASS="bar" - ctest -V -R proxy - if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) } + + run_test proxy taskkill /F /IM javaw.exe } - |