From 84da0571a38902f990531b7d0b5bd547ddcb5a91 Mon Sep 17 00:00:00 2001 From: stan-sz <37585349+stan-sz@users.noreply.github.com> Date: Sat, 11 Feb 2023 14:31:30 +0100 Subject: [PATCH] Use vstest Cobertura support (#1177) * Use vstest Cobertura support Thanks to https://github.com/microsoft/vstest/issues/2874 Cobertura reports can be obtained faster without coverlet. * Update Kubectl.Tests.csproj * Update KubernetesClient.Classic.Tests.csproj * Update KubernetesClient.Tests.csproj * Update buildtest.yaml * Update AbstractKubernetes.cs.template * Update IBasicKubernetes.cs.template * Update IOperations.cs.template * Update Model.cs.template * Add filter * revert --- .github/workflows/buildtest.yaml | 21 +++++++--- CodeCoverage.runsettings | 40 +++++++++++++++++++ tests/Kubectl.Tests/Kubectl.Tests.csproj | 7 +--- .../KubernetesClient.Classic.Tests.csproj | 5 --- .../KubernetesClient.Tests.csproj | 5 --- 5 files changed, 57 insertions(+), 21 deletions(-) create mode 100644 CodeCoverage.runsettings diff --git a/.github/workflows/buildtest.yaml b/.github/workflows/buildtest.yaml index 76f4206..00f196e 100644 --- a/.github/workflows/buildtest.yaml +++ b/.github/workflows/buildtest.yaml @@ -24,8 +24,19 @@ jobs: - name: Build run: dotnet build --configuration Release -v detailed - name: Test - run: dotnet test /p:CollectCoverage=true /p:ExcludeByFile=\"**/KubernetesClient/generated/**/*.cs\" /p:CoverletOutputFormat="cobertura" - + run: dotnet test --configuration Release --collect:"Code Coverage;Format=Cobertura" --logger trx --results-directory TestResults --settings CodeCoverage.runsettings --no-build + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + directory: ./TestResults + files: '*.cobertura.xml' + - name: Upload test results + uses: actions/upload-artifact@v3 + with: + name: test-results + path: ./TestResults + if: ${{ always() }} # Always run this step even on failure + # Test code gen for visual studio compatibility >> https://github.com/kubernetes-client/csharp/pull/1008 codgen: runs-on: windows-latest @@ -39,12 +50,12 @@ jobs: - name: Setup dotnet SDK 7 uses: actions/setup-dotnet@v3 with: - dotnet-version: '7.0.x' + dotnet-version: '7.0.x' - name: Restore nugets (msbuild) run: msbuild .\src\KubernetesClient.Models\ -t:restore -p:RestorePackagesConfig=true - name: Build (msbuild) run: msbuild .\src\KubernetesClient.Models\ - + e2e: runs-on: ubuntu-latest steps: @@ -67,7 +78,7 @@ jobs: cat skip.log echo "CASES MUST NOT BE SKIPPED" exit 1 - fi + fi on: pull_request: diff --git a/CodeCoverage.runsettings b/CodeCoverage.runsettings new file mode 100644 index 0000000..acc025c --- /dev/null +++ b/CodeCoverage.runsettings @@ -0,0 +1,40 @@ + + + + + + + + + + .*KubernetesClient\..*\.dll$ + + + .*tests\.dll$ + .*xunit.*dll$ + .*moq\.dll$ + .*System\.Reactive\.dll$ + .*BouncyCastle\.Crypto\.dll$ + .*IdentityModel\.OidcClient\.dll$ + + + + True + + True + + True + + + ^System.ObsoleteAttribute$ + ^System.CodeDom.Compiler.GeneratedCodeAttribute$ + ^System.Diagnostics.DebuggerHiddenAttribute$ + ^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$ + + + + + + + + diff --git a/tests/Kubectl.Tests/Kubectl.Tests.csproj b/tests/Kubectl.Tests/Kubectl.Tests.csproj index f070257..a6b4e86 100644 --- a/tests/Kubectl.Tests/Kubectl.Tests.csproj +++ b/tests/Kubectl.Tests/Kubectl.Tests.csproj @@ -9,11 +9,6 @@ - - all - runtime; build; native; contentfiles; analyzers - - @@ -36,4 +31,4 @@ PreserveNewest - \ No newline at end of file + diff --git a/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj b/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj index 71aaec0..265a454 100644 --- a/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj +++ b/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj @@ -18,11 +18,6 @@ - - all - runtime; build; native; contentfiles; analyzers - - diff --git a/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj b/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj index 3fcb549..f45eb42 100644 --- a/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj +++ b/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj @@ -17,11 +17,6 @@ - - all - runtime; build; native; contentfiles; analyzers - -