From 581f964edf1aee947d7b47dc50efb979891f748c Mon Sep 17 00:00:00 2001 From: Betim Beja <11160171+BetimBeja@users.noreply.github.com> Date: Sat, 8 May 2021 15:59:59 +0200 Subject: [PATCH] rewrote coverage script using powershell --- .github/workflows/build-and-test.yml | 8 +---- XrmEntitySerializer.sln | 2 ++ coverage.bat | 46 ---------------------------- coverage.ps1 | 31 +++++++++++++++++++ 4 files changed, 34 insertions(+), 53 deletions(-) delete mode 100644 coverage.bat create mode 100644 coverage.ps1 diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index d625079..5f11c9d 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -3,12 +3,6 @@ name: Build And Test on: [push] env: - # Path to the solution file relative to the root of the project. - SOLUTION_FILE_PATH: . - - # Configuration type to build. - # You can convert this to a build matrix if you need coverage of multiple configuration types. - # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix BUILD_CONFIGURATION: Debug jobs: @@ -40,7 +34,7 @@ jobs: - name: Test Coverage working-directory: ${{env.GITHUB_WORKSPACE}} - run: .\coverage.bat + run: .\coverage.ps1 - uses: codecov/codecov-action@v1 with: diff --git a/XrmEntitySerializer.sln b/XrmEntitySerializer.sln index 353bbc9..fd094d3 100644 --- a/XrmEntitySerializer.sln +++ b/XrmEntitySerializer.sln @@ -35,6 +35,8 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{98771E62-D312-4840-833F-DB360F83C258}" ProjectSection(SolutionItems) = preProject azure-pipelines.yml = azure-pipelines.yml + .github\workflows\build-and-test.yml = .github\workflows\build-and-test.yml + coverage.ps1 = coverage.ps1 Logo_80x80.png = Logo_80x80.png README.md = README.md XrmEntitySerializer.props = XrmEntitySerializer.props diff --git a/coverage.bat b/coverage.bat deleted file mode 100644 index 29791a3..0000000 --- a/coverage.bat +++ /dev/null @@ -1,46 +0,0 @@ -@echo off - -if not exist ".coverage" mkdir .coverage - -for /F "tokens=*" %%G in ('nuget locals global-packages -List') do ( - SET NuGets_2=%%G - SET NuGets_1=%NuGets_2:~17% - SET NuGets=%NuGets_1:~0,-1% -) - -for /F "tokens=*" %%G in ('where dotnet') do ( - SET DOT_NET=%%G -) - -SET OPEN_COVER= -for /D %%D in ("%NuGets%opencover\*") do ( - SET OPEN_COVER=%%~D\tools\OpenCover.Console.exe - ECHO %OPEN_COVER% -) - -SET XUNIT_RUNNER= -for /D %%D in ("%NuGets%xunit.runner.console\*") do ( - SET XUNIT_RUNNER=%%~D\tools\net46\xunit.console.exe -) - -IF "%OPEN_COVER%"=="" ( - ECHO Could not find OpenCover. Make sure to restore NuGet packages 1>&2 - EXIT 1 -) - -IF "%XUNIT_RUNNER%"=="" ( - ECHO Could not find xunit.runner.console. Make sure to restore NuGet packages 1>&2 - EXIT 1 -) - -"%OPEN_COVER%" -target:"%XUNIT_RUNNER%" -targetargs:"""XrmEntitySerializer.5.Tests\bin\Debug\net452\XrmEntitySerializer.5.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.5.net40.xml" -register:Path64 -filter:"+[XrmEntitySerializer.5]* -[XrmEntitySerializer.5.Tests]*" -"%OPEN_COVER%" -target:"%XUNIT_RUNNER%" -targetargs:"""XrmEntitySerializer.6.Tests\bin\Debug\net452\XrmEntitySerializer.6.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.6.net40.xml" -register:Path64 -filter:"+[XrmEntitySerializer.6]* -[XrmEntitySerializer.6.Tests]*" -"%OPEN_COVER%" -target:"%XUNIT_RUNNER%" -targetargs:"""XrmEntitySerializer.7.Tests\bin\Debug\net452\XrmEntitySerializer.7.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.7.net452.xml" -register:Path64 -filter:"+[XrmEntitySerializer.7]* -[XrmEntitySerializer.7.Tests]*" -"%OPEN_COVER%" -target:"%XUNIT_RUNNER%" -targetargs:"""XrmEntitySerializer.8.Tests\bin\Debug\net452\XrmEntitySerializer.8.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.8.net452.xml" -register:Path64 -filter:"+[XrmEntitySerializer.8]* -[XrmEntitySerializer.8.Tests]*" -"%OPEN_COVER%" -target:"%XUNIT_RUNNER%" -targetargs:"""XrmEntitySerializer.9.Tests\bin\Debug\net452\XrmEntitySerializer.9.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.9.net452.xml" -register:Path64 -filter:"+[XrmEntitySerializer.9]* -[XrmEntitySerializer.9.Tests]*" -"%OPEN_COVER%" -target:"%XUNIT_RUNNER%" -targetargs:"""XrmEntitySerializer.9.Tests\bin\Debug\net462\XrmEntitySerializer.9.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.9.net462.xml" -register:Path64 -filter:"+[XrmEntitySerializer.9]* -[XrmEntitySerializer.9.Tests]*" -CD XrmEntitySerializer.Core.Tests -"%OPEN_COVER%" -target:"%DOT_NET%" -targetargs:"test --no-build --framework net5.0" -output:"..\.coverage\XrmEntitySerializer.core.net5.0.xml" -register:user -filter:"+[XrmEntitySerializer.Core]* -[XrmEntitySerializer.Core.Tests]*" -oldstyle -"%OPEN_COVER%" -target:"%DOT_NET%" -targetargs:"test --no-build --framework netcoreapp3.1" -output:"..\.coverage\XrmEntitySerializer.core.netcoreapp3.0.xml" -register:user -filter:"+[XrmEntitySerializer.Core]* -[XrmEntitySerializer.Core.Tests]*" -oldstyle -"%OPEN_COVER%" -target:"%DOT_NET%" -targetargs:"test --no-build --framework netcoreapp3.0" -output:"..\.coverage\XrmEntitySerializer.core.netcoreapp3.1.xml" -register:user -filter:"+[XrmEntitySerializer.Core]* -[XrmEntitySerializer.Core.Tests]*" -oldstyle -CD .. \ No newline at end of file diff --git a/coverage.ps1 b/coverage.ps1 new file mode 100644 index 0000000..998c46f --- /dev/null +++ b/coverage.ps1 @@ -0,0 +1,31 @@ +$path = ".coverage" +If(!(test-path $path -PathType Container )) +{ + New-Item -ItemType Directory -Force -Path $path +} + +$NuGets=(nuget locals global-packages -List).Substring(17) +$DotNet=(Get-Command dotnet).Source +$OpenCover=Get-ChildItem -Path $((Get-ChildItem -Path $($NuGets)OpenCover\* | Sort-Object -Descending | Select-Object -First 1).FullName)tools\OpenCover.Console.exe +$XUnitRunner=Get-ChildItem -Path $((Get-ChildItem -Path $($NuGets)xunit.runner.console\* | Sort-Object -Descending | Select-Object -First 1).FullName)tools\net46\xunit.console.exe + + +If($OpenCover -eq ''){ + throw "Could not find OpenCover. Make sure to restore NuGet packages" +} + +If($XUnitRunner -eq ''){ + throw "Could not find xunit.runner.console. Make sure to restore NuGet packages" +} + +& $OpenCover -target:"$XUnitRunner" -targetargs:"""XrmEntitySerializer.5.Tests\bin\Debug\net452\XrmEntitySerializer.5.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.5.net40.xml" -register:Path64 -filter:"+[XrmEntitySerializer.5]* -[XrmEntitySerializer.5.Tests]*" +& $OpenCover -target:"$XUnitRunner" -targetargs:"""XrmEntitySerializer.6.Tests\bin\Debug\net452\XrmEntitySerializer.6.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.6.net40.xml" -register:Path64 -filter:"+[XrmEntitySerializer.6]* -[XrmEntitySerializer.6.Tests]*" +& $OpenCover -target:"$XUnitRunner" -targetargs:"""XrmEntitySerializer.7.Tests\bin\Debug\net452\XrmEntitySerializer.7.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.7.net452.xml" -register:Path64 -filter:"+[XrmEntitySerializer.7]* -[XrmEntitySerializer.7.Tests]*" +& $OpenCover -target:"$XUnitRunner" -targetargs:"""XrmEntitySerializer.8.Tests\bin\Debug\net452\XrmEntitySerializer.8.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.8.net452.xml" -register:Path64 -filter:"+[XrmEntitySerializer.8]* -[XrmEntitySerializer.8.Tests]*" +& $OpenCover -target:"$XUnitRunner" -targetargs:"""XrmEntitySerializer.9.Tests\bin\Debug\net452\XrmEntitySerializer.9.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.9.net452.xml" -register:Path64 -filter:"+[XrmEntitySerializer.9]* -[XrmEntitySerializer.9.Tests]*" +& $OpenCover -target:"$XUnitRunner" -targetargs:"""XrmEntitySerializer.9.Tests\bin\Debug\net462\XrmEntitySerializer.9.Tests.dll"" -noshadow" -output:".coverage\XrmEntitySerializer.9.net462.xml" -register:Path64 -filter:"+[XrmEntitySerializer.9]* -[XrmEntitySerializer.9.Tests]*" +CD XrmEntitySerializer.Core.Tests +& $OpenCover -target:"$DotNet" -targetargs:"test --no-build --framework net5.0" -output:"..\.coverage\XrmEntitySerializer.core.net5.0.xml" -register:user -filter:"+[XrmEntitySerializer.Core]* -[XrmEntitySerializer.Core.Tests]*" -oldstyle +& $OpenCover -target:"$DotNet" -targetargs:"test --no-build --framework netcoreapp3.1" -output:"..\.coverage\XrmEntitySerializer.core.netcoreapp3.0.xml" -register:user -filter:"+[XrmEntitySerializer.Core]* -[XrmEntitySerializer.Core.Tests]*" -oldstyle +& $OpenCover -target:"$DotNet" -targetargs:"test --no-build --framework netcoreapp3.0" -output:"..\.coverage\XrmEntitySerializer.core.netcoreapp3.1.xml" -register:user -filter:"+[XrmEntitySerializer.Core]* -[XrmEntitySerializer.Core.Tests]*" -oldstyle +CD .. \ No newline at end of file