2020-02-25 21:46:15 +01:00

49 lines
2.1 KiB
PowerShell

$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$rootDir = "$scriptDir\.."
$coverageDir = "$rootDir\coverage"
$coverageReportDir = "$rootDir\coverage\report"
$openCover = "$env:LOCALAPPDATA\Apps\OpenCover\OpenCover.Console.exe"
$vsTestConsole = where.exe vstest.console
$runtimeTestsDnc21 = "$rootDir\Capnp.Net.Runtime.Tests.Core21\bin\Release\netcoreapp2.1\Capnp.Net.Runtime.Tests.Core21.dll"
$coverageOutputRuntimeDnc21 = "$coverageDir\cov-Capnp.Net.Runtime-dnc21.xml"
$runtimeTestsNet471 = "$rootDir\Capnp.Net.Runtime.Tests\bin\Release\net471\Capnp.Net.Runtime.Tests.Std20.dll"
$coverageOutputRuntimeNet471 = "$coverageDir\cov-Capnp.Net.Runtime-net471.xml"
$generatorTests = "$rootDir\CapnpC.CSharp.Generator.Tests\bin\Release\netcoreapp3.0\CapnpC.CSharp.Generator.Tests.dll"
$coverageOutputGenerator = "$coverageDir\cov-CapnpC.CSharp.Generator.xml"
If(!(test-path $coverageDir))
{
New-Item -ItemType Directory -Force -Path $coverageDir
}
If(!(test-path $coverageReportDir))
{
New-Item -ItemType Directory -Force -Path $coverageReportDir
}
& $openCover -target:"$vsTestConsole" `
-targetArgs:"/inIsolation $runtimeTestsDnc21 /TestCaseFilter:`"TestCategory=Coverage`"" `
-filter:"+[Capnp.Net.Runtime]Capnp.*" `
-excludebyattribute:"System.CodeDom.Compiler.GeneratedCodeAttribute" `
-output:"$coverageOutputRuntimeDnc21" `
-mergebyhash -register:user -oldStyle
& $openCover -target:"$vsTestConsole" `
-targetArgs:"/inIsolation $runtimeTestsNet471 /TestCaseFilter:`"TestCategory=Coverage`"" `
-filter:"+[Capnp.Net.Runtime]Capnp.*" `
-excludebyattribute:"System.CodeDom.Compiler.GeneratedCodeAttribute" `
-output:"$coverageOutputRuntimeNet471" `
-mergebyhash -register:user -oldStyle
& $openCover -target:"$vsTestConsole" `
-targetArgs:"/inIsolation $generatorTests" `
-filter:"+[CapnpC.CSharp.Generator]*" `
-excludebyattribute:"System.CodeDom.Compiler.GeneratedCodeAttribute" `
-output:"$coverageOutputGenerator" `
-mergebyhash -register:user -oldStyle
ReportGenerator.exe -reports:"$coverageOutputRuntimeDnc21;$coverageOutputRuntimeNet471;$coverageOutputGenerator" -targetdir:"$coverageReportDir" -reportTypes:"Html;Xml"