ceedling 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -1
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +2 -0
  5. data/README.md +4 -1
  6. data/docs/Changelog.md +11 -0
  7. data/docs/KnownIssues.md +1 -0
  8. data/docs/mkdocs/configuration/project-file.md +25 -7
  9. data/docs/mkdocs/configuration/reference/cexception.md +1 -1
  10. data/docs/mkdocs/configuration/reference/cmock.md +1 -1
  11. data/docs/mkdocs/configuration/reference/unity.md +1 -1
  12. data/docs/mkdocs/getting-started/quick-start.md +11 -8
  13. data/docs/mkdocs/plugins/gcov/gcovr.md +324 -189
  14. data/docs/mkdocs/plugins/gcov/reportgenerator.md +113 -31
  15. data/docs/mkdocs/reference/gcov-plugin.md +21 -3
  16. data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +0 -1
  17. data/lib/ceedling/generators/generator_test_results_backtrace.rb +16 -8
  18. data/lib/ceedling/plugins/plugin_reportinator.rb +9 -0
  19. data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +1 -1
  20. data/lib/version.rb +1 -1
  21. data/plugins/gcov/config/defaults.yml +0 -1
  22. data/plugins/gcov/lib/gcov.rb +35 -16
  23. data/plugins/gcov/lib/gcovr_reportinator.rb +31 -1
  24. data/plugins/valgrind/lib/valgrind.rb +1 -1
  25. data/site-local/configuration/project-file.html +78 -8
  26. data/site-local/configuration/reference/cexception.html +5 -5
  27. data/site-local/configuration/reference/cmock.html +5 -5
  28. data/site-local/configuration/reference/unity.html +5 -5
  29. data/site-local/getting-started/quick-start.html +13 -9
  30. data/site-local/plugins/gcov/gcovr.html +1215 -255
  31. data/site-local/plugins/gcov/reportgenerator.html +404 -46
  32. data/site-local/reference/gcov-plugin.html +40 -7
  33. data/site-local/sitemap.xml.gz +0 -0
  34. data/site-local/snapshot/plugins/gcov/config/defaults.yml +0 -1
  35. data/spec/support/system/system_context.rb +7 -3
  36. data/spec/system/deployment_as_gem_spec.rb +2 -0
  37. data/spec/system/deployment_as_vendor_spec.rb +2 -0
  38. data/spec/system/gcov_deployment_spec.rb +2 -0
  39. data/spec/system/support/common_test_cases.rb +42 -0
  40. data/spec/system/support/gcov_common_test_cases.rb +52 -0
  41. data/spec/units/generators/generator_test_results_backtrace_spec.rb +51 -0
  42. data/spec/units/plugin_reportinator_spec.rb +38 -0
  43. metadata +4 -2
@@ -2940,6 +2940,24 @@
2940
2940
 
2941
2941
 
2942
2942
 
2943
+ <label class="md-nav__link md-nav__link--active" for="__toc">
2944
+
2945
+
2946
+
2947
+ <span class="md-ellipsis">
2948
+
2949
+
2950
+ ReportGenerator Configuration
2951
+
2952
+
2953
+
2954
+ </span>
2955
+
2956
+
2957
+
2958
+ <span class="md-nav__icon md-icon"></span>
2959
+ </label>
2960
+
2943
2961
  <a href="reportgenerator.html" class="md-nav__link md-nav__link--active">
2944
2962
 
2945
2963
 
@@ -2957,6 +2975,163 @@
2957
2975
 
2958
2976
  </a>
2959
2977
 
2978
+
2979
+
2980
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2981
+
2982
+
2983
+
2984
+
2985
+
2986
+
2987
+ <label class="md-nav__title" for="__toc">
2988
+ <span class="md-nav__icon md-icon"></span>
2989
+ Table of contents
2990
+ </label>
2991
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2992
+
2993
+ <li class="md-nav__item">
2994
+ <a href="#example-configuration" class="md-nav__link">
2995
+ <span class="md-ellipsis">
2996
+
2997
+ Example configuration
2998
+
2999
+ </span>
3000
+ </a>
3001
+
3002
+ </li>
3003
+
3004
+ <li class="md-nav__item">
3005
+ <a href="#plugin-configuration" class="md-nav__link">
3006
+ <span class="md-ellipsis">
3007
+
3008
+ Plugin configuration
3009
+
3010
+ </span>
3011
+ </a>
3012
+
3013
+ <nav class="md-nav" aria-label="Plugin configuration">
3014
+ <ul class="md-nav__list">
3015
+
3016
+ <li class="md-nav__item">
3017
+ <a href="#history_directory" class="md-nav__link">
3018
+ <span class="md-ellipsis">
3019
+
3020
+ :history_directory
3021
+
3022
+ </span>
3023
+ </a>
3024
+
3025
+ </li>
3026
+
3027
+ <li class="md-nav__item">
3028
+ <a href="#plugins" class="md-nav__link">
3029
+ <span class="md-ellipsis">
3030
+
3031
+ :plugins
3032
+
3033
+ </span>
3034
+ </a>
3035
+
3036
+ </li>
3037
+
3038
+ <li class="md-nav__item">
3039
+ <a href="#assembly_filters" class="md-nav__link">
3040
+ <span class="md-ellipsis">
3041
+
3042
+ :assembly_filters
3043
+
3044
+ </span>
3045
+ </a>
3046
+
3047
+ </li>
3048
+
3049
+ <li class="md-nav__item">
3050
+ <a href="#class_filters" class="md-nav__link">
3051
+ <span class="md-ellipsis">
3052
+
3053
+ :class_filters
3054
+
3055
+ </span>
3056
+ </a>
3057
+
3058
+ </li>
3059
+
3060
+ <li class="md-nav__item">
3061
+ <a href="#file_filters" class="md-nav__link">
3062
+ <span class="md-ellipsis">
3063
+
3064
+ :file_filters
3065
+
3066
+ </span>
3067
+ </a>
3068
+
3069
+ </li>
3070
+
3071
+ <li class="md-nav__item">
3072
+ <a href="#verbosity" class="md-nav__link">
3073
+ <span class="md-ellipsis">
3074
+
3075
+ :verbosity
3076
+
3077
+ </span>
3078
+ </a>
3079
+
3080
+ </li>
3081
+
3082
+ <li class="md-nav__item">
3083
+ <a href="#tag" class="md-nav__link">
3084
+ <span class="md-ellipsis">
3085
+
3086
+ :tag
3087
+
3088
+ </span>
3089
+ </a>
3090
+
3091
+ </li>
3092
+
3093
+ <li class="md-nav__item">
3094
+ <a href="#gcov_exclude" class="md-nav__link">
3095
+ <span class="md-ellipsis">
3096
+
3097
+ :gcov_exclude
3098
+
3099
+ </span>
3100
+ </a>
3101
+
3102
+ </li>
3103
+
3104
+ <li class="md-nav__item">
3105
+ <a href="#num_parallel_threads" class="md-nav__link">
3106
+ <span class="md-ellipsis">
3107
+
3108
+ :num_parallel_threads
3109
+
3110
+ </span>
3111
+ </a>
3112
+
3113
+ </li>
3114
+
3115
+ <li class="md-nav__item">
3116
+ <a href="#custom_args" class="md-nav__link">
3117
+ <span class="md-ellipsis">
3118
+
3119
+ :custom_args
3120
+
3121
+ </span>
3122
+ </a>
3123
+
3124
+ </li>
3125
+
3126
+ </ul>
3127
+ </nav>
3128
+
3129
+ </li>
3130
+
3131
+ </ul>
3132
+
3133
+ </nav>
3134
+
2960
3135
  </li>
2961
3136
 
2962
3137
 
@@ -3980,6 +4155,152 @@
3980
4155
 
3981
4156
 
3982
4157
 
4158
+ <label class="md-nav__title" for="__toc">
4159
+ <span class="md-nav__icon md-icon"></span>
4160
+ Table of contents
4161
+ </label>
4162
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
4163
+
4164
+ <li class="md-nav__item">
4165
+ <a href="#example-configuration" class="md-nav__link">
4166
+ <span class="md-ellipsis">
4167
+
4168
+ Example configuration
4169
+
4170
+ </span>
4171
+ </a>
4172
+
4173
+ </li>
4174
+
4175
+ <li class="md-nav__item">
4176
+ <a href="#plugin-configuration" class="md-nav__link">
4177
+ <span class="md-ellipsis">
4178
+
4179
+ Plugin configuration
4180
+
4181
+ </span>
4182
+ </a>
4183
+
4184
+ <nav class="md-nav" aria-label="Plugin configuration">
4185
+ <ul class="md-nav__list">
4186
+
4187
+ <li class="md-nav__item">
4188
+ <a href="#history_directory" class="md-nav__link">
4189
+ <span class="md-ellipsis">
4190
+
4191
+ :history_directory
4192
+
4193
+ </span>
4194
+ </a>
4195
+
4196
+ </li>
4197
+
4198
+ <li class="md-nav__item">
4199
+ <a href="#plugins" class="md-nav__link">
4200
+ <span class="md-ellipsis">
4201
+
4202
+ :plugins
4203
+
4204
+ </span>
4205
+ </a>
4206
+
4207
+ </li>
4208
+
4209
+ <li class="md-nav__item">
4210
+ <a href="#assembly_filters" class="md-nav__link">
4211
+ <span class="md-ellipsis">
4212
+
4213
+ :assembly_filters
4214
+
4215
+ </span>
4216
+ </a>
4217
+
4218
+ </li>
4219
+
4220
+ <li class="md-nav__item">
4221
+ <a href="#class_filters" class="md-nav__link">
4222
+ <span class="md-ellipsis">
4223
+
4224
+ :class_filters
4225
+
4226
+ </span>
4227
+ </a>
4228
+
4229
+ </li>
4230
+
4231
+ <li class="md-nav__item">
4232
+ <a href="#file_filters" class="md-nav__link">
4233
+ <span class="md-ellipsis">
4234
+
4235
+ :file_filters
4236
+
4237
+ </span>
4238
+ </a>
4239
+
4240
+ </li>
4241
+
4242
+ <li class="md-nav__item">
4243
+ <a href="#verbosity" class="md-nav__link">
4244
+ <span class="md-ellipsis">
4245
+
4246
+ :verbosity
4247
+
4248
+ </span>
4249
+ </a>
4250
+
4251
+ </li>
4252
+
4253
+ <li class="md-nav__item">
4254
+ <a href="#tag" class="md-nav__link">
4255
+ <span class="md-ellipsis">
4256
+
4257
+ :tag
4258
+
4259
+ </span>
4260
+ </a>
4261
+
4262
+ </li>
4263
+
4264
+ <li class="md-nav__item">
4265
+ <a href="#gcov_exclude" class="md-nav__link">
4266
+ <span class="md-ellipsis">
4267
+
4268
+ :gcov_exclude
4269
+
4270
+ </span>
4271
+ </a>
4272
+
4273
+ </li>
4274
+
4275
+ <li class="md-nav__item">
4276
+ <a href="#num_parallel_threads" class="md-nav__link">
4277
+ <span class="md-ellipsis">
4278
+
4279
+ :num_parallel_threads
4280
+
4281
+ </span>
4282
+ </a>
4283
+
4284
+ </li>
4285
+
4286
+ <li class="md-nav__item">
4287
+ <a href="#custom_args" class="md-nav__link">
4288
+ <span class="md-ellipsis">
4289
+
4290
+ :custom_args
4291
+
4292
+ </span>
4293
+ </a>
4294
+
4295
+ </li>
4296
+
4297
+ </ul>
4298
+ </nav>
4299
+
4300
+ </li>
4301
+
4302
+ </ul>
4303
+
3983
4304
  </nav>
3984
4305
  </div>
3985
4306
  </div>
@@ -4067,55 +4388,92 @@
4067
4388
  <h1 id="reportgenerator-configuration">ReportGenerator Configuration</h1>
4068
4389
  <p>The <code>ReportGenerator</code> utility may be configured with the following configuration items.</p>
4069
4390
  <p>All generated reports are found in <code>&lt;build root&gt;/artifacts/gcov/ReportGenerator/</code>.</p>
4391
+ <h2 id="example-configuration">Example configuration</h2>
4070
4392
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:gcov</span><span class="p">:</span>
4071
4393
  <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:report_generator</span><span class="p">:</span>
4072
- <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="c1"># Optional directory for storing persistent coverage information.</span>
4073
- <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="c1"># Can be used in future reports to show coverage evolution.</span>
4074
- <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="nt">:history_directory</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;path&gt;</span>
4075
- <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>
4076
- <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span><span class="c1"># Optional plugin files for custom reports or custom history storage (separated by semicolon).</span>
4077
- <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="w"> </span><span class="nt">:plugins</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;plugin.dll&gt;;&lt;*.dll&gt;</span>
4078
- <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>
4079
- <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="c1"># Optional list of assemblies that should be included or excluded in the report (separated by semicolon).</span>
4080
- <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="w"> </span><span class="c1"># Exclusion filters take precedence over inclusion filters.</span>
4081
- <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a><span class="w"> </span><span class="c1"># Wildcards are allowed, but not regular expressions.</span>
4082
- <a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a><span class="w"> </span><span class="nt">:assembly_filters</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+&lt;included&gt;;-&lt;excluded&gt;</span>
4083
- <a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a>
4084
- <a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a><span class="w"> </span><span class="c1"># Optional list of classes that should be included or excluded in the report (separated by semicolon).</span>
4085
- <a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a><span class="w"> </span><span class="c1"># Exclusion filters take precedence over inclusion filters.</span>
4086
- <a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a><span class="w"> </span><span class="c1"># Wildcards are allowed, but not regular expressions.</span>
4087
- <a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a><span class="w"> </span><span class="nt">:class_filters</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+&lt;included&gt;;-&lt;excluded&gt;</span>
4088
- <a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a>
4089
- <a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a><span class="w"> </span><span class="c1"># Optional list of files that should be included or excluded in the report (separated by semicolon).</span>
4090
- <a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a><span class="w"> </span><span class="c1"># Exclusion filters take precedence over inclusion filters.</span>
4091
- <a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a><span class="w"> </span><span class="c1"># Wildcards are allowed, but not regular expressions.</span>
4092
- <a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a><span class="w"> </span><span class="c1"># Example: &quot;-./vendor/*;-./build/*;-./test/*;-./lib/*;+./src/*&quot;</span>
4093
- <a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a><span class="w"> </span><span class="nt">:file_filters</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+&lt;included&gt;;-&lt;excluded&gt;</span>
4094
- <a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a>
4095
- <a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><span class="w"> </span><span class="c1"># The verbosity level of the log messages.</span>
4096
- <a id="__codelineno-0-27" name="__codelineno-0-27" href="#__codelineno-0-27"></a><span class="w"> </span><span class="c1"># Values: Verbose, Info, Warning, Error, Off (defaults to Warning)</span>
4097
- <a id="__codelineno-0-28" name="__codelineno-0-28" href="#__codelineno-0-28"></a><span class="w"> </span><span class="nt">:verbosity</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;level&gt;</span>
4098
- <a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a>
4099
- <a id="__codelineno-0-30" name="__codelineno-0-30" href="#__codelineno-0-30"></a><span class="w"> </span><span class="c1"># Optional tag or build version.</span>
4100
- <a id="__codelineno-0-31" name="__codelineno-0-31" href="#__codelineno-0-31"></a><span class="w"> </span><span class="nt">:tag</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;tag&gt;</span>
4101
- <a id="__codelineno-0-32" name="__codelineno-0-32" href="#__codelineno-0-32"></a>
4102
- <a id="__codelineno-0-33" name="__codelineno-0-33" href="#__codelineno-0-33"></a><span class="w"> </span><span class="c1"># Optional list of one or more regular expressions to exclude gcov notes files that match these filters.</span>
4103
- <a id="__codelineno-0-34" name="__codelineno-0-34" href="#__codelineno-0-34"></a><span class="w"> </span><span class="nt">:gcov_exclude</span><span class="p">:</span>
4104
- <a id="__codelineno-0-35" name="__codelineno-0-35" href="#__codelineno-0-35"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;regex&gt;</span>
4105
- <a id="__codelineno-0-36" name="__codelineno-0-36" href="#__codelineno-0-36"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
4106
- <a id="__codelineno-0-37" name="__codelineno-0-37" href="#__codelineno-0-37"></a>
4107
- <a id="__codelineno-0-38" name="__codelineno-0-38" href="#__codelineno-0-38"></a><span class="w"> </span><span class="c1"># Optionally set the number of threads to use in parallel. Defaults to 1.</span>
4108
- <a id="__codelineno-0-39" name="__codelineno-0-39" href="#__codelineno-0-39"></a><span class="w"> </span><span class="nt">:threads</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;count&gt;</span>
4109
- <a id="__codelineno-0-40" name="__codelineno-0-40" href="#__codelineno-0-40"></a>
4110
- <a id="__codelineno-0-41" name="__codelineno-0-41" href="#__codelineno-0-41"></a><span class="w"> </span><span class="c1"># Optional list of one or more command line arguments to pass to Report Generator.</span>
4111
- <a id="__codelineno-0-42" name="__codelineno-0-42" href="#__codelineno-0-42"></a><span class="w"> </span><span class="c1"># Useful for configuring Risk Hotspots and Other Settings.</span>
4112
- <a id="__codelineno-0-43" name="__codelineno-0-43" href="#__codelineno-0-43"></a><span class="w"> </span><span class="c1"># https://github.com/danielpalme/ReportGenerator/wiki/Settings</span>
4113
- <a id="__codelineno-0-44" name="__codelineno-0-44" href="#__codelineno-0-44"></a><span class="w"> </span><span class="c1"># Note: This can be accomplished with Ceedling&#39;s tool configuration options outside of plugin </span>
4114
- <a id="__codelineno-0-45" name="__codelineno-0-45" href="#__codelineno-0-45"></a><span class="w"> </span><span class="c1"># configuration but is supported here to collect configuration options in one place.</span>
4115
- <a id="__codelineno-0-46" name="__codelineno-0-46" href="#__codelineno-0-46"></a><span class="w"> </span><span class="nt">:custom_args</span><span class="p">:</span>
4116
- <a id="__codelineno-0-47" name="__codelineno-0-47" href="#__codelineno-0-47"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;argument&gt;</span>
4117
- <a id="__codelineno-0-48" name="__codelineno-0-48" href="#__codelineno-0-48"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
4394
+ <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nt">:history_directory</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">build/artifacts/gcov/history</span>
4395
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="nt">:file_filters</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;-./vendor/*;-./build/*;-./test/*;+./src/*&quot;</span>
4396
+ <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="nt">:verbosity</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Warning</span>
4397
+ <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="w"> </span><span class="nt">:tag</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;release-1.4.0&quot;</span>
4398
+ <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span><span class="nt">:num_parallel_threads</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
4399
+ <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="w"> </span><span class="nt">:gcov_exclude</span><span class="p">:</span>
4400
+ <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">some_excluded_file</span>
4401
+ <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="nt">:custom_args</span><span class="p">:</span>
4402
+ <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;-title:MyProject&quot;</span>
4403
+ </code></pre></div>
4404
+ <h2 id="plugin-configuration">Plugin configuration</h2>
4405
+ <h3 id="history_directory"><code>:history_directory</code></h3>
4406
+ <p>Optional directory for storing persistent coverage information. Can be used
4407
+ in future reports to show coverage evolution.</p>
4408
+ <hr />
4409
+ <h3 id="plugins"><code>:plugins</code></h3>
4410
+ <p>Optional plugin files for custom reports or custom history storage (separated
4411
+ by semicolon).</p>
4412
+ <p><strong>Example:</strong> <code>plugin.dll;*.dll</code></p>
4413
+ <hr />
4414
+ <h3 id="assembly_filters"><code>:assembly_filters</code></h3>
4415
+ <p>Optional list of assemblies that should be included or excluded in the
4416
+ report (separated by semicolon). Exclusion filters take precedence over
4417
+ inclusion filters. Wildcards are allowed, but not regular expressions.</p>
4418
+ <p><strong>Example:</strong> <code>+&lt;included&gt;;-&lt;excluded&gt;</code></p>
4419
+ <hr />
4420
+ <h3 id="class_filters"><code>:class_filters</code></h3>
4421
+ <p>Optional list of classes that should be included or excluded in the report
4422
+ (separated by semicolon). Exclusion filters take precedence over inclusion
4423
+ filters. Wildcards are allowed, but not regular expressions.</p>
4424
+ <p><strong>Example:</strong> <code>+&lt;included&gt;;-&lt;excluded&gt;</code></p>
4425
+ <hr />
4426
+ <h3 id="file_filters"><code>:file_filters</code></h3>
4427
+ <p>Optional list of files that should be included or excluded in the report
4428
+ (separated by semicolon). Exclusion filters take precedence over inclusion
4429
+ filters. Wildcards are allowed, but not regular expressions. Ceedling places
4430
+ your own patterns first, ahead of the exclusions it generates automatically
4431
+ for test paths, the build root, and (when Partials are in use) Partial
4432
+ source files, so your patterns take precedence.</p>
4433
+ <p><strong>Example:</strong> <code>"-./vendor/*;-./build/*;-./test/*;-./lib/*;+./src/*"</code></p>
4434
+ <hr />
4435
+ <h3 id="verbosity"><code>:verbosity</code></h3>
4436
+ <p>The verbosity level of the log messages.</p>
4437
+ <p><strong>Values:</strong> <code>Verbose</code>, <code>Info</code>, <code>Warning</code>, <code>Error</code>, <code>Off</code></p>
4438
+ <p><strong>Default:</strong> <code>Warning</code></p>
4439
+ <hr />
4440
+ <h3 id="tag"><code>:tag</code></h3>
4441
+ <p>Optional tag or build version.</p>
4442
+ <hr />
4443
+ <h3 id="gcov_exclude"><code>:gcov_exclude</code></h3>
4444
+ <p>Optional list of one or more regular expressions to exclude gcov notes
4445
+ (<code>.gcno</code>) files that match these filters from coverage processing — these
4446
+ files are never run through <code>gcov</code> at all. A trailing <code>.gcov</code> or <code>.gcno</code>
4447
+ suffix on a pattern is stripped automatically, so either form works.</p>
4448
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">:gcov</span><span class="p">:</span>
4449
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">:report_generator</span><span class="p">:</span>
4450
+ <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="nt">:gcov_exclude</span><span class="p">:</span>
4451
+ <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;regex&gt;</span>
4452
+ <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
4453
+ </code></pre></div>
4454
+ <p><strong>Default:</strong> <code>[]</code></p>
4455
+ <hr />
4456
+ <h3 id="num_parallel_threads"><code>:num_parallel_threads</code></h3>
4457
+ <p>Optionally set the number of threads ReportGenerator uses in parallel. Drives
4458
+ both of ReportGenerator's own <code>numberOfReportsParsedInParallel</code> and
4459
+ <code>numberOfReportsMergedInParallel</code> settings together.</p>
4460
+ <p><strong>Default:</strong> unset (ReportGenerator's own default applies)</p>
4461
+ <hr />
4462
+ <h3 id="custom_args"><code>:custom_args</code></h3>
4463
+ <p>Optional list of one or more command line arguments to pass to Report
4464
+ Generator. Useful for configuring Risk Hotspots and other settings not
4465
+ covered by the options above. See the
4466
+ <a href="https://github.com/danielpalme/ReportGenerator/wiki/Settings">ReportGenerator settings wiki</a>.</p>
4467
+ <p>Note: This can be accomplished with Ceedling's tool configuration options
4468
+ outside of plugin configuration but is supported here to collect
4469
+ configuration options in one place.</p>
4470
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">:gcov</span><span class="p">:</span>
4471
+ <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">:report_generator</span><span class="p">:</span>
4472
+ <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nt">:custom_args</span><span class="p">:</span>
4473
+ <a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;argument&gt;</span>
4474
+ <a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
4118
4475
  </code></pre></div>
4476
+ <p><strong>Default:</strong> <code>[]</code></p>
4119
4477
  <p><br/><br/></p>
4120
4478
 
4121
4479
 
@@ -3677,6 +3677,17 @@
3677
3677
  </span>
3678
3678
  </a>
3679
3679
 
3680
+ </li>
3681
+
3682
+ <li class="md-nav__item">
3683
+ <a href="#decisions" class="md-nav__link">
3684
+ <span class="md-ellipsis">
3685
+
3686
+ :decisions
3687
+
3688
+ </span>
3689
+ </a>
3690
+
3680
3691
  </li>
3681
3692
 
3682
3693
  <li class="md-nav__item">
@@ -4159,10 +4170,10 @@
4159
4170
  </li>
4160
4171
 
4161
4172
  <li class="md-nav__item">
4162
- <a href="#threads_1" class="md-nav__link">
4173
+ <a href="#num_parallel_threads" class="md-nav__link">
4163
4174
  <span class="md-ellipsis">
4164
4175
 
4165
- :threads
4176
+ :num_parallel_threads
4166
4177
 
4167
4178
  </span>
4168
4179
  </a>
@@ -4822,6 +4833,17 @@
4822
4833
  </span>
4823
4834
  </a>
4824
4835
 
4836
+ </li>
4837
+
4838
+ <li class="md-nav__item">
4839
+ <a href="#decisions" class="md-nav__link">
4840
+ <span class="md-ellipsis">
4841
+
4842
+ :decisions
4843
+
4844
+ </span>
4845
+ </a>
4846
+
4825
4847
  </li>
4826
4848
 
4827
4849
  <li class="md-nav__item">
@@ -5304,10 +5326,10 @@
5304
5326
  </li>
5305
5327
 
5306
5328
  <li class="md-nav__item">
5307
- <a href="#threads_1" class="md-nav__link">
5329
+ <a href="#num_parallel_threads" class="md-nav__link">
5308
5330
  <span class="md-ellipsis">
5309
5331
 
5310
- :threads
5332
+ :num_parallel_threads
5311
5333
 
5312
5334
  </span>
5313
5335
  </a>
@@ -5637,7 +5659,16 @@ this path.</p>
5637
5659
  <h3 id="fail_under_decision"><code>:fail_under_decision</code></h3>
5638
5660
  <p>Exit with status 8 if total decision coverage is below this percentage.
5639
5661
  (<code>gcovr --fail-under-decision</code>)</p>
5662
+ <p><code>gcovr</code> treats <code>--fail-under-decision</code> as a no-op without <code>--decisions</code> also
5663
+ present — setting this option implies <code>:decisions</code> (below) automatically.</p>
5640
5664
  <p><strong>Values:</strong> <code>1</code>–<code>100</code></p>
5665
+ <p><strong>Requires:</strong> <code>gcovr</code> 7.0 or higher</p>
5666
+ <hr />
5667
+ <h3 id="decisions"><code>:decisions</code></h3>
5668
+ <p>Report the decision coverage. For HTML, JSON, and the summary report.
5669
+ (<code>gcovr --decisions</code>)</p>
5670
+ <p>Implied automatically whenever <code>:fail_under_decision</code> is set.</p>
5671
+ <p><strong>Requires:</strong> <code>gcovr</code> 6.0 or higher</p>
5641
5672
  <hr />
5642
5673
  <h3 id="fail_under_function"><code>:fail_under_function</code></h3>
5643
5674
  <p>Exit with status 16 if total function coverage is below this percentage.
@@ -5824,9 +5855,11 @@ are excluded from report generation.</p>
5824
5855
  <a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">&lt;regex&gt;</span>
5825
5856
  </code></pre></div>
5826
5857
  <hr />
5827
- <h3 id="threads_1"><code>:threads</code></h3>
5828
- <p>Number of parallel threads to use during report generation.</p>
5829
- <p><strong>Default:</strong> <code>1</code></p>
5858
+ <h3 id="num_parallel_threads"><code>:num_parallel_threads</code></h3>
5859
+ <p>Number of parallel threads to use during report generation. Drives both
5860
+ ReportGenerator's own <code>numberOfReportsParsedInParallel</code> and
5861
+ <code>numberOfReportsMergedInParallel</code> settings together.</p>
5862
+ <p><strong>Default:</strong> unset (ReportGenerator's own default applies)</p>
5830
5863
  <hr />
5831
5864
  <h3 id="custom_args"><code>:custom_args</code></h3>
5832
5865
  <p>Optional list of additional command-line arguments passed directly to
Binary file
@@ -27,7 +27,6 @@
27
27
 
28
28
  :report_generator:
29
29
  :verbosity: Warning # Default verbosity
30
- :collection_paths_source: [] # Explicitly defined as default empty array to simplify option validation code
31
30
  :custom_args: [] # Explicitly defined as default empty array to simplify option validation code
32
31
  :gcov_exclude: [] # Explicitly defined as default empty array to simplify option validation code
33
32
  ...
@@ -235,8 +235,11 @@ class SystemContext
235
235
  # encoding regardless of their actual content, so any project source content the
236
236
  # subprocess echoes (verbose logging, compiler output, etc.) can make later regex
237
237
  # matching against this string raise. Sanitize once here, the same way Ceedling itself
238
- # sanitizes file content it scans.
239
- @raw_output = (stdout + stderr).clean_encoding
238
+ # sanitizes file content it scans -- reused for both the raw output and the failure
239
+ # report below, since a real compiler's own diagnostic text (e.g. clang's curly-quoted
240
+ # identifiers) is exactly the kind of non-ASCII content this needs to survive too.
241
+ stdout, stderr = stdout.clean_encoding, stderr.clean_encoding
242
+ @raw_output = stdout + stderr
240
243
  @console_summary = compose_failure_report(stdout, stderr)
241
244
 
242
245
  SystemTestOutput.new(@raw_output)
@@ -250,7 +253,8 @@ class SystemContext
250
253
 
251
254
  @last_cmd = cmd
252
255
  @last_exit_status = status.exitstatus
253
- @raw_output = (stdout + stderr).clean_encoding
256
+ stdout, stderr = stdout.clean_encoding, stderr.clean_encoding
257
+ @raw_output = stdout + stderr
254
258
  @console_summary = compose_failure_report(stdout, stderr)
255
259
 
256
260
  SystemTestOutput.new(@raw_output)
@@ -87,6 +87,8 @@ ceedling_system_tests do
87
87
 
88
88
  describe "Verbosity and output" do
89
89
  test_case :test_project_with_named_verbosity
90
+ test_case :test_project_with_warnings_verbosity_prints_overall_summary
91
+ test_case :test_project_with_errors_verbosity_prints_overall_summary_on_passing_run
90
92
  test_case :test_project_with_numerical_verbosity
91
93
  test_case :report_tests_raw_output_log_plugin
92
94
  end