Skip to content

Commit 24469fb

Browse files
committed
another fix
1 parent bd778e5 commit 24469fb

1 file changed

Lines changed: 30 additions & 19 deletions

File tree

.github/actions/testing/test/action.yml

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
author: 'Pete Sramek'
33
description: 'Run tests, collects code coverage, logs test results, uploads test artifacts'
44
inputs:
5-
# Required
6-
7-
# Optional
5+
project-path:
6+
description: 'Test project path.'
7+
required: true
88
dotnet_sdk_version:
99
description: '.NET SDK version. Default: 10.x'
1010
required: false
@@ -13,9 +13,6 @@ inputs:
1313
description: 'Build configuration. Default: Release'
1414
required: false
1515
default: 'Release'
16-
project-path:
17-
description: 'Test project path.'
18-
required: true
1916
use-trf-logger:
2017
description: 'Use TRX logger. Default: true'
2118
required: false
@@ -28,8 +25,20 @@ inputs:
2825
description: 'Code coverage output format. Default: cobertura'
2926
required: false
3027
default: 'cobertura'
28+
code-coverage-include:
29+
description: 'Comma separated patterns for --cc-include. Default: ""'
30+
required: false
31+
default: ''
32+
code-coverage-exclude:
33+
description: 'Comma separated patterns for --cc-exclude. Default: ""'
34+
required: false
35+
default: ''
36+
code-coverage-exclude-attribute:
37+
description: 'Comma separated attribute names for --cc-exclude-attribute. Default: "System.Diagnostics.DebuggerHiddenAttribute,System.Diagnostics.DebuggerNonUserCodeAttribute,System.CodeDom.Compiler.GeneratedCodeAttribute,System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute"'
38+
required: false
39+
default: 'System.Diagnostics.DebuggerHiddenAttribute,System.Diagnostics.DebuggerNonUserCodeAttribute,System.CodeDom.Compiler.GeneratedCodeAttribute,System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute'
3140
code-coverage-settings-file:
32-
description: 'Code coverage settings file. Default: '
41+
description: 'Code coverage settings file. Default: ""'
3342
required: false
3443
default: ''
3544
upload-test-artifacts:
@@ -39,8 +48,7 @@ inputs:
3948
test-results-directory:
4049
description: 'Search pattern for test artifacts. Default: test-results'
4150
required: false
42-
default: |
43-
'test-results'
51+
default: 'test-results'
4452
test-artifacts-name:
4553
description: 'Test artifacts name, Default: test-results'
4654
required: false
@@ -57,31 +65,34 @@ runs:
5765
with:
5866
dotnet-version: ${{ inputs.dotnet_sdk_version }}
5967

60-
- name: 'Test with .NET CLI'
68+
- name: 'Test with .NET CLI (Native Code Coverage)'
6169
shell: bash
6270
env:
63-
DOTNET_USE_TEST_PLATFORM: '1' # Ensures you're using the new test platform if necessary
71+
DOTNET_USE_TEST_PLATFORM: '1'
6472
run: |
6573
ARGS=()
6674
ARGS+=("${{ inputs.project-path }}")
6775
ARGS+=(--configuration "${{ inputs.build-configuration }}")
6876
ARGS+=(--results-directory "${{ inputs.test-results-directory }}")
6977
70-
# Optional: TRX logger
7178
if [[ "${{ inputs.use-trf-logger }}" == "true" ]]; then
7279
ARGS+=(--logger:trx)
7380
fi
7481
75-
# Native Code Coverage switches
82+
# Native Code Coverage switches & filters
7683
if [[ "${{ inputs.collect-code-coverage }}" == "true" ]]; then
7784
ARGS+=(--collect:"Code Coverage")
78-
# Output format: cobertura, json, etc
7985
ARGS+=(--cc-output-format:"${{ inputs.code-coverage-output-format }}")
80-
# Exclude by attribute (comma-separated, no regex)
81-
ARGS+=(--cc-exclude-attribute:"System.Diagnostics.DebuggerHiddenAttribute,System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute")
82-
# You can add more --cc-* switches if needed, e.g.:
83-
# ARGS+=(--cc-include:"MyNamespace*") # Include filters
84-
# ARGS+=(--cc-exclude:"OtherNamespace*") # Exclude by name
86+
87+
if [[ -n "${{ inputs.code-coverage-include }}" ]]; then
88+
ARGS+=(--cc-include:"${{ inputs.code-coverage-include }}")
89+
fi
90+
if [[ -n "${{ inputs.code-coverage-exclude }}" ]]; then
91+
ARGS+=(--cc-exclude:"${{ inputs.code-coverage-exclude }}")
92+
fi
93+
94+
# Always use exclude-attribute; will be default unless overridden by user
95+
ARGS+=(--cc-exclude-attribute:"${{ inputs.code-coverage-exclude-attribute }}")
8596
fi
8697
8798
echo "Running: dotnet test ${ARGS[*]}"

0 commit comments

Comments
 (0)