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
-
-