ceedling 1.1.0 → 1.1.1
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.
- checksums.yaml +4 -4
- data/GIT_COMMIT_SHA +1 -1
- data/README.md +7 -4
- data/docs/Changelog.md +66 -38
- data/docs/KnownIssues.md +9 -0
- data/docs/ReleaseNotes.md +5 -1
- data/docs/mkdocs/getting-started/installation.md +8 -1
- data/docs/mkdocs/getting-started/quick-start.md +20 -2
- data/docs/mkdocs/help.md +2 -2
- data/docs/mkdocs/index.md +13 -6
- data/docs/mkdocs/overview/build-system.md +4 -4
- data/docs/mkdocs/plugins/bullseye.md +6 -0
- data/docs/mkdocs/plugins/command-hooks.md +20 -15
- data/docs/mkdocs/plugins/gcov/gcovr.md +130 -109
- data/docs/mkdocs/plugins/gcov/index.md +6 -0
- data/docs/mkdocs/plugins/index.md +40 -0
- data/docs/mkdocs/plugins/valgrind.md +6 -0
- data/docs/mkdocs/testing-guide/partials/index.md +22 -13
- data/lib/ceedling/config/configurator.rb +2 -1
- data/lib/ceedling/preprocess/preprocessinator.rb +3 -2
- data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +27 -13
- data/lib/ceedling/test_invoker/test_build_executor.rb +3 -4
- data/lib/ceedling/test_invoker/test_build_planner.rb +0 -2
- data/lib/ceedling/test_invoker/test_invoker_types.rb +1 -1
- data/lib/ceedling/tool_executor.rb +5 -0
- data/lib/version.rb +1 -1
- data/plugins/command_hooks/lib/command_hooks.rb +4 -0
- data/plugins/gcov/lib/console_reportinator.rb +3 -1
- data/plugins/gcov/lib/gcov.rb +3 -3
- data/plugins/gcov/lib/gcov_reportinator.rb +4 -0
- data/plugins/gcov/lib/gcovr_reportinator.rb +61 -14
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +3 -1
- data/site-local/404.html +3 -3
- data/site-local/assets/javascripts/{bundle.79ae519e.min.js → bundle.d7400e89.min.js} +2 -2
- data/site-local/assets/javascripts/{bundle.79ae519e.min.js.map → bundle.d7400e89.min.js.map} +2 -2
- data/site-local/assets/stylesheets/main.ec1eaa64.min.css +1 -0
- data/site-local/assets/stylesheets/{main.484c7ddc.min.css.map → main.ec1eaa64.min.css.map} +1 -1
- data/site-local/configuration/environment-vars.html +3 -3
- data/site-local/configuration/global-collections.html +3 -3
- data/site-local/configuration/index.html +3 -3
- data/site-local/configuration/loading.html +3 -3
- data/site-local/configuration/mixins.html +3 -3
- data/site-local/configuration/parallel-builds.html +3 -3
- data/site-local/configuration/project-file.html +3 -3
- data/site-local/configuration/reference/cexception.html +3 -3
- data/site-local/configuration/reference/cmock.html +3 -3
- data/site-local/configuration/reference/defines.html +3 -3
- data/site-local/configuration/reference/environment.html +3 -3
- data/site-local/configuration/reference/extension.html +3 -3
- data/site-local/configuration/reference/files.html +3 -3
- data/site-local/configuration/reference/flags.html +3 -3
- data/site-local/configuration/reference/index.html +3 -3
- data/site-local/configuration/reference/libraries.html +3 -3
- data/site-local/configuration/reference/mixins.html +3 -3
- data/site-local/configuration/reference/paths.html +3 -3
- data/site-local/configuration/reference/plugins.html +3 -3
- data/site-local/configuration/reference/project.html +3 -3
- data/site-local/configuration/reference/release-build.html +3 -3
- data/site-local/configuration/reference/test-build.html +3 -3
- data/site-local/configuration/reference/test-runner.html +3 -3
- data/site-local/configuration/reference/tools.html +3 -3
- data/site-local/configuration/reference/unity.html +3 -3
- data/site-local/configuration/which-ceedling.html +3 -3
- data/site-local/development/index.html +3 -3
- data/site-local/development/plugins/configuration.html +3 -3
- data/site-local/development/plugins/index.html +3 -3
- data/site-local/development/plugins/plugin-subclass.html +3 -3
- data/site-local/development/plugins/rake-tasks.html +3 -3
- data/site-local/development/workflow.html +3 -3
- data/site-local/getting-started/command-line.html +3 -3
- data/site-local/getting-started/example-projects/cipher-quest.html +3 -3
- data/site-local/getting-started/example-projects/index.html +3 -3
- data/site-local/getting-started/example-projects/temp-sensor.html +3 -3
- data/site-local/getting-started/example-projects/wondrous-forest.html +3 -3
- data/site-local/getting-started/index.html +3 -3
- data/site-local/getting-started/installation.html +12 -4
- data/site-local/getting-started/quick-start.html +18 -4
- data/site-local/help.html +4 -4
- data/site-local/index.html +13 -8
- data/site-local/overview/build-system.html +6 -6
- data/site-local/overview/index.html +3 -3
- data/site-local/overview/test-environments.html +3 -3
- data/site-local/overview/tools-and-frameworks.html +3 -3
- data/site-local/plugins/beep.html +3 -3
- data/site-local/plugins/bullseye.html +9 -3
- data/site-local/plugins/command-hooks.html +42 -38
- data/site-local/plugins/compile-commands-json-db.html +3 -3
- data/site-local/plugins/cppcheck.html +3 -3
- data/site-local/plugins/dependencies.html +3 -3
- data/site-local/plugins/fff.html +3 -3
- data/site-local/plugins/gcov/examples.html +3 -3
- data/site-local/plugins/gcov/gcovr.html +325 -227
- data/site-local/plugins/gcov/index.html +9 -3
- data/site-local/plugins/gcov/overview.html +3 -3
- data/site-local/plugins/gcov/reportgenerator.html +3 -3
- data/site-local/plugins/gcov/reporting.html +3 -3
- data/site-local/plugins/gcov/setup.html +3 -3
- data/site-local/plugins/gcov/tool-versions.html +3 -3
- data/site-local/plugins/gcov/troubleshooting.html +3 -3
- data/site-local/plugins/index.html +79 -15
- data/site-local/plugins/module-generator.html +3 -3
- data/site-local/plugins/report-build-warnings-log.html +3 -3
- data/site-local/plugins/report-tests-gtestlike-stdout.html +3 -3
- data/site-local/plugins/report-tests-ide-stdout.html +3 -3
- data/site-local/plugins/report-tests-log-factory.html +3 -3
- data/site-local/plugins/report-tests-pretty-stdout.html +3 -3
- data/site-local/plugins/report-tests-raw-output-log.html +3 -3
- data/site-local/plugins/report-tests-teamcity-stdout.html +3 -3
- data/site-local/plugins/valgrind.html +9 -3
- data/site-local/project/release-history.html +3 -3
- data/site-local/project/upgrade.html +3 -3
- data/site-local/reference/build-directives.html +3 -3
- data/site-local/reference/command-line.html +3 -3
- data/site-local/reference/environment-vars.html +3 -3
- data/site-local/reference/gcov-plugin.html +3 -3
- data/site-local/reference/global-collections.html +3 -3
- data/site-local/reference/index.html +3 -3
- data/site-local/reference/partials-macros.html +3 -3
- data/site-local/reference/project-configuration.html +3 -3
- data/site-local/sitemap.xml.gz +0 -0
- data/site-local/snapshot/examples/cipher_quest/index.html +3 -3
- data/site-local/snapshot/examples/temp_sensor/index.html +3 -3
- data/site-local/snapshot/examples/wondrous_forest/index.html +3 -3
- data/site-local/testing-guide/build-directives.html +3 -3
- data/site-local/testing-guide/conventions.html +3 -3
- data/site-local/testing-guide/frameworks.html +3 -3
- data/site-local/testing-guide/index.html +3 -3
- data/site-local/testing-guide/partials/configuration.html +3 -3
- data/site-local/testing-guide/partials/conventions.html +3 -3
- data/site-local/testing-guide/partials/directives.html +3 -3
- data/site-local/testing-guide/partials/example.html +3 -3
- data/site-local/testing-guide/partials/index.html +25 -16
- data/site-local/testing-guide/partials/overview.html +3 -3
- data/site-local/testing-guide/partials/variables.html +3 -3
- data/site-local/testing-guide/test-cases.html +3 -3
- data/site-local/testing-guide/test-sample.html +3 -3
- data/site-local/testing-guide/test-suite-anatomy.html +3 -3
- data/spec/support/system/system_context.rb +3 -1
- data/spec/system/support/gcov_common_test_cases.rb +4 -1
- data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +155 -0
- data/spec/units/test_build_executor_spec.rb +114 -0
- data/vendor/unity/auto/generate_test_runner.rb +55 -5
- data/vendor/unity/src/unity.h +1 -1
- data/vendor/unity/test/testdata/testRunnerGeneratorEmpty.c +13 -0
- data/vendor/unity/test/tests/test_generate_test_runner.rb +11 -0
- metadata +9 -7
- data/site-local/assets/stylesheets/main.484c7ddc.min.css +0 -1
- data/vendor/unity/auto/run_test.erb +0 -37
|
@@ -20,7 +20,9 @@ class GcovrReportinator < GcovReportinator
|
|
|
20
20
|
|
|
21
21
|
GCOVR_SETTING_PREFIX = "gcov_gcovr"
|
|
22
22
|
|
|
23
|
-
def initialize(system_objects)
|
|
23
|
+
def initialize(system_objects, config)
|
|
24
|
+
super(config)
|
|
25
|
+
|
|
24
26
|
@artifacts_path = GCOV_GCOVR_ARTIFACTS_PATH
|
|
25
27
|
@summary = ''
|
|
26
28
|
@ceedling = system_objects
|
|
@@ -37,6 +39,8 @@ class GcovrReportinator < GcovReportinator
|
|
|
37
39
|
@tool_executor = @ceedling[:tool_executor]
|
|
38
40
|
@configurator = @ceedling[:configurator]
|
|
39
41
|
|
|
42
|
+
check_config_options()
|
|
43
|
+
|
|
40
44
|
@gcovr_version = get_gcovr_version()
|
|
41
45
|
|
|
42
46
|
# MC/DC reporting requires gcovr 8+
|
|
@@ -78,13 +82,13 @@ class GcovrReportinator < GcovReportinator
|
|
|
78
82
|
# and are not included in the string returned by this method.
|
|
79
83
|
def args_builder_common(gcovr_opts, gcovr_version)
|
|
80
84
|
args = ""
|
|
81
|
-
args += "--config \"#{gcovr_opts[:config_file]}\" "
|
|
85
|
+
args += "--config \"#{gcovr_opts[:config_file]}\" " if config_file_in_use?(gcovr_opts)
|
|
82
86
|
|
|
83
87
|
# When a config file is provided, defer all other options to it.
|
|
84
88
|
# This prevents Ceedling from overriding config file values with its CLI arguments.
|
|
85
89
|
# --root (${1}) is always passed; --exclude (${2}) is nil when a config file is present,
|
|
86
90
|
# so the tool executor omits those flags and the config file governs exclusions.
|
|
87
|
-
return args if gcovr_opts
|
|
91
|
+
return args if config_file_in_use?(gcovr_opts)
|
|
88
92
|
|
|
89
93
|
args += "--filter \"#{gcovr_opts[:report_include]}\" " unless gcovr_opts[:report_include].nil?
|
|
90
94
|
args += "--gcov-filter \"#{gcovr_opts[:gcov_filter]}\" " unless gcovr_opts[:gcov_filter].nil?
|
|
@@ -149,7 +153,7 @@ class GcovrReportinator < GcovReportinator
|
|
|
149
153
|
artifacts_file_cobertura = File.join(GCOV_GCOVR_ARTIFACTS_PATH, gcovr_opts[:cobertura_artifact_filename])
|
|
150
154
|
end
|
|
151
155
|
|
|
152
|
-
args += "--xml-pretty " if gcovr_opts[:cobertura_pretty]
|
|
156
|
+
args += "--xml-pretty " if gcovr_opts[:cobertura_pretty] && !config_file_in_use?(gcovr_opts)
|
|
153
157
|
args += "--xml #{use_output_option ? "--output " : ""} \"#{artifacts_file_cobertura}\" "
|
|
154
158
|
end
|
|
155
159
|
|
|
@@ -190,7 +194,7 @@ class GcovrReportinator < GcovReportinator
|
|
|
190
194
|
artifacts_file_json = File.join(GCOV_GCOVR_ARTIFACTS_PATH, gcovr_opts[:json_artifact_filename])
|
|
191
195
|
end
|
|
192
196
|
|
|
193
|
-
args += "--json-pretty " if gcovr_opts[:json_pretty]
|
|
197
|
+
args += "--json-pretty " if gcovr_opts[:json_pretty] && !config_file_in_use?(gcovr_opts)
|
|
194
198
|
# Note: In gcovr 4.2, the JSON report is output only when the --output option is specified.
|
|
195
199
|
# Hopefully we can remove --output after a future gcovr release.
|
|
196
200
|
args += "--json #{use_output_option ? "--output " : ""} \"#{artifacts_file_json}\" "
|
|
@@ -219,12 +223,17 @@ class GcovrReportinator < GcovReportinator
|
|
|
219
223
|
is_html_report_type_detailed = (opts[:gcov_html_report_type].is_a? String) && (opts[:gcov_html_report_type].casecmp("detailed") == 0)
|
|
220
224
|
|
|
221
225
|
args += "--html-details " if is_html_report_type_detailed || report_enabled?(opts, ReportTypes::HTML_DETAILED)
|
|
222
|
-
args += "--html-title \"#{gcovr_opts[:html_title]}\" " unless gcovr_opts[:html_title].nil?
|
|
223
|
-
args += "--html-absolute-paths " if !(gcovr_opts[:html_absolute_paths].nil?) && gcovr_opts[:html_absolute_paths]
|
|
224
|
-
args += "--html-encoding \"#{gcovr_opts[:html_encoding]}\" " unless gcovr_opts[:html_encoding].nil?
|
|
225
226
|
|
|
226
|
-
|
|
227
|
-
|
|
227
|
+
# These options duplicate settings a gcovr configuration file would provide, so they're
|
|
228
|
+
# withheld when :config_file is set to avoid silently overriding the file's values.
|
|
229
|
+
if !config_file_in_use?(gcovr_opts)
|
|
230
|
+
args += "--html-title \"#{gcovr_opts[:html_title]}\" " unless gcovr_opts[:html_title].nil?
|
|
231
|
+
args += "--html-absolute-paths " if !(gcovr_opts[:html_absolute_paths].nil?) && gcovr_opts[:html_absolute_paths]
|
|
232
|
+
args += "--html-encoding \"#{gcovr_opts[:html_encoding]}\" " unless gcovr_opts[:html_encoding].nil?
|
|
233
|
+
|
|
234
|
+
[:html_medium_threshold, :html_high_threshold].each do |opt|
|
|
235
|
+
args += "--#{opt.to_s.gsub('_','-')} #{gcovr_opts[opt]} " unless gcovr_opts[opt].nil?
|
|
236
|
+
end
|
|
228
237
|
end
|
|
229
238
|
|
|
230
239
|
# The following option must be appended last for gcovr version <= 4.2 to properly work.
|
|
@@ -313,6 +322,42 @@ class GcovrReportinator < GcovReportinator
|
|
|
313
322
|
end
|
|
314
323
|
|
|
315
324
|
|
|
325
|
+
# gcovr options silently ignored whenever :config_file is set (dropped by args_builder_common's
|
|
326
|
+
# early return, or gated in args_builder_cobertura/json/html) -- in that case all such
|
|
327
|
+
# configuration must come from the gcovr configuration file itself.
|
|
328
|
+
IGNORED_WHEN_CONFIG_FILE_SET = [
|
|
329
|
+
:report_include, :report_exclude, :gcov_filter, :gcov_exclude, :exclude_directories,
|
|
330
|
+
:branches, :sort_uncovered, :sort_percentage, :print_summary, :gcov_executable,
|
|
331
|
+
:exclude_unreachable_branches, :exclude_throw_branches, :use_gcov_files, :gcov_ignore_parse_errors,
|
|
332
|
+
:keep, :delete, :threads, :merge_mode_function,
|
|
333
|
+
:fail_under_line, :fail_under_branch, :fail_under_decision, :fail_under_function,
|
|
334
|
+
:source_encoding, :object_directory,
|
|
335
|
+
:cobertura_pretty, :json_pretty,
|
|
336
|
+
:html_title, :html_absolute_paths, :html_encoding, :html_medium_threshold, :html_high_threshold
|
|
337
|
+
].freeze
|
|
338
|
+
|
|
339
|
+
# True when a gcovr configuration file is in use, meaning Ceedling must defer to it and
|
|
340
|
+
# withhold any option that would silently override its settings.
|
|
341
|
+
def config_file_in_use?(gcovr_opts)
|
|
342
|
+
!gcovr_opts[:config_file].nil?
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
# Validate the gcovr plugin configuration for known-bad combinations.
|
|
347
|
+
def check_config_options
|
|
348
|
+
gcovr_opts = @config[GCOVR_SETTING_PREFIX.to_sym] || {}
|
|
349
|
+
return unless config_file_in_use?(gcovr_opts)
|
|
350
|
+
|
|
351
|
+
ignored = IGNORED_WHEN_CONFIG_FILE_SET.select { |key| !gcovr_opts[key].nil? }
|
|
352
|
+
return if ignored.empty?
|
|
353
|
+
|
|
354
|
+
list = ignored.map { |key| ":#{key}" }.join(', ')
|
|
355
|
+
msg = ":gcov ↳ :gcovr ↳ :config_file is set, so the following options are ignored: #{list}. " \
|
|
356
|
+
"Provide equivalent settings directly in your gcovr configuration file instead."
|
|
357
|
+
@loginator.log( msg, Verbosity::COMPLAIN )
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
|
|
316
361
|
# Get the gcovr options from the project options.
|
|
317
362
|
def collect_gcovr_opts(opts)
|
|
318
363
|
# dup prevents repeated calls from accumulating mutations on the shared opts hash.
|
|
@@ -320,10 +365,12 @@ class GcovrReportinator < GcovReportinator
|
|
|
320
365
|
# would see the already-mutated :report_exclude from the previous call and nest it.
|
|
321
366
|
_opts = opts[GCOVR_SETTING_PREFIX.to_sym].dup
|
|
322
367
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
368
|
+
if config_file_in_use?(_opts)
|
|
369
|
+
# A gcovr config file is authoritative; CLI args override it, so injecting
|
|
370
|
+
# auto-excludes would silently defeat the config file. Force an empty array
|
|
371
|
+
# (not nil) so the tool executor omits the --exclude flag entirely.
|
|
372
|
+
_opts[:report_exclude] = []
|
|
373
|
+
else
|
|
327
374
|
# Build array of --exclude patterns: user-provided value (if any) + internally-generated per-file patterns.
|
|
328
375
|
# Splat via *Array() handles both a user-supplied string and a user-supplied array
|
|
329
376
|
# without introducing a nested element into the exclusions list.
|
|
@@ -19,7 +19,9 @@ class ReportGeneratorReportinator < GcovReportinator
|
|
|
19
19
|
|
|
20
20
|
attr_reader :artifacts_path
|
|
21
21
|
|
|
22
|
-
def initialize(system_objects)
|
|
22
|
+
def initialize(system_objects, config)
|
|
23
|
+
super(config)
|
|
24
|
+
|
|
23
25
|
@artifacts_path = GCOV_REPORT_GENERATOR_ARTIFACTS_PATH
|
|
24
26
|
@summary = ''
|
|
25
27
|
@ceedling = system_objects
|
data/site-local/404.html
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
<link rel="icon" href="/assets/images/favicon.png">
|
|
20
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.
|
|
20
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
<link rel="stylesheet" href="/assets/stylesheets/main.
|
|
28
|
+
<link rel="stylesheet" href="/assets/stylesheets/main.ec1eaa64.min.css">
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
<link rel="stylesheet" href="/assets/stylesheets/palette.ab4e12ef.min.css">
|
|
@@ -3995,7 +3995,7 @@
|
|
|
3995
3995
|
<script id="__config" type="application/json">{"annotate": null, "base": "/", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "/assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
|
|
3996
3996
|
|
|
3997
3997
|
|
|
3998
|
-
<script src="/assets/javascripts/bundle.
|
|
3998
|
+
<script src="/assets/javascripts/bundle.d7400e89.min.js"></script>
|
|
3999
3999
|
|
|
4000
4000
|
|
|
4001
4001
|
</body>
|