ceedling 1.1.10 → 1.2.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.
Files changed (1145) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/.simplecov +73 -0
  4. data/GIT_COMMIT_SHA +1 -1
  5. data/Gemfile +84 -8
  6. data/Gemfile.lock +38 -8
  7. data/README.md +64 -45
  8. data/Rakefile +769 -16
  9. data/assets/{project.yml → features/project.yml} +4 -1
  10. data/assets/fixtures/bullseye_branch_coverage/src/branchy.c +24 -0
  11. data/assets/fixtures/bullseye_branch_coverage/src/branchy.h +14 -0
  12. data/assets/fixtures/bullseye_branch_coverage/test/test_branchy.c +18 -0
  13. data/assets/fixtures/cppcheck_findings/findings.c +23 -0
  14. data/assets/fixtures/cppcheck_findings/findings.h +13 -0
  15. data/assets/fixtures/header_include_path_validation/alt_drivers/foo.h +6 -0
  16. data/assets/fixtures/header_include_path_validation/bar.h +6 -0
  17. data/assets/fixtures/header_include_path_validation/drivers/foo.h +6 -0
  18. data/assets/fixtures/header_include_path_validation/dup.h +6 -0
  19. data/assets/fixtures/header_include_path_validation/other_inc/dup.h +6 -0
  20. data/assets/fixtures/header_include_path_validation/test_ambiguous_mock.c +15 -0
  21. data/assets/fixtures/header_include_path_validation/test_bare_mock.c +11 -0
  22. data/assets/fixtures/header_include_path_validation/test_bogus_mock_path.c +11 -0
  23. data/assets/fixtures/header_include_path_validation/test_bogus_vanilla_path.c +10 -0
  24. data/assets/fixtures/header_include_path_validation/test_include_outranks_test_include_path.c +16 -0
  25. data/assets/fixtures/header_include_path_validation/test_pathed_mock.c +11 -0
  26. data/assets/fixtures/header_include_path_validation/test_pathed_mock_ambiguous.c +14 -0
  27. data/assets/fixtures/header_include_path_validation/test_test_include_path_outranks_include.c +17 -0
  28. data/assets/fixtures/implicit_source_header_correspondence/alpha/dup.c +6 -0
  29. data/assets/fixtures/implicit_source_header_correspondence/alpha/dup.h +6 -0
  30. data/assets/fixtures/implicit_source_header_correspondence/beta/dup.c +6 -0
  31. data/assets/fixtures/implicit_source_header_correspondence/beta/dup.h +6 -0
  32. data/assets/fixtures/implicit_source_header_correspondence/gamma/dup_gamma.c +6 -0
  33. data/assets/fixtures/implicit_source_header_correspondence/test_dup_alpha.c +10 -0
  34. data/assets/fixtures/implicit_source_header_correspondence/test_dup_bare.c +10 -0
  35. data/assets/fixtures/implicit_source_header_correspondence/test_dup_beta.c +10 -0
  36. data/assets/fixtures/implicit_source_header_correspondence/test_dup_override.c +19 -0
  37. data/assets/fixtures/implicit_source_header_correspondence/test_dup_subtractive.c +19 -0
  38. data/assets/fixtures/implicit_source_header_correspondence/test_dup_subtractive_noop.c +16 -0
  39. data/assets/fixtures/parent_directory_references/alpha/extra.c +4 -0
  40. data/assets/fixtures/parent_directory_references/common/helper.c +6 -0
  41. data/assets/fixtures/parent_directory_references/common/helper.h +6 -0
  42. data/assets/fixtures/parent_directory_references/unit/test_dotdot_include.c +10 -0
  43. data/assets/fixtures/parent_directory_references/unit/test_dotdot_source.c +16 -0
  44. data/assets/fixtures/plain_inline_module.h +9 -0
  45. data/assets/fixtures/same_named_modules/include/drivers/spi/config.h +6 -0
  46. data/assets/fixtures/same_named_modules/include/drivers/uart/config.h +6 -0
  47. data/assets/fixtures/same_named_modules/src/drivers/spi/config.c +8 -0
  48. data/assets/fixtures/same_named_modules/src/drivers/uart/config.c +10 -0
  49. data/assets/fixtures/same_named_modules/test/test_both_configs.c +26 -0
  50. data/assets/fixtures/same_named_modules/test/test_both_configs_mocked.c +20 -0
  51. data/assets/fixtures/same_named_modules/test/test_both_configs_mocked_traditional.c +19 -0
  52. data/assets/fixtures/same_named_modules/test/test_both_modules.c +19 -0
  53. data/assets/fixtures/same_named_modules/test/test_uart_config_bare.c +19 -0
  54. data/assets/fixtures/same_named_modules/test/test_uart_config_partial_only.c +20 -0
  55. data/assets/fixtures/sources_with_duplicate_basenames/baz/bar.c +6 -0
  56. data/assets/fixtures/sources_with_duplicate_basenames/baz/bar.h +6 -0
  57. data/assets/fixtures/sources_with_duplicate_basenames/foo/bar.c +6 -0
  58. data/assets/fixtures/sources_with_duplicate_basenames/foo/bar.h +6 -0
  59. data/assets/fixtures/sources_with_duplicate_basenames/main.c +11 -0
  60. data/assets/fixtures/sources_with_duplicate_basenames/test_baz_bar.c +10 -0
  61. data/assets/fixtures/sources_with_duplicate_basenames/test_both_bars.c +12 -0
  62. data/assets/fixtures/sources_with_duplicate_basenames/test_foo_bar.c +10 -0
  63. data/assets/{test_example_file_boom.c → fixtures/test_nosanitize_boom.c} +9 -0
  64. data/assets/{test_example_file_crash_assert.c → fixtures/test_nosanitize_crash_assert.c} +8 -0
  65. data/assets/{test_example_file_crash_sigsegv.c → fixtures/test_nosanitize_crash_sigsegv.c} +8 -0
  66. data/assets/{test_example_file_crash_sigsegv_with_param.c → fixtures/test_nosanitize_crash_sigsegv_with_param.c} +8 -0
  67. data/assets/fixtures/test_nosanitize_heap_buffer_overflow.c +31 -0
  68. data/assets/fixtures/test_nosanitize_leak.c +34 -0
  69. data/assets/fixtures/test_nosanitize_two_findings.c +36 -0
  70. data/assets/{test_example_file_ub_shift_overflow.c → fixtures/test_nosanitize_ub_shift_overflow.c} +9 -0
  71. data/assets/fixtures/test_plain_inline_module.c +15 -0
  72. data/assets/fixtures/test_source_file_duplicate_basenames/alpha/calc.c +4 -0
  73. data/assets/fixtures/test_source_file_duplicate_basenames/beta/calc.c +4 -0
  74. data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_alpha.c +15 -0
  75. data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_ambiguous.c +15 -0
  76. data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_beta.c +15 -0
  77. data/assets/fixtures/tests_with_conditional_includes/src/feature_extra2.h +13 -0
  78. data/assets/fixtures/tests_with_conditional_includes/src/macro_target_extra.h +13 -0
  79. data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget.c +19 -3
  80. data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget.h +1 -0
  81. data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget_feature.c +17 -1
  82. data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/test/test_widget.c +12 -4
  83. data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/test/test_widget_feature.c +8 -5
  84. data/assets/fixtures/tests_with_conditional_mocks/src/Case_01.c +7 -0
  85. data/assets/fixtures/tests_with_conditional_mocks/src/Case_01.h +6 -0
  86. data/assets/fixtures/tests_with_conditional_mocks/src/Case_02.c +16 -0
  87. data/assets/fixtures/tests_with_conditional_mocks/src/Case_02.h +6 -0
  88. data/assets/fixtures/tests_with_conditional_mocks/src/FeatureConfig.h +6 -0
  89. data/assets/fixtures/tests_with_conditional_mocks/src/Gpt.h +6 -0
  90. data/assets/fixtures/tests_with_conditional_mocks/src/MyModuleConfig.h +17 -0
  91. data/assets/fixtures/tests_with_conditional_mocks/src/MyModulePart1.h +6 -0
  92. data/assets/fixtures/tests_with_conditional_mocks/src/MyModulePart2.h +6 -0
  93. data/assets/fixtures/tests_with_conditional_mocks/src/drivers/widget.h +6 -0
  94. data/assets/fixtures/tests_with_conditional_mocks/src/reader.c +7 -0
  95. data/assets/fixtures/tests_with_conditional_mocks/src/reader.h +6 -0
  96. data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_01.c +21 -0
  97. data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_01_legacy.c +16 -0
  98. data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_02.c +31 -0
  99. data/assets/fixtures/tests_with_conditional_mocks/test/test_FeatureConfig.c +15 -0
  100. data/assets/fixtures/tests_with_conditional_mocks/test/test_reader.c +13 -0
  101. data/assets/fixtures/tests_with_duplicate_test_names/integration/test_foo.c +21 -0
  102. data/assets/fixtures/tests_with_duplicate_test_names/unit/test_foo.c +21 -0
  103. data/assets/fixtures/tests_with_fallback_conditionals/src/conditional_module.c +28 -0
  104. data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/test/test_conditionals.c +8 -1
  105. data/assets/fixtures/tests_with_multiple_assembly_extensions/src/asm_helper_lower.s +2 -0
  106. data/assets/fixtures/tests_with_multiple_assembly_extensions/src/asm_helper_upper.S +13 -0
  107. data/assets/fixtures/tests_with_multiple_assembly_extensions/src/counter_module.c +13 -0
  108. data/assets/fixtures/tests_with_multiple_assembly_extensions/src/counter_module.h +13 -0
  109. data/assets/fixtures/tests_with_multiple_assembly_extensions/test/test_counter_module.c +27 -0
  110. data/assets/fixtures/tests_with_subdir_includes/src/module/app/config.h +13 -0
  111. data/assets/fixtures/tests_with_subdir_includes/src/module/drivers/config.h +13 -0
  112. data/assets/fixtures/tests_with_subdir_includes/src/module/sensor.c +30 -0
  113. data/assets/fixtures/tests_with_subdir_includes/src/module/sensor.h +13 -0
  114. data/assets/fixtures/tests_with_subdir_includes/src/shared/config.h +13 -0
  115. data/assets/fixtures/tests_with_subdir_includes/test/test_sensor.c +32 -0
  116. data/bin/actionator.rb +234 -0
  117. data/bin/app_cfg.rb +28 -0
  118. data/bin/cli.rb +78 -47
  119. data/bin/cli_handler.rb +96 -58
  120. data/bin/cli_helper.rb +95 -49
  121. data/bin/cli_options_transform.rb +22 -0
  122. data/bin/{configinator.rb → composinator.rb} +39 -32
  123. data/bin/mixin_resolvinator.rb +124 -0
  124. data/bin/mixin_standardizer.rb +31 -61
  125. data/bin/mixinator.rb +27 -29
  126. data/bin/mixins.rb +0 -5
  127. data/bin/objects.yml +20 -7
  128. data/bin/path_validator.rb +6 -5
  129. data/bin/projectinator.rb +51 -142
  130. data/bin/rake_patches.rb +36 -2
  131. data/bin/recursive_merger.rb +7 -1
  132. data/bin/versionator.rb +2 -3
  133. data/ceedling.gemspec +83 -12
  134. data/docs/BreakingChanges.md +46 -2
  135. data/docs/CONTRIBUTING.md +45 -29
  136. data/docs/CeedlingPullRequestChecklist.md +10 -9
  137. data/docs/Changelog.md +337 -37
  138. data/docs/KnownIssues.md +30 -4
  139. data/docs/ReleaseNotes.md +288 -12
  140. data/docs/SECURITY.md +46 -2
  141. data/docs/ThrowTheSwitchCodingStandard.md +21 -3
  142. data/docs/overrides/main.html +35 -0
  143. data/examples/temp_sensor/mixin/add_bullseye.yml +19 -0
  144. data/examples/wondrous_forest/README.md +3 -0
  145. data/examples/wondrous_forest/src/sensors/light/Calibration.c +21 -0
  146. data/examples/wondrous_forest/src/sensors/light/Calibration.h +14 -0
  147. data/examples/wondrous_forest/src/sensors/soil/Calibration.c +23 -0
  148. data/examples/wondrous_forest/src/sensors/soil/Calibration.h +14 -0
  149. data/examples/wondrous_forest/test/TestCalibration.c +39 -0
  150. data/lib/ceedling/batchinator.rb +81 -22
  151. data/lib/ceedling/c_extractor/README.md +61 -0
  152. data/lib/ceedling/c_extractor/c_extractor.rb +33 -2
  153. data/lib/ceedling/c_extractor/c_extractor_code_text.rb +18 -10
  154. data/lib/ceedling/c_extractor/c_extractor_constants.rb +10 -10
  155. data/lib/ceedling/c_extractor/c_extractor_declarations.rb +14 -14
  156. data/lib/ceedling/c_extractor/c_extractor_functions.rb +10 -13
  157. data/lib/ceedling/c_extractor/c_extractor_preprocessing.rb +77 -0
  158. data/lib/ceedling/c_extractor/c_extractor_types.rb +8 -5
  159. data/lib/ceedling/ceedling.h +33 -0
  160. data/lib/ceedling/config/config_matchinator.rb +36 -13
  161. data/lib/ceedling/config/configurator.rb +370 -531
  162. data/lib/ceedling/config/configurator_builder.rb +253 -365
  163. data/lib/ceedling/config/configurator_plugins.rb +68 -102
  164. data/lib/ceedling/config/configurator_setup.rb +360 -616
  165. data/lib/ceedling/config/configurator_validator.rb +114 -142
  166. data/lib/ceedling/config/line_marker_suppressors.rb +67 -0
  167. data/lib/ceedling/constants.rb +60 -6
  168. data/lib/ceedling/defaults.rb +28 -14
  169. data/lib/ceedling/defineinator.rb +9 -4
  170. data/lib/ceedling/dependencies/README.md +69 -0
  171. data/lib/ceedling/dependencies/dependency_cache_store.rb +160 -0
  172. data/lib/ceedling/dependencies/dependency_debug_tree.rb +129 -0
  173. data/lib/ceedling/dependencies/dependency_differ.rb +127 -0
  174. data/lib/ceedling/dependencies/dependency_hasher.rb +94 -0
  175. data/lib/ceedling/dependencies/dependency_path_normalizer.rb +80 -0
  176. data/lib/ceedling/dependencies/dependency_tracker.rb +405 -0
  177. data/lib/ceedling/dependencies/dependinator.rb +65 -0
  178. data/lib/ceedling/dependencies/gcc_dependency_parser.rb +86 -0
  179. data/lib/ceedling/encodinator.rb +23 -11
  180. data/lib/ceedling/file_finder.rb +373 -89
  181. data/lib/ceedling/file_finder_helper.rb +44 -33
  182. data/lib/ceedling/file_path_collection_utils.rb +17 -4
  183. data/lib/ceedling/file_path_utils.rb +310 -52
  184. data/lib/ceedling/file_wrapper.rb +275 -8
  185. data/lib/ceedling/filename_extension.rb +91 -0
  186. data/lib/ceedling/flaginator.rb +6 -2
  187. data/lib/ceedling/generators/generator.rb +192 -70
  188. data/lib/ceedling/generators/generator_helper.rb +116 -69
  189. data/lib/ceedling/generators/generator_mocks.rb +13 -8
  190. data/lib/ceedling/generators/generator_partials.rb +47 -15
  191. data/lib/ceedling/generators/generator_test_results.rb +29 -17
  192. data/lib/ceedling/generators/generator_test_results_backtrace.rb +199 -107
  193. data/lib/ceedling/generators/generator_test_results_sanity_checker.rb +1 -1
  194. data/lib/ceedling/includes/include_factory.rb +21 -6
  195. data/lib/ceedling/includes/include_pathinator.rb +40 -4
  196. data/lib/ceedling/includes/includes.rb +215 -61
  197. data/lib/ceedling/loginator.rb +13 -4
  198. data/lib/ceedling/objects.yml +216 -33
  199. data/lib/ceedling/parsing_parcels.rb +39 -13
  200. data/lib/ceedling/partials/README.md +53 -0
  201. data/lib/ceedling/partials/partializer.rb +118 -26
  202. data/lib/ceedling/partials/partializer_config.rb +141 -8
  203. data/lib/ceedling/partials/partializer_helper.rb +88 -2
  204. data/lib/ceedling/partials/partializer_utils.rb +1 -1
  205. data/lib/ceedling/partials/partials.rb +4 -4
  206. data/lib/ceedling/path_matcher.rb +163 -0
  207. data/lib/ceedling/path_mirror.rb +73 -0
  208. data/lib/ceedling/plugins/plugin.rb +1 -1
  209. data/lib/ceedling/plugins/plugin_manager.rb +31 -15
  210. data/lib/ceedling/plugins/plugin_manager_helper.rb +5 -1
  211. data/lib/ceedling/plugins/plugin_reportinator.rb +36 -7
  212. data/lib/ceedling/plugins/plugin_reportinator_helper.rb +3 -3
  213. data/lib/ceedling/plugins/report_log_writer_plugin.rb +66 -0
  214. data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +18 -5
  215. data/lib/ceedling/preprocess/README.md +135 -120
  216. data/lib/ceedling/preprocess/c_comment_scanner.rb +9 -7
  217. data/lib/ceedling/preprocess/c_preprocessor_conditionals.rb +27 -10
  218. data/lib/ceedling/preprocess/preprocessinator.rb +253 -217
  219. data/lib/ceedling/preprocess/preprocessinator_bare_includes_extractor.rb +7 -10
  220. data/lib/ceedling/preprocess/preprocessinator_code_finder.rb +8 -6
  221. data/lib/ceedling/preprocess/preprocessinator_comment_stripper.rb +5 -3
  222. data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +86 -82
  223. data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +182 -163
  224. data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +174 -8
  225. data/lib/ceedling/preprocess/preprocessinator_reconstructor.rb +41 -20
  226. data/lib/ceedling/quote_include_isolator.rb +129 -0
  227. data/lib/ceedling/rake_app/rake_task_registry.rb +9 -9
  228. data/lib/ceedling/rake_app/rake_wrapper.rb +0 -13
  229. data/lib/ceedling/rake_app/rakefile_component_resolver.rb +24 -12
  230. data/lib/ceedling/rake_app/test_task_name.rb +29 -0
  231. data/lib/ceedling/rakefile.rb +3 -1
  232. data/lib/ceedling/{tasks_base.rake → rakefiles/base/tasks_base.rake} +1 -1
  233. data/lib/ceedling/{tasks_filesystem.rake → rakefiles/base/tasks_filesystem.rake} +3 -0
  234. data/lib/ceedling/rakefiles/release/rules_release.rake +52 -0
  235. data/lib/ceedling/{erb_wrapper.rb → rakefiles/release/tasks_release.rake} +5 -8
  236. data/lib/ceedling/{rules_tests.rake → rakefiles/tests/rules_tests.rake} +4 -18
  237. data/lib/ceedling/rakefiles/tests/rules_tests_generate.rake +54 -0
  238. data/lib/ceedling/{tasks_tests.rake → rakefiles/tests/tasks_tests.rake} +11 -20
  239. data/lib/ceedling/rakefiles/tests/tasks_tests_generate.rake +55 -0
  240. data/lib/ceedling/release_invoker/README.md +35 -0
  241. data/lib/ceedling/release_invoker/release_build_executor.rb +263 -0
  242. data/lib/ceedling/release_invoker/release_build_planner.rb +80 -0
  243. data/lib/ceedling/release_invoker/release_invoker.rb +78 -0
  244. data/lib/ceedling/release_invoker/release_invoker_types.rb +40 -0
  245. data/lib/ceedling/reportinator.rb +18 -2
  246. data/lib/ceedling/ruby_expandinator.rb +40 -1
  247. data/lib/ceedling/setupinator.rb +13 -3
  248. data/lib/ceedling/system_wrapper.rb +17 -0
  249. data/lib/ceedling/templateinator.rb +146 -0
  250. data/lib/ceedling/test_context_extractor.rb +59 -28
  251. data/lib/ceedling/test_invoker/HEADER_COLLISIONS.md +41 -0
  252. data/lib/ceedling/test_invoker/PIPELINE.md +142 -0
  253. data/lib/ceedling/test_invoker/README.md +6 -0
  254. data/lib/ceedling/test_invoker/mock_locator.rb +49 -0
  255. data/lib/ceedling/test_invoker/partials_manager.rb +426 -0
  256. data/lib/ceedling/test_invoker/standin_headerinator.rb +136 -0
  257. data/lib/ceedling/test_invoker/test_bare_includes_extractinator.rb +117 -0
  258. data/lib/ceedling/test_invoker/test_build_executor.rb +800 -429
  259. data/lib/ceedling/test_invoker/test_build_planner.rb +175 -70
  260. data/lib/ceedling/test_invoker/test_build_setup.rb +132 -241
  261. data/lib/ceedling/test_invoker/test_build_validations.rb +102 -0
  262. data/lib/ceedling/test_invoker/test_file_preprocessinator.rb +148 -0
  263. data/lib/ceedling/test_invoker/test_includes_extractinator.rb +34 -0
  264. data/lib/ceedling/test_invoker/test_includes_preprocessinator.rb +118 -0
  265. data/lib/ceedling/test_invoker/test_includes_reconcilinator.rb +149 -0
  266. data/lib/ceedling/test_invoker/test_invoker.rb +16 -183
  267. data/lib/ceedling/test_invoker/test_invoker_types.rb +85 -16
  268. data/lib/ceedling/test_invoker/test_pipeline_helpers.rb +121 -0
  269. data/lib/ceedling/test_invoker/test_pipeline_manager.rb +303 -0
  270. data/lib/ceedling/test_invoker/test_runner_generatinator.rb +105 -0
  271. data/lib/ceedling/test_invoker/test_search_paths.rb +73 -0
  272. data/lib/ceedling/test_invoker/test_source_file_directive_resolver.rb +78 -0
  273. data/lib/ceedling/tool_executor.rb +42 -13
  274. data/lib/ceedling/tool_executor_helper.rb +1 -1
  275. data/lib/ceedling/tool_validator.rb +124 -123
  276. data/lib/ceedling/yaml_wrapper.rb +5 -3
  277. data/lib/version.rb +19 -2
  278. data/mkdocs.prerelease.yml +42 -0
  279. data/mkdocs.yml +10 -2
  280. data/plugins/bullseye/bullseye.rake +71 -111
  281. data/plugins/bullseye/config/defaults.yml +12 -54
  282. data/plugins/bullseye/config/defaults_bullseye.rb +182 -0
  283. data/plugins/bullseye/lib/bullseye.rb +511 -120
  284. data/plugins/bullseye/lib/bullseye_constants.rb +100 -0
  285. data/plugins/command_hooks/lib/command_hooks.rb +117 -199
  286. data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +72 -27
  287. data/plugins/cppcheck/config/defaults.yml +6 -1
  288. data/plugins/cppcheck/config/defaults_cppcheck.rb +5 -1
  289. data/plugins/cppcheck/cppcheck.rake +7 -1
  290. data/plugins/cppcheck/lib/cppcheck.rb +175 -26
  291. data/plugins/cppcheck/lib/cppcheck_constants.rb +12 -0
  292. data/plugins/cppcheck/lib/cppcheck_reports.rb +5 -1
  293. data/plugins/dependencies/Rakefile +14 -2
  294. data/plugins/dependencies/config/defaults.yml +9 -6
  295. data/plugins/dependencies/dependencies.rake +46 -76
  296. data/plugins/dependencies/example/boss/project.yml +1 -1
  297. data/plugins/dependencies/example/supervisor/project.yml +1 -1
  298. data/plugins/dependencies/example/version.tar.gzip +0 -0
  299. data/plugins/dependencies/lib/dependencies.rb +232 -427
  300. data/plugins/dependencies/lib/dependency_commands.rb +72 -0
  301. data/plugins/dependencies/lib/dependency_environment.rb +57 -0
  302. data/plugins/dependencies/lib/dependency_spec.rb +145 -0
  303. data/plugins/fff/.rspec +1 -0
  304. data/plugins/fff/Rakefile +14 -2
  305. data/plugins/fff/examples/fff_example/project.yml +1 -1
  306. data/plugins/fff/lib/fff.rb +30 -9
  307. data/plugins/fff/lib/fff_mock_generator.rb +142 -128
  308. data/plugins/fff/spec/fff_mock_header_generator_spec.rb +15 -0
  309. data/plugins/fff/spec/fff_mock_source_generator_spec.rb +14 -0
  310. data/plugins/fff/spec/spec_helper.rb +45 -0
  311. data/plugins/fff/src/fff_unity_helper.h +5 -0
  312. data/plugins/fff/vendor/fff/fakegen.rb +5 -4
  313. data/plugins/fff/vendor/fff/fff.h +4 -4
  314. data/plugins/gcov/config/defaults.yml +5 -0
  315. data/plugins/gcov/gcov.rake +16 -15
  316. data/plugins/gcov/lib/console_reportinator.rb +140 -20
  317. data/plugins/gcov/lib/gcov.rb +155 -60
  318. data/plugins/gcov/lib/gcov_constants.rb +4 -7
  319. data/plugins/gcov/lib/gcov_reportinator.rb +90 -0
  320. data/plugins/gcov/lib/gcov_types.rb +62 -1
  321. data/plugins/gcov/lib/gcovr_reportinator.rb +255 -213
  322. data/plugins/gcov/lib/reportgenerator_reportinator.rb +122 -44
  323. data/plugins/module_generator/Rakefile +4 -4
  324. data/plugins/module_generator/config/module_generator.yml +0 -1
  325. data/plugins/module_generator/example/project.yml +1 -1
  326. data/plugins/module_generator/lib/module_generator.rb +117 -87
  327. data/plugins/module_generator/lib/module_generator_options.rb +150 -0
  328. data/plugins/module_generator/lib/module_generator_project.rb +45 -0
  329. data/plugins/module_generator/lib/module_generator_request.rb +83 -0
  330. data/plugins/module_generator/lib/module_generator_test_file.rb +68 -0
  331. data/plugins/module_generator/lib/module_generator_unity.rb +24 -0
  332. data/plugins/module_generator/module_generator.rake +24 -46
  333. data/plugins/report_build_warnings_log/config/defaults.yml +4 -1
  334. data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +47 -55
  335. data/plugins/report_build_warnings_log/lib/warning_collector.rb +140 -0
  336. data/plugins/report_build_warnings_log/lib/warning_reports.rb +135 -0
  337. data/plugins/report_tests_gtestlike_stdout/assets/test_results.template +3 -0
  338. data/{spec/units/configurator_builder_spec.rb → plugins/report_tests_gtestlike_stdout/config/defaults.yml} +6 -10
  339. data/plugins/report_tests_gtestlike_stdout/lib/gtestlike_report.rb +168 -0
  340. data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +25 -1
  341. data/plugins/report_tests_ide_stdout/assets/test_results.template +50 -0
  342. data/plugins/report_tests_ide_stdout/config/defaults.yml +13 -0
  343. data/plugins/report_tests_ide_stdout/lib/ide_report_lines.rb +103 -0
  344. data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +12 -4
  345. data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +33 -51
  346. data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +286 -295
  347. data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +22 -35
  348. data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +91 -133
  349. data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +72 -86
  350. data/plugins/report_tests_log_factory/lib/tests_reporter.rb +31 -12
  351. data/plugins/report_tests_pretty_stdout/assets/{template.erb → test_results.template} +8 -8
  352. data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +18 -48
  353. data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +13 -2
  354. data/plugins/sanitize/config/defaults.yml +44 -0
  355. data/plugins/sanitize/config/defaults_sanitize.rb +20 -0
  356. data/plugins/sanitize/lib/sanitize.rb +174 -0
  357. data/plugins/sanitize/lib/sanitize_config.rb +110 -0
  358. data/plugins/sanitize/lib/sanitize_constants.rb +13 -0
  359. data/plugins/sanitize/lib/sanitize_findings.rb +85 -0
  360. data/plugins/sanitize/lib/sanitize_records.rb +115 -0
  361. data/plugins/sanitize/lib/sanitize_reports.rb +135 -0
  362. data/plugins/sanitize/sanitize.rake +108 -0
  363. data/plugins/valgrind/config/defaults.yml +7 -1
  364. data/plugins/valgrind/config/defaults_valgrind.rb +6 -1
  365. data/plugins/valgrind/lib/valgrind.rb +202 -39
  366. data/plugins/valgrind/lib/valgrind_constants.rb +4 -0
  367. data/plugins/valgrind/lib/valgrind_report.rb +52 -0
  368. data/plugins/valgrind/valgrind.rake +37 -15
  369. data/site-local/404.html +239 -19
  370. data/site-local/assets/javascripts/{bundle.d7400e89.min.js → bundle.c21346df.min.js} +3 -3
  371. data/site-local/assets/javascripts/{bundle.d7400e89.min.js.map → bundle.c21346df.min.js.map} +2 -2
  372. data/site-local/assets/javascripts/workers/{search.2c215733.min.js → search.a7633da7.min.js} +2 -2
  373. data/site-local/assets/javascripts/workers/{search.2c215733.min.js.map → search.a7633da7.min.js.map} +1 -1
  374. data/site-local/assets/stylesheets/main.57a0d79d.min.css +6 -0
  375. data/site-local/assets/stylesheets/main.57a0d79d.min.css.map +1 -0
  376. data/site-local/assets/stylesheets/palette.fb2fffe2.min.css +4 -0
  377. data/site-local/assets/stylesheets/palette.fb2fffe2.min.css.map +1 -0
  378. data/site-local/configuration/environment-vars.html +239 -19
  379. data/site-local/configuration/global-collections.html +239 -24
  380. data/site-local/configuration/index.html +240 -20
  381. data/site-local/configuration/loading.html +251 -27
  382. data/site-local/configuration/mixins.html +247 -26
  383. data/site-local/configuration/parallel-builds.html +239 -19
  384. data/site-local/configuration/project-file.html +268 -37
  385. data/site-local/configuration/reference/cexception.html +246 -25
  386. data/site-local/configuration/reference/cmock.html +272 -19
  387. data/site-local/configuration/reference/defines.html +263 -34
  388. data/site-local/configuration/reference/environment.html +246 -26
  389. data/site-local/configuration/reference/extension.html +352 -21
  390. data/site-local/configuration/reference/files.html +258 -24
  391. data/site-local/configuration/reference/flags.html +268 -31
  392. data/site-local/configuration/reference/index.html +239 -19
  393. data/site-local/configuration/reference/libraries.html +239 -19
  394. data/site-local/configuration/reference/mixins.html +239 -19
  395. data/site-local/configuration/reference/partials.html +240 -24
  396. data/site-local/configuration/reference/paths.html +269 -23
  397. data/site-local/configuration/reference/plugins.html +239 -19
  398. data/site-local/configuration/reference/project.html +292 -29
  399. data/site-local/configuration/reference/release-build.html +247 -19
  400. data/site-local/configuration/reference/test-build.html +281 -29
  401. data/site-local/configuration/reference/test-runner.html +279 -22
  402. data/site-local/configuration/reference/tools.html +257 -31
  403. data/site-local/configuration/reference/unity.html +271 -20
  404. data/site-local/configuration/which-ceedling.html +239 -19
  405. data/site-local/development/index.html +245 -19
  406. data/site-local/development/plugins/configuration.html +260 -22
  407. data/site-local/development/plugins/index.html +258 -20
  408. data/site-local/development/plugins/plugin-subclass.html +912 -174
  409. data/site-local/development/plugins/rake-tasks.html +269 -21
  410. data/site-local/development/releases.html +4759 -0
  411. data/site-local/development/workflow.html +1023 -58
  412. data/site-local/getting-started/builds.html +4593 -0
  413. data/site-local/getting-started/command-line.html +409 -39
  414. data/site-local/getting-started/example-projects/cipher-quest.html +239 -19
  415. data/site-local/getting-started/example-projects/index.html +240 -20
  416. data/site-local/getting-started/example-projects/temp-sensor.html +239 -19
  417. data/site-local/getting-started/example-projects/wondrous-forest.html +239 -19
  418. data/site-local/getting-started/index.html +246 -19
  419. data/site-local/getting-started/installation.html +249 -27
  420. data/site-local/getting-started/quick-start.html +242 -20
  421. data/site-local/help.html +246 -19
  422. data/site-local/index.html +284 -27
  423. data/site-local/overview/build-system.html +240 -20
  424. data/site-local/overview/index.html +239 -19
  425. data/site-local/overview/test-environments.html +248 -19
  426. data/site-local/overview/tools-and-frameworks.html +239 -19
  427. data/site-local/plugins/beep.html +242 -19
  428. data/site-local/plugins/bullseye/index.html +5068 -0
  429. data/site-local/plugins/bullseye/licensing.html +4826 -0
  430. data/site-local/plugins/command-hooks.html +258 -34
  431. data/site-local/plugins/compile-commands-json-db.html +247 -22
  432. data/site-local/plugins/cppcheck.html +1073 -268
  433. data/site-local/plugins/dependencies.html +927 -249
  434. data/site-local/plugins/fff.html +288 -21
  435. data/site-local/plugins/gcov/examples.html +243 -20
  436. data/site-local/plugins/gcov/gcovr.html +559 -71
  437. data/site-local/plugins/gcov/index.html +242 -19
  438. data/site-local/plugins/gcov/overview.html +253 -23
  439. data/site-local/plugins/gcov/reportgenerator.html +380 -46
  440. data/site-local/plugins/gcov/reporting.html +339 -105
  441. data/site-local/plugins/gcov/setup.html +244 -20
  442. data/site-local/plugins/gcov/tool-versions.html +292 -24
  443. data/site-local/plugins/gcov/troubleshooting.html +265 -42
  444. data/site-local/plugins/index.html +285 -41
  445. data/site-local/plugins/module-generator.html +770 -200
  446. data/site-local/plugins/report-build-warnings-log.html +569 -38
  447. data/site-local/plugins/report-tests-gtestlike-stdout.html +458 -89
  448. data/site-local/plugins/report-tests-ide-stdout.html +645 -56
  449. data/site-local/plugins/report-tests-log-factory.html +364 -111
  450. data/site-local/plugins/report-tests-pretty-stdout.html +243 -20
  451. data/site-local/plugins/report-tests-raw-output-log.html +242 -19
  452. data/site-local/plugins/report-tests-teamcity-stdout.html +252 -29
  453. data/site-local/plugins/sanitize.html +5322 -0
  454. data/site-local/plugins/valgrind.html +414 -34
  455. data/site-local/{plugins/bullseye.html → project/index.html} +288 -222
  456. data/site-local/project/release-history.html +242 -22
  457. data/site-local/project/sbom.html +4712 -0
  458. data/site-local/project/upgrade.html +241 -21
  459. data/site-local/reference/build-directives.html +248 -19
  460. data/site-local/reference/command-line.html +364 -21
  461. data/site-local/reference/environment-vars.html +239 -19
  462. data/site-local/reference/gcov-plugin.html +483 -23
  463. data/site-local/reference/global-collections.html +240 -20
  464. data/site-local/reference/index.html +239 -19
  465. data/site-local/reference/partials-macros.html +249 -19
  466. data/site-local/reference/project-configuration.html +239 -19
  467. data/site-local/sitemap.xml.gz +0 -0
  468. data/{docs/mkdocs/snapshot/assets → site-local/snapshot/assets/features}/project.yml +4 -1
  469. data/site-local/snapshot/examples/cipher_quest/index.html +249 -29
  470. data/site-local/snapshot/examples/temp_sensor/index.html +241 -21
  471. data/site-local/snapshot/examples/wondrous_forest/index.html +256 -30
  472. data/site-local/snapshot/plugins/bullseye/config/defaults.yml +24 -0
  473. data/site-local/snapshot/plugins/bullseye/config/defaults_bullseye.rb +182 -0
  474. data/site-local/snapshot/plugins/gcov/config/defaults.yml +5 -0
  475. data/site-local/testing-guide/build-directives.html +331 -35
  476. data/site-local/testing-guide/conventions.html +671 -160
  477. data/site-local/testing-guide/frameworks.html +244 -24
  478. data/site-local/testing-guide/index.html +239 -26
  479. data/site-local/testing-guide/partials/configuration.html +241 -21
  480. data/site-local/testing-guide/partials/conventions.html +308 -23
  481. data/site-local/testing-guide/partials/directives.html +452 -58
  482. data/site-local/testing-guide/partials/example.html +247 -27
  483. data/site-local/testing-guide/partials/index.html +246 -19
  484. data/site-local/testing-guide/partials/overview.html +239 -19
  485. data/site-local/testing-guide/partials/variables.html +244 -24
  486. data/site-local/testing-guide/test-cases.html +246 -26
  487. data/site-local/testing-guide/test-sample.html +245 -25
  488. data/site-local/testing-guide/test-suite-anatomy.html +239 -19
  489. data/spec/integration/actionator_file_operations_spec.rb +287 -0
  490. data/spec/integration/analysis_tool_output_spec.rb +204 -0
  491. data/spec/{units/c_extractor/c_extractor_integration_spec.rb → integration/c_extractor_composition_spec.rb} +196 -17
  492. data/spec/integration/command_hooks_plugin_spec.rb +152 -0
  493. data/spec/integration/compile_commands_json_db_spec.rb +76 -0
  494. data/spec/integration/configurator_pipeline_spec.rb +190 -0
  495. data/spec/integration/configurator_plugins_spec.rb +122 -0
  496. data/spec/integration/configurator_validation_spec.rb +98 -0
  497. data/spec/integration/dependencies/dependency_tracker_cache_hardening_spec.rb +396 -0
  498. data/spec/integration/dependencies/dependency_tracker_core_spec.rb +284 -0
  499. data/spec/integration/dependencies/dependency_tracker_diagnose_spec.rb +224 -0
  500. data/spec/integration/dependencies/dependency_tracker_filename_handling_spec.rb +118 -0
  501. data/spec/integration/dependencies/dependency_tracker_gcc_deps_spec.rb +199 -0
  502. data/spec/integration/dependencies/dependency_tracker_pruning_spec.rb +167 -0
  503. data/spec/integration/dependencies_plugin_spec.rb +473 -0
  504. data/spec/integration/erb_dependency_removed_spec.rb +167 -0
  505. data/spec/integration/includes_extraction_spec.rb +612 -0
  506. data/spec/integration/mixin_loading_spec.rb +414 -0
  507. data/spec/integration/module_generator_spec.rb +436 -0
  508. data/spec/integration/partials_fallback_preprocessing_spec.rb +316 -0
  509. data/spec/integration/partials_header_composition_spec.rb +889 -0
  510. data/spec/integration/partials_module_resolution_spec.rb +372 -0
  511. data/spec/integration/partials_symbol_linkage_spec.rb +371 -0
  512. data/spec/integration/preprocessing_transient_io_retry_spec.rb +135 -0
  513. data/spec/integration/quote_include_isolator_spec.rb +167 -0
  514. data/spec/integration/rake_task_registry_plugins_spec.rb +95 -0
  515. data/spec/integration/report_build_warnings_log_spec.rb +170 -0
  516. data/spec/integration/report_tests_log_factory_spec.rb +100 -0
  517. data/spec/integration/sanitizer_exclusions_spec.rb +126 -0
  518. data/spec/integration/system_harness_sanitizers_spec.rb +104 -0
  519. data/spec/integration/test_build_parallel_barrier_spec.rb +89 -0
  520. data/spec/integration/test_executable_manifest_spec.rb +118 -0
  521. data/spec/integration/test_includes_extractinator_spec.rb +293 -0
  522. data/spec/integration/tool_executor_spec.rb +224 -0
  523. data/spec/integration/tool_validator_spec.rb +133 -0
  524. data/spec/integration/vendor_copy_transient_io_retry_spec.rb +178 -0
  525. data/spec/manual/stress_test.rb +1 -1
  526. data/spec/support/config_yaml_helper.rb +17 -0
  527. data/spec/support/fixtures/sanitizer_reports/clang_asan_heap.txt +45 -0
  528. data/spec/support/fixtures/sanitizer_reports/clang_ubsan_shift.txt +5 -0
  529. data/spec/support/fixtures/sanitizer_reports/gcc_heap.txt +47 -0
  530. data/spec/support/fixtures/sanitizer_reports/gcc_leak.txt +10 -0
  531. data/spec/support/fixtures/sanitizer_reports/gcc_segv.txt +6 -0
  532. data/spec/support/fixtures/sanitizer_reports/gcc_ubsan_shift.txt +6 -0
  533. data/spec/support/fixtures/templates/bullseye__all_pass.txt +6 -0
  534. data/spec/support/fixtures/templates/bullseye__coverage_branches_only.txt +6 -0
  535. data/spec/support/fixtures/templates/bullseye__coverage_functions_only.txt +6 -0
  536. data/spec/support/fixtures/templates/bullseye__coverage_none.txt +6 -0
  537. data/spec/support/fixtures/templates/bullseye__empty.txt +6 -0
  538. data/spec/support/fixtures/templates/bullseye__gcov_context.txt +6 -0
  539. data/spec/support/fixtures/templates/bullseye__mixed_all.txt +6 -0
  540. data/spec/support/fixtures/templates/bullseye__one_failure_matching.txt +6 -0
  541. data/spec/support/fixtures/templates/bullseye__one_failure_multiline.txt +6 -0
  542. data/spec/support/fixtures/templates/bullseye__one_failure_no_message.txt +6 -0
  543. data/spec/support/fixtures/templates/bullseye__one_failure_nonmatching.txt +6 -0
  544. data/spec/support/fixtures/templates/bullseye__one_ignore_no_message.txt +6 -0
  545. data/spec/support/fixtures/templates/bullseye__one_ignore_with_message.txt +6 -0
  546. data/spec/support/fixtures/templates/bullseye__stdout_only.txt +6 -0
  547. data/spec/support/fixtures/templates/ide__all_pass.txt +10 -0
  548. data/spec/support/fixtures/templates/ide__coverage_branches_only.txt +10 -0
  549. data/spec/support/fixtures/templates/ide__coverage_functions_only.txt +10 -0
  550. data/spec/support/fixtures/templates/ide__coverage_none.txt +10 -0
  551. data/spec/support/fixtures/templates/ide__empty.txt +8 -0
  552. data/spec/support/fixtures/templates/ide__gcov_context.txt +28 -0
  553. data/spec/support/fixtures/templates/ide__mixed_all.txt +29 -0
  554. data/spec/support/fixtures/templates/ide__one_failure_matching.txt +15 -0
  555. data/spec/support/fixtures/templates/ide__one_failure_multiline.txt +17 -0
  556. data/spec/support/fixtures/templates/ide__one_failure_no_message.txt +15 -0
  557. data/spec/support/fixtures/templates/ide__one_failure_nonmatching.txt +15 -0
  558. data/spec/support/fixtures/templates/ide__one_ignore_no_message.txt +15 -0
  559. data/spec/support/fixtures/templates/ide__one_ignore_with_message.txt +15 -0
  560. data/spec/support/fixtures/templates/ide__stdout_only.txt +16 -0
  561. data/spec/support/fixtures/templates/pretty__all_pass.txt +8 -0
  562. data/spec/support/fixtures/templates/pretty__coverage_branches_only.txt +8 -0
  563. data/spec/support/fixtures/templates/pretty__coverage_functions_only.txt +8 -0
  564. data/spec/support/fixtures/templates/pretty__coverage_none.txt +8 -0
  565. data/spec/support/fixtures/templates/pretty__empty.txt +6 -0
  566. data/spec/support/fixtures/templates/pretty__gcov_context.txt +31 -0
  567. data/spec/support/fixtures/templates/pretty__mixed_all.txt +35 -0
  568. data/spec/support/fixtures/templates/pretty__one_failure_matching.txt +15 -0
  569. data/spec/support/fixtures/templates/pretty__one_failure_multiline.txt +17 -0
  570. data/spec/support/fixtures/templates/pretty__one_failure_no_message.txt +15 -0
  571. data/spec/support/fixtures/templates/pretty__one_failure_nonmatching.txt +15 -0
  572. data/spec/support/fixtures/templates/pretty__one_ignore_no_message.txt +15 -0
  573. data/spec/support/fixtures/templates/pretty__one_ignore_with_message.txt +15 -0
  574. data/spec/support/fixtures/templates/pretty__stdout_only.txt +15 -0
  575. data/spec/support/fixtures/valgrind_reports/sigsegv.log +51 -0
  576. data/spec/support/fixtures/valgrind_reports/sigsegv.xml +182 -0
  577. data/spec/support/include_guard_helper.rb +20 -0
  578. data/spec/support/integration/configurator_integration_helper.rb +162 -0
  579. data/spec/support/integration/dependency_tracker_integration_helper.rb +136 -0
  580. data/spec/support/integration/partials_generation_integration_helper.rb +726 -0
  581. data/spec/support/integration/spec_integration_helper.rb +285 -0
  582. data/spec/support/integration/test_includes_harness.rb +259 -0
  583. data/spec/support/integration/tool_executor_integration_helper.rb +55 -0
  584. data/spec/support/spec_helper.rb +41 -0
  585. data/spec/support/system/sanitizers/asan_ubsan.yml +82 -0
  586. data/spec/support/system/sanitizers/asan_ubsan_leaks.yml +57 -0
  587. data/spec/support/system/simplecov_boot.rb +66 -0
  588. data/spec/support/system/spec_system_helper.rb +376 -16
  589. data/spec/support/system/system_context.rb +181 -59
  590. data/spec/support/template_render_cases.rb +166 -0
  591. data/spec/system/bracket_path_handling_spec.rb +175 -0
  592. data/spec/system/build_output_mirroring_spec.rb +89 -0
  593. data/spec/system/build_recovery_spec.rb +382 -0
  594. data/spec/system/bullseye_deployment_spec.rb +102 -0
  595. data/spec/system/cli_surface_spec.rb +245 -0
  596. data/spec/system/command_hooks_spec.rb +117 -0
  597. data/spec/system/conditional_include_macro_visibility_spec.rb +32 -124
  598. data/spec/system/conditional_mock_includes_spec.rb +181 -0
  599. data/spec/system/cppcheck_deployment_spec.rb +26 -8
  600. data/spec/system/delta_builds_spec.rb +751 -0
  601. data/spec/system/deployment_as_gem_spec.rb +7 -0
  602. data/spec/system/deployment_as_vendor_spec.rb +29 -145
  603. data/spec/system/dumpconfig_spec.rb +137 -0
  604. data/spec/system/encoding_stress_spec.rb +7 -4
  605. data/spec/system/example_cipher_quest_spec.rb +25 -100
  606. data/spec/system/example_temp_sensor_spec.rb +30 -172
  607. data/spec/system/example_wondrous_forest_spec.rb +25 -62
  608. data/spec/system/extension_multiple_values_spec.rb +75 -0
  609. data/spec/system/files_paths_reporting_spec.rb +154 -0
  610. data/spec/system/gcov_deployment_spec.rb +72 -3
  611. data/spec/system/header_include_path_validation_spec.rb +222 -0
  612. data/spec/system/implicit_source_header_correspondence_disambiguation_spec.rb +100 -0
  613. data/spec/system/include_path_reconciliation_spec.rb +64 -0
  614. data/spec/system/mixin_ordering_spec.rb +30 -415
  615. data/spec/system/mocks_partials_configuration_validation_spec.rb +126 -0
  616. data/spec/system/parent_directory_reference_spec.rb +114 -0
  617. data/spec/system/partials_module_disambiguation_spec.rb +143 -0
  618. data/spec/system/pinned_thread_count_spec.rb +102 -0
  619. data/spec/system/plugin_delta_builds_spec.rb +179 -0
  620. data/spec/system/preprocessing_encoding_spec.rb +87 -4
  621. data/spec/system/preprocessing_fallback_conditionals_spec.rb +19 -25
  622. data/spec/system/preprocessing_parameterized_tests_spec.rb +2 -2
  623. data/spec/system/rake_release_task_path_disambiguation_spec.rb +97 -0
  624. data/spec/system/rake_test_task_path_disambiguation_spec.rb +118 -0
  625. data/spec/system/report_and_tooling_plugins_spec.rb +327 -0
  626. data/spec/system/ruby_replacement_spec.rb +1 -1
  627. data/spec/system/same_named_modules_spec.rb +115 -0
  628. data/spec/system/sanitize_deployment_spec.rb +64 -0
  629. data/spec/system/shuffle_tests_spec.rb +139 -0
  630. data/spec/system/sibling_header_collision_spec.rb +620 -0
  631. data/spec/system/subdir_include_preservation_spec.rb +63 -0
  632. data/spec/system/support/bullseye_common_test_cases.rb +369 -0
  633. data/spec/system/support/bullseye_helpers.rb +70 -0
  634. data/spec/system/support/common_test_cases.rb +167 -43
  635. data/spec/system/support/cppcheck_common_test_cases.rb +80 -0
  636. data/spec/system/support/cppcheck_helpers.rb +10 -8
  637. data/spec/system/support/gcov_common_test_cases.rb +173 -37
  638. data/spec/system/support/gcov_helpers.rb +3 -3
  639. data/spec/system/support/gcov_partials_test_cases.rb +48 -2
  640. data/spec/system/support/sanitize_common_test_cases.rb +222 -0
  641. data/spec/system/support/sanitize_helpers.rb +27 -0
  642. data/spec/system/support/valgrind_common_test_cases.rb +116 -16
  643. data/spec/system/support/valgrind_helpers.rb +3 -4
  644. data/spec/system/test_pipeline_stop_points_spec.rb +160 -0
  645. data/spec/system/test_runner_system_include_spec.rb +19 -41
  646. data/spec/system/test_source_file_directive_spec.rb +235 -0
  647. data/spec/system/upgrade_as_vendor_spec.rb +25 -46
  648. data/spec/system/valgrind_deployment_spec.rb +41 -0
  649. data/spec/units/batchinator_spec.rb +314 -0
  650. data/spec/units/bin/actionator_spec.rb +412 -0
  651. data/spec/units/bin/app_cfg_spec.rb +100 -0
  652. data/spec/units/bin/cli_handler_spec.rb +205 -0
  653. data/spec/units/bin/cli_helper_spec.rb +248 -10
  654. data/spec/units/bin/cli_options_transform_spec.rb +49 -0
  655. data/spec/units/bin/composinator_spec.rb +236 -0
  656. data/spec/units/bin/{projectinator_mixin_spec.rb → mixin_resolvinator_spec.rb} +122 -83
  657. data/spec/units/bin/mixin_standardizer_spec.rb +4 -3
  658. data/spec/units/bin/mixinator_spec.rb +58 -22
  659. data/spec/units/bin/path_validator_spec.rb +112 -0
  660. data/spec/units/bin/projectinator_spec.rb +223 -0
  661. data/spec/units/bin/rake_patches_spec.rb +52 -0
  662. data/spec/units/bin/recursive_merger_spec.rb +22 -0
  663. data/spec/units/bin/versionator_spec.rb +104 -0
  664. data/spec/units/c_extractor/c_extractor_code_text_spec.rb +4 -4
  665. data/spec/units/c_extractor/c_extractor_declarations_spec.rb +70 -0
  666. data/spec/units/c_extractor/c_extractor_functions_spec.rb +75 -1
  667. data/spec/units/c_extractor/c_extractor_preprocessing_spec.rb +158 -0
  668. data/spec/units/c_extractor/c_extractor_spec.rb +236 -6
  669. data/spec/units/ceedling/templateinator_golden_spec.rb +84 -0
  670. data/spec/units/ceedling/templateinator_spec.rb +188 -0
  671. data/spec/units/config/configurator_builder_spec.rb +444 -0
  672. data/spec/units/config/configurator_plugins_spec.rb +160 -0
  673. data/spec/units/config/configurator_setup_spec.rb +724 -6
  674. data/spec/units/config/configurator_spec.rb +961 -0
  675. data/spec/units/config/configurator_validator_spec.rb +259 -0
  676. data/spec/units/config/line_marker_suppressors_spec.rb +89 -0
  677. data/spec/units/config_matchinator_spec.rb +103 -0
  678. data/spec/units/defineinator_spec.rb +158 -0
  679. data/spec/units/dependencies/dependency_cache_store_spec.rb +364 -0
  680. data/spec/units/dependencies/dependency_debug_tree_spec.rb +189 -0
  681. data/spec/units/dependencies/dependency_differ_spec.rb +139 -0
  682. data/spec/units/dependencies/dependency_hasher_spec.rb +141 -0
  683. data/spec/units/dependencies/dependency_path_normalizer_spec.rb +111 -0
  684. data/spec/units/dependencies/dependency_tracker_spec.rb +905 -0
  685. data/spec/units/dependencies/dependinator_spec.rb +99 -0
  686. data/spec/units/dependencies/gcc_dependency_parser_spec.rb +152 -0
  687. data/spec/units/encodinator_spec.rb +92 -0
  688. data/spec/units/file_finder_helper_spec.rb +99 -15
  689. data/spec/units/file_finder_spec.rb +495 -0
  690. data/spec/units/file_path_collection_utils_spec.rb +9 -0
  691. data/spec/units/file_path_utils_spec.rb +736 -0
  692. data/spec/units/file_wrapper_spec.rb +486 -0
  693. data/spec/units/filename_extension_spec.rb +120 -0
  694. data/spec/units/flaginator_spec.rb +114 -0
  695. data/spec/units/generators/generator_helper_spec.rb +113 -0
  696. data/spec/units/generators/generator_mocks_spec.rb +131 -0
  697. data/spec/units/generators/generator_partials_spec.rb +336 -160
  698. data/spec/units/generators/generator_spec.rb +317 -0
  699. data/spec/units/generators/generator_test_results_backtrace_spec.rb +169 -9
  700. data/spec/units/generators/generator_test_results_sanity_checker_spec.rb +14 -6
  701. data/spec/units/generators/generator_test_results_spec.rb +65 -8
  702. data/spec/units/generators/generator_test_runner_spec.rb +1 -1
  703. data/spec/units/includes/include_factory_spec.rb +53 -0
  704. data/spec/units/includes/include_pathinator_spec.rb +269 -0
  705. data/spec/units/includes/include_spec.rb +8 -4
  706. data/spec/units/includes/includes_spec.rb +326 -18
  707. data/spec/units/mock_locator_spec.rb +74 -0
  708. data/spec/units/parsing_parcels_spec.rb +65 -0
  709. data/spec/units/partials/partializer_config_spec.rb +284 -18
  710. data/spec/units/partials/partializer_helper_spec.rb +122 -0
  711. data/spec/units/partials/partializer_spec.rb +346 -71
  712. data/spec/units/partials/partializer_utils_spec.rb +4 -4
  713. data/spec/units/partials_manager_spec.rb +539 -0
  714. data/spec/units/path_matcher_spec.rb +193 -0
  715. data/spec/units/path_mirror_spec.rb +103 -0
  716. data/spec/units/plugin_manager_spec.rb +77 -0
  717. data/spec/units/plugin_reportinator_spec.rb +78 -3
  718. data/spec/units/plugins/bullseye_spec.rb +1068 -0
  719. data/spec/units/plugins/command_hooks_spec.rb +157 -0
  720. data/spec/units/plugins/compile_commands_json_db_spec.rb +145 -0
  721. data/spec/units/plugins/console_reportinator_spec.rb +370 -0
  722. data/spec/units/plugins/cppcheck_spec.rb +330 -4
  723. data/spec/units/plugins/cppunit_tests_reporter_spec.rb +118 -0
  724. data/spec/units/plugins/dependencies_spec.rb +295 -0
  725. data/spec/units/plugins/dependency_commands_spec.rb +83 -0
  726. data/spec/units/plugins/dependency_environment_spec.rb +64 -0
  727. data/spec/units/plugins/dependency_spec_spec.rb +170 -0
  728. data/spec/units/plugins/gcov_reportinator_spec.rb +272 -0
  729. data/spec/units/plugins/gcov_spec.rb +521 -0
  730. data/spec/units/plugins/gcovr_reportinator_spec.rb +795 -0
  731. data/spec/units/plugins/gtestlike_report_spec.rb +363 -0
  732. data/spec/units/plugins/html_tests_reporter_spec.rb +158 -0
  733. data/spec/units/plugins/ide_report_lines_spec.rb +229 -0
  734. data/spec/units/plugins/json_tests_reporter_spec.rb +87 -0
  735. data/spec/units/plugins/junit_tests_reporter_spec.rb +237 -0
  736. data/spec/units/plugins/module_generator_options_spec.rb +185 -0
  737. data/spec/units/plugins/module_generator_project_spec.rb +55 -0
  738. data/spec/units/plugins/module_generator_request_spec.rb +107 -0
  739. data/spec/units/plugins/module_generator_spec.rb +214 -0
  740. data/spec/units/plugins/module_generator_test_file_spec.rb +102 -0
  741. data/spec/units/plugins/module_generator_unity_spec.rb +37 -0
  742. data/spec/units/plugins/report_build_warnings_log_spec.rb +199 -0
  743. data/spec/units/plugins/report_log_writer_plugin_spec.rb +94 -0
  744. data/spec/units/plugins/report_tests_gtestlike_stdout_spec.rb +274 -0
  745. data/spec/units/plugins/report_tests_ide_stdout_spec.rb +140 -0
  746. data/spec/units/plugins/report_tests_log_factory_spec.rb +210 -0
  747. data/spec/units/plugins/report_tests_pretty_stdout_spec.rb +83 -0
  748. data/spec/units/plugins/report_tests_raw_output_log_spec.rb +98 -0
  749. data/spec/units/plugins/report_tests_stdout_plugin_spec.rb +145 -0
  750. data/spec/units/plugins/report_tests_teamcity_stdout_spec.rb +121 -0
  751. data/spec/units/plugins/reportgenerator_reportinator_spec.rb +410 -0
  752. data/spec/units/plugins/sanitize_config_spec.rb +119 -0
  753. data/spec/units/plugins/sanitize_findings_spec.rb +69 -0
  754. data/spec/units/plugins/sanitize_records_spec.rb +114 -0
  755. data/spec/units/plugins/sanitize_reports_spec.rb +84 -0
  756. data/spec/units/plugins/sanitize_spec.rb +300 -0
  757. data/spec/units/plugins/tests_reporter_spec.rb +89 -0
  758. data/spec/units/plugins/valgrind_spec.rb +560 -0
  759. data/spec/units/plugins/warning_collector_spec.rb +185 -0
  760. data/spec/units/plugins/warning_reports_spec.rb +150 -0
  761. data/spec/units/preprocess/c_comment_scanner_spec.rb +17 -17
  762. data/spec/units/preprocess/c_preprocessor_conditionals_spec.rb +94 -0
  763. data/spec/units/preprocess/preprocessinator_bare_includes_extractor_spec.rb +73 -0
  764. data/spec/units/preprocess/preprocessinator_code_finder_spec.rb +35 -16
  765. data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +129 -48
  766. data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +292 -9
  767. data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +294 -16
  768. data/spec/units/preprocess/preprocessinator_line_marker_includes_extractor_spec.rb +356 -6
  769. data/spec/units/preprocess/preprocessinator_reconstructor_spec.rb +58 -4
  770. data/spec/units/preprocess/preprocessinator_spec.rb +693 -5
  771. data/spec/units/quote_include_isolator_spec.rb +176 -0
  772. data/spec/units/rake_app/rake_invocation_tracker_spec.rb +94 -0
  773. data/spec/units/rake_app/rake_task_registry_spec.rb +263 -0
  774. data/spec/units/rake_app/rake_utils_spec.rb +54 -0
  775. data/spec/units/rake_app/rake_wrapper_spec.rb +64 -0
  776. data/spec/units/rake_app/rakefile_component_resolver_spec.rb +182 -0
  777. data/spec/units/rake_app/test_task_name_spec.rb +47 -0
  778. data/spec/units/release_build_executor_spec.rb +404 -0
  779. data/spec/units/release_build_planner_spec.rb +144 -0
  780. data/spec/units/release_invoker_spec.rb +127 -0
  781. data/spec/units/reportinator_spec.rb +35 -0
  782. data/spec/units/ruby_expandinator_spec.rb +36 -0
  783. data/spec/units/standin_headerinator_spec.rb +168 -0
  784. data/spec/units/system_wrapper_spec.rb +16 -0
  785. data/spec/units/test_build_executor_spec.rb +1693 -8
  786. data/spec/units/test_build_planner_spec.rb +878 -0
  787. data/spec/units/test_build_setup_spec.rb +583 -0
  788. data/spec/units/test_context_extractor_spec.rb +51 -3
  789. data/spec/units/test_file_preprocessinator_spec.rb +206 -0
  790. data/spec/units/test_includes_extractinator_spec.rb +764 -0
  791. data/spec/units/test_invoker/objects_wiring_spec.rb +31 -0
  792. data/spec/units/test_invoker_spec.rb +147 -0
  793. data/spec/units/test_invoker_types_spec.rb +182 -0
  794. data/spec/units/test_pipeline_helpers_spec.rb +100 -0
  795. data/spec/units/test_pipeline_manager_spec.rb +415 -0
  796. data/spec/units/test_runner_generatinator_spec.rb +215 -0
  797. data/spec/units/test_runner_manager_spec.rb +70 -0
  798. data/spec/units/test_search_paths_spec.rb +84 -0
  799. data/spec/units/test_source_file_directive_resolver_spec.rb +239 -0
  800. data/spec/units/tool_executor_helper_spec.rb +1 -1
  801. data/spec/units/tool_executor_spec.rb +571 -2
  802. data/spec/units/tool_validator_spec.rb +303 -24
  803. data/spec/units/version_spec.rb +74 -0
  804. data/spec/units/yaml_wrapper_spec.rb +4 -1
  805. data/vendor/cmock/docs/CMock_Summary.md +11 -0
  806. data/vendor/cmock/lib/cmock_config.rb +1 -0
  807. data/vendor/cmock/lib/cmock_generator.rb +5 -1
  808. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +31 -0
  809. data/vendor/cmock/vendor/unity/auto/generate_module.rb +4 -4
  810. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +8 -2
  811. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +2 -2
  812. data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +7 -0
  813. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +4 -0
  814. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +9 -0
  815. data/vendor/cmock/vendor/unity/src/unity_internals.h +21 -7
  816. data/vendor/cmock/vendor/unity/test/Makefile +9 -2
  817. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +1 -0
  818. data/vendor/cmock/vendor/unity/test/spec/generate_module_naming_spec.rb +38 -0
  819. data/vendor/cmock/vendor/unity/test/testdata/spi/MockConfig.h +19 -0
  820. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithSameNamedMocks.c +42 -0
  821. data/vendor/cmock/vendor/unity/test/testdata/uart/MockConfig.h +19 -0
  822. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +78 -0
  823. data/vendor/cmock/vendor/unity/test/tests/test_unity_test_summary.rb +58 -0
  824. data/vendor/diy/lib/diy/factory.rb +5 -4
  825. data/vendor/diy/lib/diy.rb +5 -4
  826. data/vendor/diy/sample_code/car.rb +5 -4
  827. data/vendor/diy/sample_code/chassis.rb +5 -4
  828. data/vendor/diy/sample_code/diy_example.rb +5 -4
  829. data/vendor/diy/sample_code/engine.rb +5 -4
  830. data/vendor/diy/sample_code/objects.yml +5 -4
  831. data/vendor/diy/test/constructor.rb +5 -4
  832. data/vendor/diy/test/diy_test.rb +5 -4
  833. data/vendor/diy/test/factory_test.rb +5 -4
  834. data/vendor/diy/test/files/broken_construction.yml +5 -4
  835. data/vendor/diy/test/files/cat/cat.rb +5 -4
  836. data/vendor/diy/test/files/cat/extra_conflict.yml +5 -4
  837. data/vendor/diy/test/files/cat/heritage.rb +5 -4
  838. data/vendor/diy/test/files/cat/needs_input.yml +5 -4
  839. data/vendor/diy/test/files/cat/the_cat_lineage.rb +5 -4
  840. data/vendor/diy/test/files/dog/dog_model.rb +5 -4
  841. data/vendor/diy/test/files/dog/dog_presenter.rb +5 -4
  842. data/vendor/diy/test/files/dog/dog_view.rb +5 -4
  843. data/vendor/diy/test/files/dog/file_resolver.rb +5 -4
  844. data/vendor/diy/test/files/dog/other_thing.rb +5 -4
  845. data/vendor/diy/test/files/dog/simple.yml +5 -4
  846. data/vendor/diy/test/files/donkey/foo/bar/qux.rb +5 -4
  847. data/vendor/diy/test/files/donkey/foo.rb +5 -4
  848. data/vendor/diy/test/files/factory/beef.rb +5 -4
  849. data/vendor/diy/test/files/factory/dog.rb +5 -4
  850. data/vendor/diy/test/files/factory/factory.yml +5 -4
  851. data/vendor/diy/test/files/factory/farm/llama.rb +5 -4
  852. data/vendor/diy/test/files/factory/farm/pork.rb +5 -4
  853. data/vendor/diy/test/files/factory/kitten.rb +5 -4
  854. data/vendor/diy/test/files/fud/objects.yml +5 -4
  855. data/vendor/diy/test/files/fud/toy.rb +5 -4
  856. data/vendor/diy/test/files/functions/attached_things_builder.rb +5 -4
  857. data/vendor/diy/test/files/functions/invalid_method.yml +5 -4
  858. data/vendor/diy/test/files/functions/method_extractor.rb +5 -4
  859. data/vendor/diy/test/files/functions/nonsingleton_objects.yml +5 -4
  860. data/vendor/diy/test/files/functions/objects.yml +5 -4
  861. data/vendor/diy/test/files/functions/thing.rb +5 -4
  862. data/vendor/diy/test/files/functions/thing_builder.rb +5 -4
  863. data/vendor/diy/test/files/functions/things_builder.rb +5 -4
  864. data/vendor/diy/test/files/gnu/objects.yml +5 -4
  865. data/vendor/diy/test/files/gnu/thinger.rb +5 -4
  866. data/vendor/diy/test/files/goat/base.rb +5 -4
  867. data/vendor/diy/test/files/goat/can.rb +5 -4
  868. data/vendor/diy/test/files/goat/goat.rb +5 -4
  869. data/vendor/diy/test/files/goat/objects.yml +5 -4
  870. data/vendor/diy/test/files/goat/paper.rb +5 -4
  871. data/vendor/diy/test/files/goat/plane.rb +5 -4
  872. data/vendor/diy/test/files/goat/shirt.rb +5 -4
  873. data/vendor/diy/test/files/goat/wings.rb +5 -4
  874. data/vendor/diy/test/files/horse/holder_thing.rb +5 -4
  875. data/vendor/diy/test/files/horse/objects.yml +5 -4
  876. data/vendor/diy/test/files/namespace/animal/bird.rb +5 -4
  877. data/vendor/diy/test/files/namespace/animal/cat.rb +5 -4
  878. data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +5 -4
  879. data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +5 -4
  880. data/vendor/diy/test/files/namespace/bad_module_specified.yml +5 -4
  881. data/vendor/diy/test/files/namespace/class_name_combine.yml +5 -4
  882. data/vendor/diy/test/files/namespace/no_module_specified.yml +5 -4
  883. data/vendor/diy/test/files/namespace/objects.yml +5 -4
  884. data/vendor/diy/test/files/namespace/road.rb +5 -4
  885. data/vendor/diy/test/files/namespace/sky.rb +5 -4
  886. data/vendor/diy/test/files/namespace/subcontext.yml +5 -4
  887. data/vendor/diy/test/files/non_singleton/air.rb +5 -4
  888. data/vendor/diy/test/files/non_singleton/fat_cat.rb +5 -4
  889. data/vendor/diy/test/files/non_singleton/objects.yml +5 -4
  890. data/vendor/diy/test/files/non_singleton/pig.rb +5 -4
  891. data/vendor/diy/test/files/non_singleton/thread_spinner.rb +5 -4
  892. data/vendor/diy/test/files/non_singleton/tick.rb +5 -4
  893. data/vendor/diy/test/files/non_singleton/yard.rb +5 -4
  894. data/vendor/diy/test/files/yak/core_model.rb +5 -4
  895. data/vendor/diy/test/files/yak/core_presenter.rb +5 -4
  896. data/vendor/diy/test/files/yak/core_view.rb +5 -4
  897. data/vendor/diy/test/files/yak/data_source.rb +5 -4
  898. data/vendor/diy/test/files/yak/fringe_model.rb +5 -4
  899. data/vendor/diy/test/files/yak/fringe_presenter.rb +5 -4
  900. data/vendor/diy/test/files/yak/fringe_view.rb +5 -4
  901. data/vendor/diy/test/files/yak/giant_squid.rb +5 -4
  902. data/vendor/diy/test/files/yak/krill.rb +5 -4
  903. data/vendor/diy/test/files/yak/my_objects.yml +5 -4
  904. data/vendor/diy/test/files/yak/sub_sub_context_test.yml +5 -4
  905. data/vendor/diy/test/test_helper.rb +5 -4
  906. data/vendor/unity/auto/generate_module.rb +4 -4
  907. data/vendor/unity/auto/generate_test_runner.rb +5 -1
  908. data/vendor/unity/docs/UnityHelperScriptsGuide.md +9 -0
  909. data/vendor/unity/test/spec/generate_module_naming_spec.rb +38 -0
  910. data/vendor/unity/test/testdata/spi/MockConfig.h +19 -0
  911. data/vendor/unity/test/testdata/testRunnerGeneratorWithSameNamedMocks.c +42 -0
  912. data/vendor/unity/test/testdata/uart/MockConfig.h +19 -0
  913. data/vendor/unity/test/tests/test_generate_test_runner.rb +29 -0
  914. metadata +783 -295
  915. data/assets/tests_with_fallback_conditionals/src/conditional_module.c +0 -18
  916. data/bin/actions_wrapper.rb +0 -51
  917. data/docs/mkdocs/assets/images/ceedling-logo-circle.png +0 -0
  918. data/docs/mkdocs/assets/images/ceedling.svg +0 -90
  919. data/docs/mkdocs/assets/images/favicon.png +0 -0
  920. data/docs/mkdocs/assets/stylesheets/admonitions.css +0 -152
  921. data/docs/mkdocs/assets/stylesheets/fixes-local.css +0 -15
  922. data/docs/mkdocs/assets/stylesheets/styling.css +0 -102
  923. data/docs/mkdocs/configuration/environment-vars.md +0 -14
  924. data/docs/mkdocs/configuration/global-collections.md +0 -156
  925. data/docs/mkdocs/configuration/index.md +0 -75
  926. data/docs/mkdocs/configuration/loading.md +0 -89
  927. data/docs/mkdocs/configuration/mixins.md +0 -607
  928. data/docs/mkdocs/configuration/parallel-builds.md +0 -97
  929. data/docs/mkdocs/configuration/project-file.md +0 -216
  930. data/docs/mkdocs/configuration/reference/cexception.md +0 -35
  931. data/docs/mkdocs/configuration/reference/cmock.md +0 -106
  932. data/docs/mkdocs/configuration/reference/defines.md +0 -352
  933. data/docs/mkdocs/configuration/reference/environment.md +0 -55
  934. data/docs/mkdocs/configuration/reference/extension.md +0 -63
  935. data/docs/mkdocs/configuration/reference/files.md +0 -154
  936. data/docs/mkdocs/configuration/reference/flags.md +0 -296
  937. data/docs/mkdocs/configuration/reference/index.md +0 -176
  938. data/docs/mkdocs/configuration/reference/libraries.md +0 -82
  939. data/docs/mkdocs/configuration/reference/mixins.md +0 -24
  940. data/docs/mkdocs/configuration/reference/partials.md +0 -38
  941. data/docs/mkdocs/configuration/reference/paths.md +0 -276
  942. data/docs/mkdocs/configuration/reference/plugins.md +0 -60
  943. data/docs/mkdocs/configuration/reference/project.md +0 -333
  944. data/docs/mkdocs/configuration/reference/release-build.md +0 -62
  945. data/docs/mkdocs/configuration/reference/test-build.md +0 -55
  946. data/docs/mkdocs/configuration/reference/test-runner.md +0 -61
  947. data/docs/mkdocs/configuration/reference/tools.md +0 -457
  948. data/docs/mkdocs/configuration/reference/unity.md +0 -49
  949. data/docs/mkdocs/configuration/which-ceedling.md +0 -77
  950. data/docs/mkdocs/development/index.md +0 -61
  951. data/docs/mkdocs/development/plugins/configuration.md +0 -164
  952. data/docs/mkdocs/development/plugins/index.md +0 -84
  953. data/docs/mkdocs/development/plugins/plugin-subclass.md +0 -513
  954. data/docs/mkdocs/development/plugins/rake-tasks.md +0 -54
  955. data/docs/mkdocs/development/workflow.md +0 -284
  956. data/docs/mkdocs/getting-started/command-line.md +0 -477
  957. data/docs/mkdocs/getting-started/example-projects/cipher-quest.md +0 -65
  958. data/docs/mkdocs/getting-started/example-projects/index.md +0 -49
  959. data/docs/mkdocs/getting-started/example-projects/temp-sensor.md +0 -60
  960. data/docs/mkdocs/getting-started/example-projects/wondrous-forest.md +0 -45
  961. data/docs/mkdocs/getting-started/index.md +0 -41
  962. data/docs/mkdocs/getting-started/installation.md +0 -179
  963. data/docs/mkdocs/getting-started/quick-start.md +0 -86
  964. data/docs/mkdocs/help.md +0 -49
  965. data/docs/mkdocs/index.md +0 -222
  966. data/docs/mkdocs/overview/build-system.md +0 -115
  967. data/docs/mkdocs/overview/index.md +0 -29
  968. data/docs/mkdocs/overview/test-environments.md +0 -33
  969. data/docs/mkdocs/overview/tools-and-frameworks.md +0 -115
  970. data/docs/mkdocs/plugins/beep.md +0 -134
  971. data/docs/mkdocs/plugins/bullseye.md +0 -83
  972. data/docs/mkdocs/plugins/command-hooks.md +0 -268
  973. data/docs/mkdocs/plugins/compile-commands-json-db.md +0 -42
  974. data/docs/mkdocs/plugins/cppcheck.md +0 -377
  975. data/docs/mkdocs/plugins/dependencies.md +0 -310
  976. data/docs/mkdocs/plugins/fff.md +0 -247
  977. data/docs/mkdocs/plugins/gcov/examples.md +0 -92
  978. data/docs/mkdocs/plugins/gcov/gcovr.md +0 -526
  979. data/docs/mkdocs/plugins/gcov/index.md +0 -74
  980. data/docs/mkdocs/plugins/gcov/overview.md +0 -145
  981. data/docs/mkdocs/plugins/gcov/reportgenerator.md +0 -246
  982. data/docs/mkdocs/plugins/gcov/reporting.md +0 -147
  983. data/docs/mkdocs/plugins/gcov/setup.md +0 -232
  984. data/docs/mkdocs/plugins/gcov/tool-versions.md +0 -60
  985. data/docs/mkdocs/plugins/gcov/troubleshooting.md +0 -78
  986. data/docs/mkdocs/plugins/index.md +0 -261
  987. data/docs/mkdocs/plugins/module-generator.md +0 -267
  988. data/docs/mkdocs/plugins/report-build-warnings-log.md +0 -42
  989. data/docs/mkdocs/plugins/report-tests-gtestlike-stdout.md +0 -98
  990. data/docs/mkdocs/plugins/report-tests-ide-stdout.md +0 -63
  991. data/docs/mkdocs/plugins/report-tests-log-factory.md +0 -454
  992. data/docs/mkdocs/plugins/report-tests-pretty-stdout.md +0 -56
  993. data/docs/mkdocs/plugins/report-tests-raw-output-log.md +0 -52
  994. data/docs/mkdocs/plugins/report-tests-teamcity-stdout.md +0 -96
  995. data/docs/mkdocs/plugins/sample_html_report.png +0 -0
  996. data/docs/mkdocs/plugins/valgrind.md +0 -198
  997. data/docs/mkdocs/project/release-history.md +0 -61
  998. data/docs/mkdocs/project/upgrade.md +0 -85
  999. data/docs/mkdocs/reference/build-directives.md +0 -37
  1000. data/docs/mkdocs/reference/command-line.md +0 -323
  1001. data/docs/mkdocs/reference/environment-vars.md +0 -60
  1002. data/docs/mkdocs/reference/gcov-plugin.md +0 -600
  1003. data/docs/mkdocs/reference/global-collections.md +0 -160
  1004. data/docs/mkdocs/reference/index.md +0 -65
  1005. data/docs/mkdocs/reference/partials-macros.md +0 -79
  1006. data/docs/mkdocs/reference/project-configuration.md +0 -46
  1007. data/docs/mkdocs/snapshot/examples/cipher_quest/README.md +0 -210
  1008. data/docs/mkdocs/snapshot/examples/temp_sensor/README.md +0 -283
  1009. data/docs/mkdocs/snapshot/examples/wondrous_forest/README.md +0 -92
  1010. data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +0 -32
  1011. data/docs/mkdocs/snapshot/plugins/gcov/config/defaults_gcov.rb +0 -136
  1012. data/docs/mkdocs/snapshot.yml +0 -20
  1013. data/docs/mkdocs/testing-guide/build-directives.md +0 -153
  1014. data/docs/mkdocs/testing-guide/conventions.md +0 -616
  1015. data/docs/mkdocs/testing-guide/frameworks.md +0 -192
  1016. data/docs/mkdocs/testing-guide/index.md +0 -80
  1017. data/docs/mkdocs/testing-guide/partials/configuration.md +0 -67
  1018. data/docs/mkdocs/testing-guide/partials/conventions.md +0 -68
  1019. data/docs/mkdocs/testing-guide/partials/directives.md +0 -212
  1020. data/docs/mkdocs/testing-guide/partials/example.md +0 -149
  1021. data/docs/mkdocs/testing-guide/partials/index.md +0 -88
  1022. data/docs/mkdocs/testing-guide/partials/overview.md +0 -81
  1023. data/docs/mkdocs/testing-guide/partials/variables.md +0 -244
  1024. data/docs/mkdocs/testing-guide/test-cases.md +0 -194
  1025. data/docs/mkdocs/testing-guide/test-sample.md +0 -94
  1026. data/docs/mkdocs/testing-guide/test-suite-anatomy.md +0 -58
  1027. data/lib/ceedling/cacheinator.rb +0 -53
  1028. data/lib/ceedling/cacheinator_helper.rb +0 -60
  1029. data/lib/ceedling/dependinator.rb +0 -31
  1030. data/lib/ceedling/makefile.rb +0 -52
  1031. data/lib/ceedling/release_invoker.rb +0 -112
  1032. data/lib/ceedling/rules_release.rake +0 -109
  1033. data/lib/ceedling/tasks_release.rake +0 -36
  1034. data/plugins/fff/vendor/fff/Makefile +0 -10
  1035. data/plugins/fff/vendor/fff/buildandtest +0 -15
  1036. data/plugins/fff/vendor/fff/examples/Makefile +0 -7
  1037. data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +0 -64
  1038. data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +0 -32
  1039. data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +0 -21
  1040. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +0 -58
  1041. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +0 -70
  1042. data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +0 -25
  1043. data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +0 -23
  1044. data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +0 -27
  1045. data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +0 -25
  1046. data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +0 -67
  1047. data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +0 -31
  1048. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +0 -56
  1049. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +0 -22
  1050. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +0 -191
  1051. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +0 -144
  1052. data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +0 -42
  1053. data/plugins/fff/vendor/fff/gtest/Makefile +0 -22
  1054. data/plugins/fff/vendor/fff/gtest/gtest-all.cc +0 -9118
  1055. data/plugins/fff/vendor/fff/gtest/gtest-main.cc +0 -6
  1056. data/plugins/fff/vendor/fff/gtest/gtest.h +0 -19547
  1057. data/plugins/fff/vendor/fff/test/Makefile +0 -81
  1058. data/plugins/fff/vendor/fff/test/c_test_framework.h +0 -25
  1059. data/plugins/fff/vendor/fff/test/fff_test_c.c +0 -116
  1060. data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +0 -53
  1061. data/plugins/fff/vendor/fff/test/fff_test_global_c.c +0 -84
  1062. data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +0 -31
  1063. data/plugins/fff/vendor/fff/test/global_fakes.c +0 -21
  1064. data/plugins/fff/vendor/fff/test/global_fakes.h +0 -47
  1065. data/plugins/fff/vendor/fff/test/test_cases.include +0 -276
  1066. data/plugins/report_tests_gtestlike_stdout/assets/template.erb +0 -83
  1067. data/site-local/assets/stylesheets/main.ec1eaa64.min.css +0 -1
  1068. data/site-local/assets/stylesheets/main.ec1eaa64.min.css.map +0 -1
  1069. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +0 -1
  1070. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +0 -1
  1071. data/site-local/snapshot/assets/project.yml +0 -404
  1072. data/spec/system/partials_types_header_spec.rb +0 -166
  1073. data/spec/units/configurator_spec.rb +0 -232
  1074. /data/assets/{ceedling → features/ceedling} +0 -0
  1075. /data/assets/{ceedling.cmd → features/ceedling.cmd} +0 -0
  1076. /data/assets/{default_gitignore → features/default_gitignore} +0 -0
  1077. /data/assets/{broken_uncovered_file.c → fixtures/broken_uncovered_file.c} +0 -0
  1078. /data/assets/{example_file.c → fixtures/example_file.c} +0 -0
  1079. /data/assets/{example_file.h → fixtures/example_file.h} +0 -0
  1080. /data/assets/{example_file_call.c → fixtures/example_file_call.c} +0 -0
  1081. /data/assets/{example_file_call.h → fixtures/example_file_call.h} +0 -0
  1082. /data/assets/{example_file_with_statics.c → fixtures/example_file_with_statics.c} +0 -0
  1083. /data/assets/{example_file_with_stdio.c → fixtures/example_file_with_stdio.c} +0 -0
  1084. /data/assets/{example_file_with_stdio.h → fixtures/example_file_with_stdio.h} +0 -0
  1085. /data/assets/{fake_crash_test_fixture.rb → fixtures/fake_crash_test_fixture.rb} +0 -0
  1086. /data/assets/{partial_all_module.h → fixtures/partial_all_module.h} +0 -0
  1087. /data/assets/{run_with_ubsan.rb → fixtures/run_with_ubsan.rb} +0 -0
  1088. /data/assets/{same_dir_pairing_module.c → fixtures/same_dir_pairing_module.c} +0 -0
  1089. /data/assets/{same_dir_pairing_module.h → fixtures/same_dir_pairing_module.h} +0 -0
  1090. /data/assets/{same_dir_pairing_module_func.h → fixtures/same_dir_pairing_module_func.h} +0 -0
  1091. /data/assets/{same_dir_pairing_other.c → fixtures/same_dir_pairing_other.c} +0 -0
  1092. /data/assets/{same_dir_pairing_other.h → fixtures/same_dir_pairing_other.h} +0 -0
  1093. /data/assets/{test_example_file.c → fixtures/test_example_file.c} +0 -0
  1094. /data/assets/{test_example_file_2.c → fixtures/test_example_file_2.c} +0 -0
  1095. /data/assets/{test_example_file_source_include.c → fixtures/test_example_file_source_include.c} +0 -0
  1096. /data/assets/{test_example_file_success.c → fixtures/test_example_file_success.c} +0 -0
  1097. /data/assets/{test_example_file_unity_printf.c → fixtures/test_example_file_unity_printf.c} +0 -0
  1098. /data/assets/{test_example_file_verbose.c → fixtures/test_example_file_verbose.c} +0 -0
  1099. /data/assets/{test_example_file_with_mock.c → fixtures/test_example_file_with_mock.c} +0 -0
  1100. /data/assets/{test_example_file_with_stdio.c → fixtures/test_example_file_with_stdio.c} +0 -0
  1101. /data/assets/{test_example_with_parameterized_tests.c → fixtures/test_example_with_parameterized_tests.c} +0 -0
  1102. /data/assets/{test_partial_all_module.c → fixtures/test_partial_all_module.c} +0 -0
  1103. /data/assets/{test_same_dir_pairing.c → fixtures/test_same_dir_pairing.c} +0 -0
  1104. /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/feature_config.h +0 -0
  1105. /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/feature_extra.h +0 -0
  1106. /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/local_flag_extra.h +0 -0
  1107. /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/nested_extra.h +0 -0
  1108. /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/nested_wrapper.h +0 -0
  1109. /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/project_flag_extra.h +0 -0
  1110. /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget_feature.h +0 -0
  1111. /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware.c +0 -0
  1112. /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware.h +0 -0
  1113. /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware_configurator.c +0 -0
  1114. /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware_configurator.h +0 -0
  1115. /data/assets/{tests_with_defines → fixtures/tests_with_defines}/test/test_adc_hardware.c +0 -0
  1116. /data/assets/{tests_with_defines → fixtures/tests_with_defines}/test/test_adc_hardware_special.c +0 -0
  1117. /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/src/unicoder.c +0 -0
  1118. /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/src/unicoder.h +0 -0
  1119. /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/test/test_unicoder.c +0 -0
  1120. /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/test/test_unicoder_partial.c +0 -0
  1121. /data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/src/conditional_module.h +0 -0
  1122. /data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/src/optional_dep.h +0 -0
  1123. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/blanks.c +0 -0
  1124. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/blanks.h +0 -0
  1125. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/counter.c +0 -0
  1126. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/counter.h +0 -0
  1127. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/decorators.c +0 -0
  1128. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/decorators.h +0 -0
  1129. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_blanks.c +0 -0
  1130. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_counter.c +0 -0
  1131. /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_decorators.c +0 -0
  1132. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareA.c +0 -0
  1133. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareA.h +0 -0
  1134. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareB.c +0 -0
  1135. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareB.h +0 -0
  1136. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareC.c +0 -0
  1137. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareC.h +0 -0
  1138. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorA.h +0 -0
  1139. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorB.h +0 -0
  1140. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorC.h +0 -0
  1141. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareA.c +0 -0
  1142. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareB.c +0 -0
  1143. /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareC.c +0 -0
  1144. /data/assets/{uncovered_example_file.c → fixtures/uncovered_example_file.c} +0 -0
  1145. /data/plugins/bullseye/assets/{template.erb → coverage.template} +0 -0
@@ -0,0 +1,4826 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+ <meta name="description" content="Test-Centered Build System for C">
10
+
11
+
12
+
13
+
14
+ <link rel="prev" href="index.html">
15
+
16
+
17
+ <link rel="next" href="../fff.html">
18
+
19
+
20
+
21
+
22
+
23
+ <link rel="icon" href="../../assets/images/favicon.png">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
25
+
26
+
27
+
28
+ <title>Licensing - Ceedling</title>
29
+
30
+
31
+
32
+ <link rel="stylesheet" href="../../assets/stylesheets/main.57a0d79d.min.css">
33
+
34
+
35
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.fb2fffe2.min.css">
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
49
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
50
+ <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
51
+
52
+
53
+
54
+ <link rel="stylesheet" href="../../assets/stylesheets/styling.css">
55
+
56
+ <link rel="stylesheet" href="../../assets/stylesheets/admonitions.css">
57
+
58
+ <link rel="stylesheet" href="../../assets/stylesheets/fixes-local.css">
59
+
60
+ <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
61
+
62
+
63
+
64
+
65
+
66
+ </head>
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+ <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="green" data-md-color-accent="deep_purple">
77
+
78
+
79
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
80
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
81
+ <label class="md-overlay" for="__drawer"></label>
82
+ <div data-md-component="skip">
83
+
84
+
85
+ <a href="#licensing" class="md-skip">
86
+ Skip to content
87
+ </a>
88
+
89
+ </div>
90
+ <div data-md-component="announce">
91
+
92
+ </div>
93
+
94
+ <div data-md-color-scheme="default" data-md-component="outdated" hidden>
95
+
96
+ <aside class="md-banner md-banner--warning">
97
+ <div class="md-banner__inner md-grid md-typeset">
98
+ You are not viewing the latest version.
99
+ <a href="../../..">
100
+ <strong>Click here to go to latest.</strong>
101
+ </a>
102
+ </div>
103
+ <script>var el=document.querySelector("[data-md-component=outdated]"),base=new URL("../.."),outdated=__md_get("__outdated",sessionStorage,base);!0===outdated&&el&&(el.hidden=!1)</script>
104
+ </aside>
105
+
106
+ </div>
107
+
108
+
109
+
110
+
111
+ <header class="md-header" data-md-component="header">
112
+ <nav class="md-header__inner md-grid" aria-label="Header">
113
+ <a href="../../index.html" title="Ceedling" class="md-header__button md-logo" aria-label="Ceedling" data-md-component="logo">
114
+
115
+
116
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
117
+
118
+ </a>
119
+ <label class="md-header__button md-icon" for="__drawer">
120
+
121
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
122
+ </label>
123
+ <div class="md-header__title" data-md-component="header-title">
124
+ <div class="md-header__ellipsis">
125
+ <div class="md-header__topic">
126
+ <span class="md-ellipsis">
127
+ Ceedling
128
+ </span>
129
+ </div>
130
+ <div class="md-header__topic" data-md-component="header-topic">
131
+ <span class="md-ellipsis">
132
+
133
+ Licensing
134
+
135
+ </span>
136
+ </div>
137
+ </div>
138
+ </div>
139
+
140
+
141
+ <form class="md-header__option" data-md-component="palette">
142
+
143
+
144
+
145
+
146
+ <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="green" data-md-color-accent="deep_purple" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
147
+
148
+
149
+ </form>
150
+
151
+
152
+
153
+ <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
154
+
155
+
156
+
157
+
158
+ <div class="md-header__source">
159
+ <a href="https://github.com/ThrowTheSwitch/Ceedling" title="Go to repository" class="md-source" data-md-component="source">
160
+ <div class="md-source__icon md-icon">
161
+
162
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
163
+ </div>
164
+ <div class="md-source__repository">
165
+ ThrowTheSwitch/Ceedling
166
+ </div>
167
+ </a>
168
+ </div>
169
+
170
+ </nav>
171
+
172
+ </header>
173
+
174
+ <div class="md-container" data-md-component="container">
175
+
176
+
177
+
178
+
179
+
180
+ <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
181
+ <div class="md-grid">
182
+ <ul class="md-tabs__list">
183
+
184
+
185
+
186
+
187
+
188
+
189
+ <li class="md-tabs__item">
190
+ <a href="../../index.html" class="md-tabs__link">
191
+
192
+
193
+
194
+
195
+
196
+ Home
197
+
198
+ </a>
199
+ </li>
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+ <li class="md-tabs__item">
211
+ <a href="../../overview/index.html" class="md-tabs__link">
212
+
213
+
214
+
215
+
216
+
217
+ Overview
218
+
219
+ </a>
220
+ </li>
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+ <li class="md-tabs__item">
233
+ <a href="../../getting-started/index.html" class="md-tabs__link">
234
+
235
+
236
+
237
+
238
+
239
+ Getting Started
240
+
241
+ </a>
242
+ </li>
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+ <li class="md-tabs__item">
255
+ <a href="../../testing-guide/index.html" class="md-tabs__link">
256
+
257
+
258
+
259
+
260
+
261
+ Testing Guide
262
+
263
+ </a>
264
+ </li>
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+ <li class="md-tabs__item">
277
+ <a href="../../configuration/index.html" class="md-tabs__link">
278
+
279
+
280
+
281
+
282
+
283
+ Configuration
284
+
285
+ </a>
286
+ </li>
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+ <li class="md-tabs__item md-tabs__item--active">
301
+ <a href="../index.html" class="md-tabs__link">
302
+
303
+
304
+
305
+
306
+
307
+ Plugins
308
+
309
+ </a>
310
+ </li>
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+ <li class="md-tabs__item">
323
+ <a href="../../reference/index.html" class="md-tabs__link">
324
+
325
+
326
+
327
+
328
+
329
+ Reference
330
+
331
+ </a>
332
+ </li>
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+ <li class="md-tabs__item">
345
+ <a href="../../project/index.html" class="md-tabs__link">
346
+
347
+
348
+
349
+
350
+
351
+ Releases
352
+
353
+ </a>
354
+ </li>
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+ <li class="md-tabs__item">
365
+ <a href="../../help.html" class="md-tabs__link">
366
+
367
+
368
+
369
+
370
+
371
+ Help
372
+
373
+ </a>
374
+ </li>
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+ <li class="md-tabs__item">
386
+ <a href="../../development/index.html" class="md-tabs__link">
387
+
388
+
389
+
390
+
391
+
392
+ Development
393
+
394
+ </a>
395
+ </li>
396
+
397
+
398
+
399
+
400
+ </ul>
401
+ </div>
402
+ </nav>
403
+
404
+
405
+
406
+ <main class="md-main" data-md-component="main">
407
+ <div class="md-main__inner md-grid">
408
+
409
+
410
+
411
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
412
+ <div class="md-sidebar__scrollwrap">
413
+ <div class="md-sidebar__inner">
414
+
415
+
416
+
417
+
418
+
419
+
420
+ <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
421
+ <label class="md-nav__title" for="__drawer">
422
+ <a href="../../index.html" title="Ceedling" class="md-nav__button md-logo" aria-label="Ceedling" data-md-component="logo">
423
+
424
+
425
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
426
+
427
+ </a>
428
+ Ceedling
429
+ </label>
430
+
431
+ <div class="md-nav__source">
432
+ <a href="https://github.com/ThrowTheSwitch/Ceedling" title="Go to repository" class="md-source" data-md-component="source">
433
+ <div class="md-source__icon md-icon">
434
+
435
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
436
+ </div>
437
+ <div class="md-source__repository">
438
+ ThrowTheSwitch/Ceedling
439
+ </div>
440
+ </a>
441
+ </div>
442
+
443
+ <ul class="md-nav__list" data-md-scrollfix>
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+ <li class="md-nav__item">
452
+ <a href="../../index.html" class="md-nav__link">
453
+
454
+
455
+
456
+ <span class="md-ellipsis">
457
+
458
+
459
+ Home
460
+
461
+
462
+
463
+ </span>
464
+
465
+
466
+
467
+ </a>
468
+ </li>
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+ <li class="md-nav__item md-nav__item--nested">
501
+
502
+
503
+
504
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
505
+
506
+
507
+ <div class="md-nav__link md-nav__container">
508
+ <a href="../../overview/index.html" class="md-nav__link ">
509
+
510
+
511
+
512
+ <span class="md-ellipsis">
513
+
514
+
515
+ Overview
516
+
517
+
518
+
519
+ </span>
520
+
521
+
522
+
523
+ </a>
524
+
525
+
526
+ <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
527
+ <span class="md-nav__icon md-icon"></span>
528
+ </label>
529
+
530
+ </div>
531
+
532
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
533
+ <label class="md-nav__title" for="__nav_2">
534
+ <span class="md-nav__icon md-icon"></span>
535
+
536
+
537
+ Overview
538
+
539
+
540
+ </label>
541
+ <ul class="md-nav__list" data-md-scrollfix>
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+ <li class="md-nav__item">
552
+ <a href="../../overview/build-system.html" class="md-nav__link">
553
+
554
+
555
+
556
+ <span class="md-ellipsis">
557
+
558
+
559
+ Build System
560
+
561
+
562
+
563
+ </span>
564
+
565
+
566
+
567
+ </a>
568
+ </li>
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+ <li class="md-nav__item">
580
+ <a href="../../overview/tools-and-frameworks.html" class="md-nav__link">
581
+
582
+
583
+
584
+ <span class="md-ellipsis">
585
+
586
+
587
+ Tools & Frameworks
588
+
589
+
590
+
591
+ </span>
592
+
593
+
594
+
595
+ </a>
596
+ </li>
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+
606
+
607
+ <li class="md-nav__item">
608
+ <a href="../../overview/test-environments.html" class="md-nav__link">
609
+
610
+
611
+
612
+ <span class="md-ellipsis">
613
+
614
+
615
+ Test Environments
616
+
617
+
618
+
619
+ </span>
620
+
621
+
622
+
623
+ </a>
624
+ </li>
625
+
626
+
627
+
628
+
629
+ </ul>
630
+ </nav>
631
+
632
+ </li>
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+ <li class="md-nav__item md-nav__item--nested">
669
+
670
+
671
+
672
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
673
+
674
+
675
+ <div class="md-nav__link md-nav__container">
676
+ <a href="../../getting-started/index.html" class="md-nav__link ">
677
+
678
+
679
+
680
+ <span class="md-ellipsis">
681
+
682
+
683
+ Getting Started
684
+
685
+
686
+
687
+ </span>
688
+
689
+
690
+
691
+ </a>
692
+
693
+
694
+ <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
695
+ <span class="md-nav__icon md-icon"></span>
696
+ </label>
697
+
698
+ </div>
699
+
700
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
701
+ <label class="md-nav__title" for="__nav_3">
702
+ <span class="md-nav__icon md-icon"></span>
703
+
704
+
705
+ Getting Started
706
+
707
+
708
+ </label>
709
+ <ul class="md-nav__list" data-md-scrollfix>
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+ <li class="md-nav__item">
720
+ <a href="../../getting-started/quick-start.html" class="md-nav__link">
721
+
722
+
723
+
724
+ <span class="md-ellipsis">
725
+
726
+
727
+ Quick Start
728
+
729
+
730
+
731
+ </span>
732
+
733
+
734
+
735
+ </a>
736
+ </li>
737
+
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+ <li class="md-nav__item">
748
+ <a href="../../getting-started/installation.html" class="md-nav__link">
749
+
750
+
751
+
752
+ <span class="md-ellipsis">
753
+
754
+
755
+ Installation
756
+
757
+
758
+
759
+ </span>
760
+
761
+
762
+
763
+ </a>
764
+ </li>
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+ <li class="md-nav__item">
776
+ <a href="../../getting-started/command-line.html" class="md-nav__link">
777
+
778
+
779
+
780
+ <span class="md-ellipsis">
781
+
782
+
783
+ Command Line
784
+
785
+
786
+
787
+ </span>
788
+
789
+
790
+
791
+ </a>
792
+ </li>
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+ <li class="md-nav__item">
804
+ <a href="../../getting-started/builds.html" class="md-nav__link">
805
+
806
+
807
+
808
+ <span class="md-ellipsis">
809
+
810
+
811
+ Builds
812
+
813
+
814
+
815
+ </span>
816
+
817
+
818
+
819
+ </a>
820
+ </li>
821
+
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+ <li class="md-nav__item md-nav__item--nested">
854
+
855
+
856
+
857
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6" >
858
+
859
+
860
+ <div class="md-nav__link md-nav__container">
861
+ <a href="../../getting-started/example-projects/index.html" class="md-nav__link ">
862
+
863
+
864
+
865
+ <span class="md-ellipsis">
866
+
867
+
868
+ Example Projects
869
+
870
+
871
+
872
+ </span>
873
+
874
+
875
+
876
+ </a>
877
+
878
+
879
+ <label class="md-nav__link " for="__nav_3_6" id="__nav_3_6_label" tabindex="0">
880
+ <span class="md-nav__icon md-icon"></span>
881
+ </label>
882
+
883
+ </div>
884
+
885
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_6_label" aria-expanded="false">
886
+ <label class="md-nav__title" for="__nav_3_6">
887
+ <span class="md-nav__icon md-icon"></span>
888
+
889
+
890
+ Example Projects
891
+
892
+
893
+ </label>
894
+ <ul class="md-nav__list" data-md-scrollfix>
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+ <li class="md-nav__item">
905
+ <a href="../../getting-started/example-projects/temp-sensor.html" class="md-nav__link">
906
+
907
+
908
+
909
+ <span class="md-ellipsis">
910
+
911
+
912
+ Temp Sensor
913
+
914
+
915
+
916
+ </span>
917
+
918
+
919
+
920
+ </a>
921
+ </li>
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+ <li class="md-nav__item">
933
+ <a href="../../getting-started/example-projects/wondrous-forest.html" class="md-nav__link">
934
+
935
+
936
+
937
+ <span class="md-ellipsis">
938
+
939
+
940
+ Wondrous Forest
941
+
942
+
943
+
944
+ </span>
945
+
946
+
947
+
948
+ </a>
949
+ </li>
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+ <li class="md-nav__item">
961
+ <a href="../../getting-started/example-projects/cipher-quest.html" class="md-nav__link">
962
+
963
+
964
+
965
+ <span class="md-ellipsis">
966
+
967
+
968
+ Cipher Quest
969
+
970
+
971
+
972
+ </span>
973
+
974
+
975
+
976
+ </a>
977
+ </li>
978
+
979
+
980
+
981
+
982
+ </ul>
983
+ </nav>
984
+
985
+ </li>
986
+
987
+
988
+
989
+
990
+ </ul>
991
+ </nav>
992
+
993
+ </li>
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+ <li class="md-nav__item md-nav__item--nested">
1034
+
1035
+
1036
+
1037
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
1038
+
1039
+
1040
+ <div class="md-nav__link md-nav__container">
1041
+ <a href="../../testing-guide/index.html" class="md-nav__link ">
1042
+
1043
+
1044
+
1045
+ <span class="md-ellipsis">
1046
+
1047
+
1048
+ Testing Guide
1049
+
1050
+
1051
+
1052
+ </span>
1053
+
1054
+
1055
+
1056
+ </a>
1057
+
1058
+
1059
+ <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
1060
+ <span class="md-nav__icon md-icon"></span>
1061
+ </label>
1062
+
1063
+ </div>
1064
+
1065
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
1066
+ <label class="md-nav__title" for="__nav_4">
1067
+ <span class="md-nav__icon md-icon"></span>
1068
+
1069
+
1070
+ Testing Guide
1071
+
1072
+
1073
+ </label>
1074
+ <ul class="md-nav__list" data-md-scrollfix>
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+ <li class="md-nav__item">
1085
+ <a href="../../testing-guide/test-cases.html" class="md-nav__link">
1086
+
1087
+
1088
+
1089
+ <span class="md-ellipsis">
1090
+
1091
+
1092
+ How Does a Test Case Work?
1093
+
1094
+
1095
+
1096
+ </span>
1097
+
1098
+
1099
+
1100
+ </a>
1101
+ </li>
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+ <li class="md-nav__item">
1113
+ <a href="../../testing-guide/test-sample.html" class="md-nav__link">
1114
+
1115
+
1116
+
1117
+ <span class="md-ellipsis">
1118
+
1119
+
1120
+ Commented Sample Test File
1121
+
1122
+
1123
+
1124
+ </span>
1125
+
1126
+
1127
+
1128
+ </a>
1129
+ </li>
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+ <li class="md-nav__item">
1141
+ <a href="../../testing-guide/test-suite-anatomy.html" class="md-nav__link">
1142
+
1143
+
1144
+
1145
+ <span class="md-ellipsis">
1146
+
1147
+
1148
+ Anatomy of a Test Suite
1149
+
1150
+
1151
+
1152
+ </span>
1153
+
1154
+
1155
+
1156
+ </a>
1157
+ </li>
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+ <li class="md-nav__item">
1169
+ <a href="../../testing-guide/conventions.html" class="md-nav__link">
1170
+
1171
+
1172
+
1173
+ <span class="md-ellipsis">
1174
+
1175
+
1176
+ Conventions & Behaviors
1177
+
1178
+
1179
+
1180
+ </span>
1181
+
1182
+
1183
+
1184
+ </a>
1185
+ </li>
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+ <li class="md-nav__item">
1197
+ <a href="../../testing-guide/frameworks.html" class="md-nav__link">
1198
+
1199
+
1200
+
1201
+ <span class="md-ellipsis">
1202
+
1203
+
1204
+ Unity, CMock & CException
1205
+
1206
+
1207
+
1208
+ </span>
1209
+
1210
+
1211
+
1212
+ </a>
1213
+ </li>
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+ <li class="md-nav__item md-nav__item--nested">
1253
+
1254
+
1255
+
1256
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_7" >
1257
+
1258
+
1259
+ <div class="md-nav__link md-nav__container">
1260
+ <a href="../../testing-guide/partials/index.html" class="md-nav__link ">
1261
+
1262
+
1263
+
1264
+ <span class="md-ellipsis">
1265
+
1266
+
1267
+ Partials
1268
+
1269
+
1270
+
1271
+ </span>
1272
+
1273
+
1274
+
1275
+ </a>
1276
+
1277
+
1278
+ <label class="md-nav__link " for="__nav_4_7" id="__nav_4_7_label" tabindex="0">
1279
+ <span class="md-nav__icon md-icon"></span>
1280
+ </label>
1281
+
1282
+ </div>
1283
+
1284
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_7_label" aria-expanded="false">
1285
+ <label class="md-nav__title" for="__nav_4_7">
1286
+ <span class="md-nav__icon md-icon"></span>
1287
+
1288
+
1289
+ Partials
1290
+
1291
+
1292
+ </label>
1293
+ <ul class="md-nav__list" data-md-scrollfix>
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+ <li class="md-nav__item">
1304
+ <a href="../../testing-guide/partials/overview.html" class="md-nav__link">
1305
+
1306
+
1307
+
1308
+ <span class="md-ellipsis">
1309
+
1310
+
1311
+ What Is a Partial?
1312
+
1313
+
1314
+
1315
+ </span>
1316
+
1317
+
1318
+
1319
+ </a>
1320
+ </li>
1321
+
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+ <li class="md-nav__item">
1332
+ <a href="../../testing-guide/partials/configuration.html" class="md-nav__link">
1333
+
1334
+
1335
+
1336
+ <span class="md-ellipsis">
1337
+
1338
+
1339
+ Configuration
1340
+
1341
+
1342
+
1343
+ </span>
1344
+
1345
+
1346
+
1347
+ </a>
1348
+ </li>
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+ <li class="md-nav__item">
1360
+ <a href="../../testing-guide/partials/example.html" class="md-nav__link">
1361
+
1362
+
1363
+
1364
+ <span class="md-ellipsis">
1365
+
1366
+
1367
+ Walk-Through Example
1368
+
1369
+
1370
+
1371
+ </span>
1372
+
1373
+
1374
+
1375
+ </a>
1376
+ </li>
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+ <li class="md-nav__item">
1388
+ <a href="../../testing-guide/partials/conventions.html" class="md-nav__link">
1389
+
1390
+
1391
+
1392
+ <span class="md-ellipsis">
1393
+
1394
+
1395
+ Conventions & Terminology
1396
+
1397
+
1398
+
1399
+ </span>
1400
+
1401
+
1402
+
1403
+ </a>
1404
+ </li>
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+ <li class="md-nav__item">
1416
+ <a href="../../testing-guide/partials/directives.html" class="md-nav__link">
1417
+
1418
+
1419
+
1420
+ <span class="md-ellipsis">
1421
+
1422
+
1423
+ Partial Directive Macros
1424
+
1425
+
1426
+
1427
+ </span>
1428
+
1429
+
1430
+
1431
+ </a>
1432
+ </li>
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+ <li class="md-nav__item">
1444
+ <a href="../../testing-guide/partials/variables.html" class="md-nav__link">
1445
+
1446
+
1447
+
1448
+ <span class="md-ellipsis">
1449
+
1450
+
1451
+ Accessing Static Variables
1452
+
1453
+
1454
+
1455
+ </span>
1456
+
1457
+
1458
+
1459
+ </a>
1460
+ </li>
1461
+
1462
+
1463
+
1464
+
1465
+ </ul>
1466
+ </nav>
1467
+
1468
+ </li>
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+ <li class="md-nav__item">
1480
+ <a href="../../testing-guide/build-directives.html" class="md-nav__link">
1481
+
1482
+
1483
+
1484
+ <span class="md-ellipsis">
1485
+
1486
+
1487
+ Build Directive Macros
1488
+
1489
+
1490
+
1491
+ </span>
1492
+
1493
+
1494
+
1495
+ </a>
1496
+ </li>
1497
+
1498
+
1499
+
1500
+
1501
+ </ul>
1502
+ </nav>
1503
+
1504
+ </li>
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+ <li class="md-nav__item md-nav__item--nested">
1547
+
1548
+
1549
+
1550
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
1551
+
1552
+
1553
+ <div class="md-nav__link md-nav__container">
1554
+ <a href="../../configuration/index.html" class="md-nav__link ">
1555
+
1556
+
1557
+
1558
+ <span class="md-ellipsis">
1559
+
1560
+
1561
+ Configuration
1562
+
1563
+
1564
+
1565
+ </span>
1566
+
1567
+
1568
+
1569
+ </a>
1570
+
1571
+
1572
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
1573
+ <span class="md-nav__icon md-icon"></span>
1574
+ </label>
1575
+
1576
+ </div>
1577
+
1578
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
1579
+ <label class="md-nav__title" for="__nav_5">
1580
+ <span class="md-nav__icon md-icon"></span>
1581
+
1582
+
1583
+ Configuration
1584
+
1585
+
1586
+ </label>
1587
+ <ul class="md-nav__list" data-md-scrollfix>
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+ <li class="md-nav__item">
1598
+ <a href="../../configuration/loading.html" class="md-nav__link">
1599
+
1600
+
1601
+
1602
+ <span class="md-ellipsis">
1603
+
1604
+
1605
+ Loading Configuration
1606
+
1607
+
1608
+
1609
+ </span>
1610
+
1611
+
1612
+
1613
+ </a>
1614
+ </li>
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+ <li class="md-nav__item">
1626
+ <a href="../../configuration/mixins.html" class="md-nav__link">
1627
+
1628
+
1629
+
1630
+ <span class="md-ellipsis">
1631
+
1632
+
1633
+ Mixins
1634
+
1635
+
1636
+
1637
+ </span>
1638
+
1639
+
1640
+
1641
+ </a>
1642
+ </li>
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+ <li class="md-nav__item">
1654
+ <a href="../../configuration/project-file.html" class="md-nav__link">
1655
+
1656
+
1657
+
1658
+ <span class="md-ellipsis">
1659
+
1660
+
1661
+ Project File Basics
1662
+
1663
+
1664
+
1665
+ </span>
1666
+
1667
+
1668
+
1669
+ </a>
1670
+ </li>
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+ <li class="md-nav__item">
1682
+ <a href="../../configuration/parallel-builds.html" class="md-nav__link">
1683
+
1684
+
1685
+
1686
+ <span class="md-ellipsis">
1687
+
1688
+
1689
+ Parallel Builds
1690
+
1691
+
1692
+
1693
+ </span>
1694
+
1695
+
1696
+
1697
+ </a>
1698
+ </li>
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+ <li class="md-nav__item">
1710
+ <a href="../../configuration/environment-vars.html" class="md-nav__link">
1711
+
1712
+
1713
+
1714
+ <span class="md-ellipsis">
1715
+
1716
+
1717
+ Environment Variables
1718
+
1719
+
1720
+
1721
+ </span>
1722
+
1723
+
1724
+
1725
+ </a>
1726
+ </li>
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+ <li class="md-nav__item">
1738
+ <a href="../../configuration/which-ceedling.html" class="md-nav__link">
1739
+
1740
+
1741
+
1742
+ <span class="md-ellipsis">
1743
+
1744
+
1745
+ Which Ceedling
1746
+
1747
+
1748
+
1749
+ </span>
1750
+
1751
+
1752
+
1753
+ </a>
1754
+ </li>
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+
1764
+
1765
+ <li class="md-nav__item">
1766
+ <a href="../../configuration/global-collections.html" class="md-nav__link">
1767
+
1768
+
1769
+
1770
+ <span class="md-ellipsis">
1771
+
1772
+
1773
+ Global Collections
1774
+
1775
+
1776
+
1777
+ </span>
1778
+
1779
+
1780
+
1781
+ </a>
1782
+ </li>
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+ <li class="md-nav__item md-nav__item--nested">
1846
+
1847
+
1848
+
1849
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_9" >
1850
+
1851
+
1852
+ <div class="md-nav__link md-nav__container">
1853
+ <a href="../../configuration/reference/index.html" class="md-nav__link ">
1854
+
1855
+
1856
+
1857
+ <span class="md-ellipsis">
1858
+
1859
+
1860
+ Configuration Reference
1861
+
1862
+
1863
+
1864
+ </span>
1865
+
1866
+
1867
+
1868
+ </a>
1869
+
1870
+
1871
+ <label class="md-nav__link " for="__nav_5_9" id="__nav_5_9_label" tabindex="0">
1872
+ <span class="md-nav__icon md-icon"></span>
1873
+ </label>
1874
+
1875
+ </div>
1876
+
1877
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_9_label" aria-expanded="false">
1878
+ <label class="md-nav__title" for="__nav_5_9">
1879
+ <span class="md-nav__icon md-icon"></span>
1880
+
1881
+
1882
+ Configuration Reference
1883
+
1884
+
1885
+ </label>
1886
+ <ul class="md-nav__list" data-md-scrollfix>
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+
1895
+
1896
+ <li class="md-nav__item">
1897
+ <a href="../../configuration/reference/project.html" class="md-nav__link">
1898
+
1899
+
1900
+
1901
+ <span class="md-ellipsis">
1902
+
1903
+
1904
+ Global Project Settings
1905
+
1906
+
1907
+
1908
+ </span>
1909
+
1910
+
1911
+
1912
+ </a>
1913
+ </li>
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+
1920
+
1921
+
1922
+
1923
+
1924
+ <li class="md-nav__item">
1925
+ <a href="../../configuration/reference/mixins.html" class="md-nav__link">
1926
+
1927
+
1928
+
1929
+ <span class="md-ellipsis">
1930
+
1931
+
1932
+ Mixins
1933
+
1934
+
1935
+
1936
+ </span>
1937
+
1938
+
1939
+
1940
+ </a>
1941
+ </li>
1942
+
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+ <li class="md-nav__item">
1953
+ <a href="../../configuration/reference/test-build.html" class="md-nav__link">
1954
+
1955
+
1956
+
1957
+ <span class="md-ellipsis">
1958
+
1959
+
1960
+ Test Build Settings
1961
+
1962
+
1963
+
1964
+ </span>
1965
+
1966
+
1967
+
1968
+ </a>
1969
+ </li>
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+ <li class="md-nav__item">
1981
+ <a href="../../configuration/reference/partials.html" class="md-nav__link">
1982
+
1983
+
1984
+
1985
+ <span class="md-ellipsis">
1986
+
1987
+
1988
+ Partials Settings
1989
+
1990
+
1991
+
1992
+ </span>
1993
+
1994
+
1995
+
1996
+ </a>
1997
+ </li>
1998
+
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+ <li class="md-nav__item">
2009
+ <a href="../../configuration/reference/release-build.html" class="md-nav__link">
2010
+
2011
+
2012
+
2013
+ <span class="md-ellipsis">
2014
+
2015
+
2016
+ Release Build Settings
2017
+
2018
+
2019
+
2020
+ </span>
2021
+
2022
+
2023
+
2024
+ </a>
2025
+ </li>
2026
+
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+ <li class="md-nav__item">
2037
+ <a href="../../configuration/reference/paths.html" class="md-nav__link">
2038
+
2039
+
2040
+
2041
+ <span class="md-ellipsis">
2042
+
2043
+
2044
+ Search Paths
2045
+
2046
+
2047
+
2048
+ </span>
2049
+
2050
+
2051
+
2052
+ </a>
2053
+ </li>
2054
+
2055
+
2056
+
2057
+
2058
+
2059
+
2060
+
2061
+
2062
+
2063
+
2064
+ <li class="md-nav__item">
2065
+ <a href="../../configuration/reference/files.html" class="md-nav__link">
2066
+
2067
+
2068
+
2069
+ <span class="md-ellipsis">
2070
+
2071
+
2072
+ File Collections
2073
+
2074
+
2075
+
2076
+ </span>
2077
+
2078
+
2079
+
2080
+ </a>
2081
+ </li>
2082
+
2083
+
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+
2092
+ <li class="md-nav__item">
2093
+ <a href="../../configuration/reference/environment.html" class="md-nav__link">
2094
+
2095
+
2096
+
2097
+ <span class="md-ellipsis">
2098
+
2099
+
2100
+ Environment Variables
2101
+
2102
+
2103
+
2104
+ </span>
2105
+
2106
+
2107
+
2108
+ </a>
2109
+ </li>
2110
+
2111
+
2112
+
2113
+
2114
+
2115
+
2116
+
2117
+
2118
+
2119
+
2120
+ <li class="md-nav__item">
2121
+ <a href="../../configuration/reference/extension.html" class="md-nav__link">
2122
+
2123
+
2124
+
2125
+ <span class="md-ellipsis">
2126
+
2127
+
2128
+ File Extensions
2129
+
2130
+
2131
+
2132
+ </span>
2133
+
2134
+
2135
+
2136
+ </a>
2137
+ </li>
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+
2145
+
2146
+
2147
+
2148
+ <li class="md-nav__item">
2149
+ <a href="../../configuration/reference/defines.html" class="md-nav__link">
2150
+
2151
+
2152
+
2153
+ <span class="md-ellipsis">
2154
+
2155
+
2156
+ Defines
2157
+
2158
+
2159
+
2160
+ </span>
2161
+
2162
+
2163
+
2164
+ </a>
2165
+ </li>
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+ <li class="md-nav__item">
2177
+ <a href="../../configuration/reference/flags.html" class="md-nav__link">
2178
+
2179
+
2180
+
2181
+ <span class="md-ellipsis">
2182
+
2183
+
2184
+ Compilation & Link Flags
2185
+
2186
+
2187
+
2188
+ </span>
2189
+
2190
+
2191
+
2192
+ </a>
2193
+ </li>
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+
2200
+
2201
+
2202
+
2203
+
2204
+ <li class="md-nav__item">
2205
+ <a href="../../configuration/reference/libraries.html" class="md-nav__link">
2206
+
2207
+
2208
+
2209
+ <span class="md-ellipsis">
2210
+
2211
+
2212
+ Libraries
2213
+
2214
+
2215
+
2216
+ </span>
2217
+
2218
+
2219
+
2220
+ </a>
2221
+ </li>
2222
+
2223
+
2224
+
2225
+
2226
+
2227
+
2228
+
2229
+
2230
+
2231
+
2232
+ <li class="md-nav__item">
2233
+ <a href="../../configuration/reference/unity.html" class="md-nav__link">
2234
+
2235
+
2236
+
2237
+ <span class="md-ellipsis">
2238
+
2239
+
2240
+ Unity
2241
+
2242
+
2243
+
2244
+ </span>
2245
+
2246
+
2247
+
2248
+ </a>
2249
+ </li>
2250
+
2251
+
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+ <li class="md-nav__item">
2261
+ <a href="../../configuration/reference/cmock.html" class="md-nav__link">
2262
+
2263
+
2264
+
2265
+ <span class="md-ellipsis">
2266
+
2267
+
2268
+ CMock
2269
+
2270
+
2271
+
2272
+ </span>
2273
+
2274
+
2275
+
2276
+ </a>
2277
+ </li>
2278
+
2279
+
2280
+
2281
+
2282
+
2283
+
2284
+
2285
+
2286
+
2287
+
2288
+ <li class="md-nav__item">
2289
+ <a href="../../configuration/reference/test-runner.html" class="md-nav__link">
2290
+
2291
+
2292
+
2293
+ <span class="md-ellipsis">
2294
+
2295
+
2296
+ Test Runner
2297
+
2298
+
2299
+
2300
+ </span>
2301
+
2302
+
2303
+
2304
+ </a>
2305
+ </li>
2306
+
2307
+
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+ <li class="md-nav__item">
2317
+ <a href="../../configuration/reference/cexception.html" class="md-nav__link">
2318
+
2319
+
2320
+
2321
+ <span class="md-ellipsis">
2322
+
2323
+
2324
+ CException
2325
+
2326
+
2327
+
2328
+ </span>
2329
+
2330
+
2331
+
2332
+ </a>
2333
+ </li>
2334
+
2335
+
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+
2342
+
2343
+
2344
+ <li class="md-nav__item">
2345
+ <a href="../../configuration/reference/plugins.html" class="md-nav__link">
2346
+
2347
+
2348
+
2349
+ <span class="md-ellipsis">
2350
+
2351
+
2352
+ Plugins
2353
+
2354
+
2355
+
2356
+ </span>
2357
+
2358
+
2359
+
2360
+ </a>
2361
+ </li>
2362
+
2363
+
2364
+
2365
+
2366
+
2367
+
2368
+
2369
+
2370
+
2371
+
2372
+ <li class="md-nav__item">
2373
+ <a href="../../configuration/reference/tools.html" class="md-nav__link">
2374
+
2375
+
2376
+
2377
+ <span class="md-ellipsis">
2378
+
2379
+
2380
+ Tools
2381
+
2382
+
2383
+
2384
+ </span>
2385
+
2386
+
2387
+
2388
+ </a>
2389
+ </li>
2390
+
2391
+
2392
+
2393
+
2394
+ </ul>
2395
+ </nav>
2396
+
2397
+ </li>
2398
+
2399
+
2400
+
2401
+
2402
+ </ul>
2403
+ </nav>
2404
+
2405
+ </li>
2406
+
2407
+
2408
+
2409
+
2410
+
2411
+
2412
+
2413
+
2414
+
2415
+
2416
+
2417
+
2418
+
2419
+
2420
+
2421
+
2422
+
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+
2438
+
2439
+
2440
+
2441
+
2442
+
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+
2452
+
2453
+
2454
+
2455
+
2456
+
2457
+
2458
+
2459
+
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+
2466
+
2467
+
2468
+
2469
+
2470
+
2471
+
2472
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
2473
+
2474
+
2475
+
2476
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
2477
+
2478
+
2479
+ <div class="md-nav__link md-nav__container">
2480
+ <a href="../index.html" class="md-nav__link ">
2481
+
2482
+
2483
+
2484
+ <span class="md-ellipsis">
2485
+
2486
+
2487
+ Plugins
2488
+
2489
+
2490
+
2491
+ </span>
2492
+
2493
+
2494
+
2495
+ </a>
2496
+
2497
+
2498
+ <label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="">
2499
+ <span class="md-nav__icon md-icon"></span>
2500
+ </label>
2501
+
2502
+ </div>
2503
+
2504
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
2505
+ <label class="md-nav__title" for="__nav_6">
2506
+ <span class="md-nav__icon md-icon"></span>
2507
+
2508
+
2509
+ Plugins
2510
+
2511
+
2512
+ </label>
2513
+ <ul class="md-nav__list" data-md-scrollfix>
2514
+
2515
+
2516
+
2517
+
2518
+
2519
+
2520
+
2521
+
2522
+
2523
+ <li class="md-nav__item">
2524
+ <a href="../report-tests-pretty-stdout.html" class="md-nav__link">
2525
+
2526
+
2527
+
2528
+ <span class="md-ellipsis">
2529
+
2530
+
2531
+ Test Report — Pretty
2532
+
2533
+
2534
+
2535
+ </span>
2536
+
2537
+
2538
+
2539
+ </a>
2540
+ </li>
2541
+
2542
+
2543
+
2544
+
2545
+
2546
+
2547
+
2548
+
2549
+
2550
+
2551
+ <li class="md-nav__item">
2552
+ <a href="../report-tests-ide-stdout.html" class="md-nav__link">
2553
+
2554
+
2555
+
2556
+ <span class="md-ellipsis">
2557
+
2558
+
2559
+ Test Report — IDE
2560
+
2561
+
2562
+
2563
+ </span>
2564
+
2565
+
2566
+
2567
+ </a>
2568
+ </li>
2569
+
2570
+
2571
+
2572
+
2573
+
2574
+
2575
+
2576
+
2577
+
2578
+
2579
+ <li class="md-nav__item">
2580
+ <a href="../report-tests-gtestlike-stdout.html" class="md-nav__link">
2581
+
2582
+
2583
+
2584
+ <span class="md-ellipsis">
2585
+
2586
+
2587
+ Test Report — GTest-like
2588
+
2589
+
2590
+
2591
+ </span>
2592
+
2593
+
2594
+
2595
+ </a>
2596
+ </li>
2597
+
2598
+
2599
+
2600
+
2601
+
2602
+
2603
+
2604
+
2605
+
2606
+
2607
+ <li class="md-nav__item">
2608
+ <a href="../report-tests-teamcity-stdout.html" class="md-nav__link">
2609
+
2610
+
2611
+
2612
+ <span class="md-ellipsis">
2613
+
2614
+
2615
+ Test Report — TeamCity
2616
+
2617
+
2618
+
2619
+ </span>
2620
+
2621
+
2622
+
2623
+ </a>
2624
+ </li>
2625
+
2626
+
2627
+
2628
+
2629
+
2630
+
2631
+
2632
+
2633
+
2634
+
2635
+ <li class="md-nav__item">
2636
+ <a href="../report-tests-log-factory.html" class="md-nav__link">
2637
+
2638
+
2639
+
2640
+ <span class="md-ellipsis">
2641
+
2642
+
2643
+ Test Report Log Factory
2644
+
2645
+
2646
+
2647
+ </span>
2648
+
2649
+
2650
+
2651
+ </a>
2652
+ </li>
2653
+
2654
+
2655
+
2656
+
2657
+
2658
+
2659
+
2660
+
2661
+
2662
+
2663
+ <li class="md-nav__item">
2664
+ <a href="../report-tests-raw-output-log.html" class="md-nav__link">
2665
+
2666
+
2667
+
2668
+ <span class="md-ellipsis">
2669
+
2670
+
2671
+ Test Report — Raw Output
2672
+
2673
+
2674
+
2675
+ </span>
2676
+
2677
+
2678
+
2679
+ </a>
2680
+ </li>
2681
+
2682
+
2683
+
2684
+
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+
2691
+ <li class="md-nav__item">
2692
+ <a href="../report-build-warnings-log.html" class="md-nav__link">
2693
+
2694
+
2695
+
2696
+ <span class="md-ellipsis">
2697
+
2698
+
2699
+ Build Warnings Log
2700
+
2701
+
2702
+
2703
+ </span>
2704
+
2705
+
2706
+
2707
+ </a>
2708
+ </li>
2709
+
2710
+
2711
+
2712
+
2713
+
2714
+
2715
+
2716
+
2717
+
2718
+
2719
+
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+
2739
+
2740
+
2741
+
2742
+
2743
+
2744
+
2745
+
2746
+
2747
+
2748
+
2749
+
2750
+
2751
+
2752
+
2753
+
2754
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
2755
+
2756
+
2757
+
2758
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_9" >
2759
+
2760
+
2761
+ <div class="md-nav__link md-nav__container">
2762
+ <a href="../gcov/index.html" class="md-nav__link ">
2763
+
2764
+
2765
+
2766
+ <span class="md-ellipsis">
2767
+
2768
+
2769
+ GCov (Coverage)
2770
+
2771
+
2772
+
2773
+ </span>
2774
+
2775
+
2776
+
2777
+ </a>
2778
+
2779
+
2780
+ <label class="md-nav__link " for="__nav_6_9" id="__nav_6_9_label" tabindex="">
2781
+ <span class="md-nav__icon md-icon"></span>
2782
+ </label>
2783
+
2784
+ </div>
2785
+
2786
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_9_label" aria-expanded="false">
2787
+ <label class="md-nav__title" for="__nav_6_9">
2788
+ <span class="md-nav__icon md-icon"></span>
2789
+
2790
+
2791
+ GCov (Coverage)
2792
+
2793
+
2794
+ </label>
2795
+ <ul class="md-nav__list" data-md-scrollfix>
2796
+
2797
+
2798
+
2799
+
2800
+
2801
+
2802
+
2803
+
2804
+
2805
+ <li class="md-nav__item">
2806
+ <a href="../gcov/overview.html" class="md-nav__link">
2807
+
2808
+
2809
+
2810
+ <span class="md-ellipsis">
2811
+
2812
+
2813
+ Overview
2814
+
2815
+
2816
+
2817
+ </span>
2818
+
2819
+
2820
+
2821
+ </a>
2822
+ </li>
2823
+
2824
+
2825
+
2826
+
2827
+
2828
+
2829
+
2830
+
2831
+
2832
+
2833
+ <li class="md-nav__item">
2834
+ <a href="../gcov/tool-versions.html" class="md-nav__link">
2835
+
2836
+
2837
+
2838
+ <span class="md-ellipsis">
2839
+
2840
+
2841
+ Tool Versions
2842
+
2843
+
2844
+
2845
+ </span>
2846
+
2847
+
2848
+
2849
+ </a>
2850
+ </li>
2851
+
2852
+
2853
+
2854
+
2855
+
2856
+
2857
+
2858
+
2859
+
2860
+
2861
+ <li class="md-nav__item">
2862
+ <a href="../gcov/setup.html" class="md-nav__link">
2863
+
2864
+
2865
+
2866
+ <span class="md-ellipsis">
2867
+
2868
+
2869
+ Set Up & Configuration
2870
+
2871
+
2872
+
2873
+ </span>
2874
+
2875
+
2876
+
2877
+ </a>
2878
+ </li>
2879
+
2880
+
2881
+
2882
+
2883
+
2884
+
2885
+
2886
+
2887
+
2888
+
2889
+ <li class="md-nav__item">
2890
+ <a href="../gcov/examples.html" class="md-nav__link">
2891
+
2892
+
2893
+
2894
+ <span class="md-ellipsis">
2895
+
2896
+
2897
+ Example Usage
2898
+
2899
+
2900
+
2901
+ </span>
2902
+
2903
+
2904
+
2905
+ </a>
2906
+ </li>
2907
+
2908
+
2909
+
2910
+
2911
+
2912
+
2913
+
2914
+
2915
+
2916
+
2917
+ <li class="md-nav__item">
2918
+ <a href="../gcov/reporting.html" class="md-nav__link">
2919
+
2920
+
2921
+
2922
+ <span class="md-ellipsis">
2923
+
2924
+
2925
+ Reporting Configuration
2926
+
2927
+
2928
+
2929
+ </span>
2930
+
2931
+
2932
+
2933
+ </a>
2934
+ </li>
2935
+
2936
+
2937
+
2938
+
2939
+
2940
+
2941
+
2942
+
2943
+
2944
+
2945
+ <li class="md-nav__item">
2946
+ <a href="../gcov/gcovr.html" class="md-nav__link">
2947
+
2948
+
2949
+
2950
+ <span class="md-ellipsis">
2951
+
2952
+
2953
+ GCovr Configuration
2954
+
2955
+
2956
+
2957
+ </span>
2958
+
2959
+
2960
+
2961
+ </a>
2962
+ </li>
2963
+
2964
+
2965
+
2966
+
2967
+
2968
+
2969
+
2970
+
2971
+
2972
+
2973
+ <li class="md-nav__item">
2974
+ <a href="../gcov/reportgenerator.html" class="md-nav__link">
2975
+
2976
+
2977
+
2978
+ <span class="md-ellipsis">
2979
+
2980
+
2981
+ ReportGenerator Configuration
2982
+
2983
+
2984
+
2985
+ </span>
2986
+
2987
+
2988
+
2989
+ </a>
2990
+ </li>
2991
+
2992
+
2993
+
2994
+
2995
+
2996
+
2997
+
2998
+
2999
+
3000
+
3001
+ <li class="md-nav__item">
3002
+ <a href="../gcov/troubleshooting.html" class="md-nav__link">
3003
+
3004
+
3005
+
3006
+ <span class="md-ellipsis">
3007
+
3008
+
3009
+ Advanced & Troubleshooting
3010
+
3011
+
3012
+
3013
+ </span>
3014
+
3015
+
3016
+
3017
+ </a>
3018
+ </li>
3019
+
3020
+
3021
+
3022
+
3023
+ </ul>
3024
+ </nav>
3025
+
3026
+ </li>
3027
+
3028
+
3029
+
3030
+
3031
+
3032
+
3033
+
3034
+
3035
+
3036
+
3037
+ <li class="md-nav__item">
3038
+ <a href="../cppcheck.html" class="md-nav__link">
3039
+
3040
+
3041
+
3042
+ <span class="md-ellipsis">
3043
+
3044
+
3045
+ Cppcheck (Static Analysis)
3046
+
3047
+
3048
+
3049
+ </span>
3050
+
3051
+
3052
+
3053
+ </a>
3054
+ </li>
3055
+
3056
+
3057
+
3058
+
3059
+
3060
+
3061
+
3062
+
3063
+
3064
+
3065
+ <li class="md-nav__item">
3066
+ <a href="../valgrind.html" class="md-nav__link">
3067
+
3068
+
3069
+
3070
+ <span class="md-ellipsis">
3071
+
3072
+
3073
+ Valgrind (Memory Analysis)
3074
+
3075
+
3076
+
3077
+ </span>
3078
+
3079
+
3080
+
3081
+ </a>
3082
+ </li>
3083
+
3084
+
3085
+
3086
+
3087
+
3088
+
3089
+
3090
+
3091
+
3092
+
3093
+ <li class="md-nav__item">
3094
+ <a href="../sanitize.html" class="md-nav__link">
3095
+
3096
+
3097
+
3098
+ <span class="md-ellipsis">
3099
+
3100
+
3101
+ Sanitize (ASan, UBSan & Leaks)
3102
+
3103
+
3104
+
3105
+ </span>
3106
+
3107
+
3108
+
3109
+ </a>
3110
+ </li>
3111
+
3112
+
3113
+
3114
+
3115
+
3116
+
3117
+
3118
+
3119
+
3120
+
3121
+
3122
+
3123
+
3124
+
3125
+
3126
+
3127
+
3128
+
3129
+
3130
+
3131
+
3132
+
3133
+
3134
+
3135
+
3136
+
3137
+
3138
+
3139
+
3140
+
3141
+
3142
+
3143
+
3144
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
3145
+
3146
+
3147
+
3148
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_13" checked>
3149
+
3150
+
3151
+ <div class="md-nav__link md-nav__container">
3152
+ <a href="index.html" class="md-nav__link ">
3153
+
3154
+
3155
+
3156
+ <span class="md-ellipsis">
3157
+
3158
+
3159
+ Bullseye (Coverage)
3160
+
3161
+
3162
+
3163
+ </span>
3164
+
3165
+
3166
+
3167
+ </a>
3168
+
3169
+
3170
+ <label class="md-nav__link " for="__nav_6_13" id="__nav_6_13_label" tabindex="">
3171
+ <span class="md-nav__icon md-icon"></span>
3172
+ </label>
3173
+
3174
+ </div>
3175
+
3176
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_13_label" aria-expanded="true">
3177
+ <label class="md-nav__title" for="__nav_6_13">
3178
+ <span class="md-nav__icon md-icon"></span>
3179
+
3180
+
3181
+ Bullseye (Coverage)
3182
+
3183
+
3184
+ </label>
3185
+ <ul class="md-nav__list" data-md-scrollfix>
3186
+
3187
+
3188
+
3189
+
3190
+
3191
+
3192
+
3193
+
3194
+
3195
+
3196
+
3197
+ <li class="md-nav__item md-nav__item--active">
3198
+
3199
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
3200
+
3201
+
3202
+
3203
+
3204
+
3205
+ <label class="md-nav__link md-nav__link--active" for="__toc">
3206
+
3207
+
3208
+
3209
+ <span class="md-ellipsis">
3210
+
3211
+
3212
+ Licensing
3213
+
3214
+
3215
+
3216
+ </span>
3217
+
3218
+
3219
+
3220
+ <span class="md-nav__icon md-icon"></span>
3221
+ </label>
3222
+
3223
+ <a href="licensing.html" class="md-nav__link md-nav__link--active">
3224
+
3225
+
3226
+
3227
+ <span class="md-ellipsis">
3228
+
3229
+
3230
+ Licensing
3231
+
3232
+
3233
+
3234
+ </span>
3235
+
3236
+
3237
+
3238
+ </a>
3239
+
3240
+
3241
+
3242
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
3243
+
3244
+
3245
+
3246
+
3247
+
3248
+
3249
+ <label class="md-nav__title" for="__toc">
3250
+ <span class="md-nav__icon md-icon"></span>
3251
+ Table of contents
3252
+ </label>
3253
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
3254
+
3255
+ <li class="md-nav__item">
3256
+ <a href="#what-you-need" class="md-nav__link">
3257
+ <span class="md-ellipsis">
3258
+
3259
+ What you need
3260
+
3261
+ </span>
3262
+ </a>
3263
+
3264
+ </li>
3265
+
3266
+ <li class="md-nav__item">
3267
+ <a href="#checking-license-status" class="md-nav__link">
3268
+ <span class="md-ellipsis">
3269
+
3270
+ Checking license status
3271
+
3272
+ </span>
3273
+ </a>
3274
+
3275
+ </li>
3276
+
3277
+ <li class="md-nav__item">
3278
+ <a href="#bullseyes-two-licensing-mechanisms" class="md-nav__link">
3279
+ <span class="md-ellipsis">
3280
+
3281
+ Bullseye's two licensing mechanisms
3282
+
3283
+ </span>
3284
+ </a>
3285
+
3286
+ <nav class="md-nav" aria-label="Bullseye&#39;s two licensing mechanisms">
3287
+ <ul class="md-nav__list">
3288
+
3289
+ <li class="md-nav__item">
3290
+ <a href="#node-locked-and-unlimited-licenses" class="md-nav__link">
3291
+ <span class="md-ellipsis">
3292
+
3293
+ Node-locked and unlimited licenses
3294
+
3295
+ </span>
3296
+ </a>
3297
+
3298
+ </li>
3299
+
3300
+ <li class="md-nav__item">
3301
+ <a href="#floating-and-evaluation-licenses" class="md-nav__link">
3302
+ <span class="md-ellipsis">
3303
+
3304
+ Floating and evaluation licenses
3305
+
3306
+ </span>
3307
+ </a>
3308
+
3309
+ </li>
3310
+
3311
+ </ul>
3312
+ </nav>
3313
+
3314
+ </li>
3315
+
3316
+ <li class="md-nav__item">
3317
+ <a href="#using-bullseye-in-a-container" class="md-nav__link">
3318
+ <span class="md-ellipsis">
3319
+
3320
+ Using Bullseye in a container
3321
+
3322
+ </span>
3323
+ </a>
3324
+
3325
+ <nav class="md-nav" aria-label="Using Bullseye in a container">
3326
+ <ul class="md-nav__list">
3327
+
3328
+ <li class="md-nav__item">
3329
+ <a href="#extending-the-image" class="md-nav__link">
3330
+ <span class="md-ellipsis">
3331
+
3332
+ Extending the image
3333
+
3334
+ </span>
3335
+ </a>
3336
+
3337
+ </li>
3338
+
3339
+ <li class="md-nav__item">
3340
+ <a href="#installing-into-a-running-container" class="md-nav__link">
3341
+ <span class="md-ellipsis">
3342
+
3343
+ Installing into a running container
3344
+
3345
+ </span>
3346
+ </a>
3347
+
3348
+ </li>
3349
+
3350
+ </ul>
3351
+ </nav>
3352
+
3353
+ </li>
3354
+
3355
+ <li class="md-nav__item">
3356
+ <a href="#what-this-plugin-does-not-do" class="md-nav__link">
3357
+ <span class="md-ellipsis">
3358
+
3359
+ What this plugin does not do
3360
+
3361
+ </span>
3362
+ </a>
3363
+
3364
+ </li>
3365
+
3366
+ </ul>
3367
+
3368
+ </nav>
3369
+
3370
+ </li>
3371
+
3372
+
3373
+
3374
+
3375
+ </ul>
3376
+ </nav>
3377
+
3378
+ </li>
3379
+
3380
+
3381
+
3382
+
3383
+
3384
+
3385
+
3386
+
3387
+
3388
+
3389
+ <li class="md-nav__item">
3390
+ <a href="../fff.html" class="md-nav__link">
3391
+
3392
+
3393
+
3394
+ <span class="md-ellipsis">
3395
+
3396
+
3397
+ FFF (Fake Functions)
3398
+
3399
+
3400
+
3401
+ </span>
3402
+
3403
+
3404
+
3405
+ </a>
3406
+ </li>
3407
+
3408
+
3409
+
3410
+
3411
+
3412
+
3413
+
3414
+
3415
+
3416
+
3417
+ <li class="md-nav__item">
3418
+ <a href="../command-hooks.html" class="md-nav__link">
3419
+
3420
+
3421
+
3422
+ <span class="md-ellipsis">
3423
+
3424
+
3425
+ Command Hooks
3426
+
3427
+
3428
+
3429
+ </span>
3430
+
3431
+
3432
+
3433
+ </a>
3434
+ </li>
3435
+
3436
+
3437
+
3438
+
3439
+
3440
+
3441
+
3442
+
3443
+
3444
+
3445
+ <li class="md-nav__item">
3446
+ <a href="../compile-commands-json-db.html" class="md-nav__link">
3447
+
3448
+
3449
+
3450
+ <span class="md-ellipsis">
3451
+
3452
+
3453
+ Compile Commands JSON DB
3454
+
3455
+
3456
+
3457
+ </span>
3458
+
3459
+
3460
+
3461
+ </a>
3462
+ </li>
3463
+
3464
+
3465
+
3466
+
3467
+
3468
+
3469
+
3470
+
3471
+
3472
+
3473
+ <li class="md-nav__item">
3474
+ <a href="../beep.html" class="md-nav__link">
3475
+
3476
+
3477
+
3478
+ <span class="md-ellipsis">
3479
+
3480
+
3481
+ Beep
3482
+
3483
+
3484
+
3485
+ </span>
3486
+
3487
+
3488
+
3489
+ </a>
3490
+ </li>
3491
+
3492
+
3493
+
3494
+
3495
+
3496
+
3497
+
3498
+
3499
+
3500
+
3501
+ <li class="md-nav__item">
3502
+ <a href="../module-generator.html" class="md-nav__link">
3503
+
3504
+
3505
+
3506
+ <span class="md-ellipsis">
3507
+
3508
+
3509
+ Module Generator
3510
+
3511
+
3512
+
3513
+ </span>
3514
+
3515
+
3516
+
3517
+ </a>
3518
+ </li>
3519
+
3520
+
3521
+
3522
+
3523
+
3524
+
3525
+
3526
+
3527
+
3528
+
3529
+ <li class="md-nav__item">
3530
+ <a href="../dependencies.html" class="md-nav__link">
3531
+
3532
+
3533
+
3534
+ <span class="md-ellipsis">
3535
+
3536
+
3537
+ Dependencies
3538
+
3539
+
3540
+
3541
+ </span>
3542
+
3543
+
3544
+
3545
+ </a>
3546
+ </li>
3547
+
3548
+
3549
+
3550
+
3551
+ </ul>
3552
+ </nav>
3553
+
3554
+ </li>
3555
+
3556
+
3557
+
3558
+
3559
+
3560
+
3561
+
3562
+
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+
3571
+
3572
+
3573
+
3574
+
3575
+
3576
+
3577
+
3578
+
3579
+
3580
+
3581
+
3582
+
3583
+
3584
+
3585
+
3586
+
3587
+
3588
+
3589
+
3590
+
3591
+
3592
+
3593
+
3594
+ <li class="md-nav__item md-nav__item--nested">
3595
+
3596
+
3597
+
3598
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
3599
+
3600
+
3601
+ <div class="md-nav__link md-nav__container">
3602
+ <a href="../../reference/index.html" class="md-nav__link ">
3603
+
3604
+
3605
+
3606
+ <span class="md-ellipsis">
3607
+
3608
+
3609
+ Reference
3610
+
3611
+
3612
+
3613
+ </span>
3614
+
3615
+
3616
+
3617
+ </a>
3618
+
3619
+
3620
+ <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
3621
+ <span class="md-nav__icon md-icon"></span>
3622
+ </label>
3623
+
3624
+ </div>
3625
+
3626
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
3627
+ <label class="md-nav__title" for="__nav_7">
3628
+ <span class="md-nav__icon md-icon"></span>
3629
+
3630
+
3631
+ Reference
3632
+
3633
+
3634
+ </label>
3635
+ <ul class="md-nav__list" data-md-scrollfix>
3636
+
3637
+
3638
+
3639
+
3640
+
3641
+
3642
+
3643
+
3644
+
3645
+ <li class="md-nav__item">
3646
+ <a href="../../reference/command-line.html" class="md-nav__link">
3647
+
3648
+
3649
+
3650
+ <span class="md-ellipsis">
3651
+
3652
+
3653
+ Command Line
3654
+
3655
+
3656
+
3657
+ </span>
3658
+
3659
+
3660
+
3661
+ </a>
3662
+ </li>
3663
+
3664
+
3665
+
3666
+
3667
+
3668
+
3669
+
3670
+
3671
+
3672
+
3673
+ <li class="md-nav__item">
3674
+ <a href="../../reference/project-configuration.html" class="md-nav__link">
3675
+
3676
+
3677
+
3678
+ <span class="md-ellipsis">
3679
+
3680
+
3681
+ Project Configuration
3682
+
3683
+
3684
+
3685
+ </span>
3686
+
3687
+
3688
+
3689
+ </a>
3690
+ </li>
3691
+
3692
+
3693
+
3694
+
3695
+
3696
+
3697
+
3698
+
3699
+
3700
+
3701
+ <li class="md-nav__item">
3702
+ <a href="../../reference/build-directives.html" class="md-nav__link">
3703
+
3704
+
3705
+
3706
+ <span class="md-ellipsis">
3707
+
3708
+
3709
+ Test Build Directives
3710
+
3711
+
3712
+
3713
+ </span>
3714
+
3715
+
3716
+
3717
+ </a>
3718
+ </li>
3719
+
3720
+
3721
+
3722
+
3723
+
3724
+
3725
+
3726
+
3727
+
3728
+
3729
+ <li class="md-nav__item">
3730
+ <a href="../../reference/partials-macros.html" class="md-nav__link">
3731
+
3732
+
3733
+
3734
+ <span class="md-ellipsis">
3735
+
3736
+
3737
+ Partials Macros
3738
+
3739
+
3740
+
3741
+ </span>
3742
+
3743
+
3744
+
3745
+ </a>
3746
+ </li>
3747
+
3748
+
3749
+
3750
+
3751
+
3752
+
3753
+
3754
+
3755
+
3756
+
3757
+ <li class="md-nav__item">
3758
+ <a href="../../reference/environment-vars.html" class="md-nav__link">
3759
+
3760
+
3761
+
3762
+ <span class="md-ellipsis">
3763
+
3764
+
3765
+ Environment Variables
3766
+
3767
+
3768
+
3769
+ </span>
3770
+
3771
+
3772
+
3773
+ </a>
3774
+ </li>
3775
+
3776
+
3777
+
3778
+
3779
+
3780
+
3781
+
3782
+
3783
+
3784
+
3785
+ <li class="md-nav__item">
3786
+ <a href="../../reference/gcov-plugin.html" class="md-nav__link">
3787
+
3788
+
3789
+
3790
+ <span class="md-ellipsis">
3791
+
3792
+
3793
+ Coverage Reporting
3794
+
3795
+
3796
+
3797
+ </span>
3798
+
3799
+
3800
+
3801
+ </a>
3802
+ </li>
3803
+
3804
+
3805
+
3806
+
3807
+
3808
+
3809
+
3810
+
3811
+
3812
+
3813
+ <li class="md-nav__item">
3814
+ <a href="../../reference/global-collections.html" class="md-nav__link">
3815
+
3816
+
3817
+
3818
+ <span class="md-ellipsis">
3819
+
3820
+
3821
+ Global Collections
3822
+
3823
+
3824
+
3825
+ </span>
3826
+
3827
+
3828
+
3829
+ </a>
3830
+ </li>
3831
+
3832
+
3833
+
3834
+
3835
+ </ul>
3836
+ </nav>
3837
+
3838
+ </li>
3839
+
3840
+
3841
+
3842
+
3843
+
3844
+
3845
+
3846
+
3847
+
3848
+
3849
+
3850
+
3851
+
3852
+
3853
+
3854
+
3855
+
3856
+
3857
+
3858
+
3859
+
3860
+
3861
+
3862
+
3863
+
3864
+
3865
+
3866
+
3867
+
3868
+
3869
+
3870
+ <li class="md-nav__item md-nav__item--nested">
3871
+
3872
+
3873
+
3874
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
3875
+
3876
+
3877
+ <div class="md-nav__link md-nav__container">
3878
+ <a href="../../project/index.html" class="md-nav__link ">
3879
+
3880
+
3881
+
3882
+ <span class="md-ellipsis">
3883
+
3884
+
3885
+ Releases
3886
+
3887
+
3888
+
3889
+ </span>
3890
+
3891
+
3892
+
3893
+ </a>
3894
+
3895
+
3896
+ <label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
3897
+ <span class="md-nav__icon md-icon"></span>
3898
+ </label>
3899
+
3900
+ </div>
3901
+
3902
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
3903
+ <label class="md-nav__title" for="__nav_8">
3904
+ <span class="md-nav__icon md-icon"></span>
3905
+
3906
+
3907
+ Releases
3908
+
3909
+
3910
+ </label>
3911
+ <ul class="md-nav__list" data-md-scrollfix>
3912
+
3913
+
3914
+
3915
+
3916
+
3917
+
3918
+
3919
+
3920
+
3921
+ <li class="md-nav__item">
3922
+ <a href="../../project/release-history.html" class="md-nav__link">
3923
+
3924
+
3925
+
3926
+ <span class="md-ellipsis">
3927
+
3928
+
3929
+ History Documents
3930
+
3931
+
3932
+
3933
+ </span>
3934
+
3935
+
3936
+
3937
+ </a>
3938
+ </li>
3939
+
3940
+
3941
+
3942
+
3943
+
3944
+
3945
+
3946
+
3947
+
3948
+
3949
+ <li class="md-nav__item">
3950
+ <a href="../../project/sbom.html" class="md-nav__link">
3951
+
3952
+
3953
+
3954
+ <span class="md-ellipsis">
3955
+
3956
+
3957
+ Software Bill of Materials
3958
+
3959
+
3960
+
3961
+ </span>
3962
+
3963
+
3964
+
3965
+ </a>
3966
+ </li>
3967
+
3968
+
3969
+
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+ <li class="md-nav__item">
3978
+ <a href="../../project/upgrade.html" class="md-nav__link">
3979
+
3980
+
3981
+
3982
+ <span class="md-ellipsis">
3983
+
3984
+
3985
+ Upgrading
3986
+
3987
+
3988
+
3989
+ </span>
3990
+
3991
+
3992
+
3993
+ </a>
3994
+ </li>
3995
+
3996
+
3997
+
3998
+
3999
+ </ul>
4000
+ </nav>
4001
+
4002
+ </li>
4003
+
4004
+
4005
+
4006
+
4007
+
4008
+
4009
+
4010
+
4011
+
4012
+ <li class="md-nav__item">
4013
+ <a href="../../help.html" class="md-nav__link">
4014
+
4015
+
4016
+
4017
+ <span class="md-ellipsis">
4018
+
4019
+
4020
+ Help
4021
+
4022
+
4023
+
4024
+ </span>
4025
+
4026
+
4027
+
4028
+ </a>
4029
+ </li>
4030
+
4031
+
4032
+
4033
+
4034
+
4035
+
4036
+
4037
+
4038
+
4039
+
4040
+
4041
+
4042
+
4043
+
4044
+
4045
+
4046
+
4047
+
4048
+
4049
+
4050
+
4051
+
4052
+
4053
+
4054
+
4055
+
4056
+
4057
+
4058
+
4059
+
4060
+
4061
+ <li class="md-nav__item md-nav__item--nested">
4062
+
4063
+
4064
+
4065
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
4066
+
4067
+
4068
+ <div class="md-nav__link md-nav__container">
4069
+ <a href="../../development/index.html" class="md-nav__link ">
4070
+
4071
+
4072
+
4073
+ <span class="md-ellipsis">
4074
+
4075
+
4076
+ Development
4077
+
4078
+
4079
+
4080
+ </span>
4081
+
4082
+
4083
+
4084
+ </a>
4085
+
4086
+
4087
+ <label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
4088
+ <span class="md-nav__icon md-icon"></span>
4089
+ </label>
4090
+
4091
+ </div>
4092
+
4093
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
4094
+ <label class="md-nav__title" for="__nav_10">
4095
+ <span class="md-nav__icon md-icon"></span>
4096
+
4097
+
4098
+ Development
4099
+
4100
+
4101
+ </label>
4102
+ <ul class="md-nav__list" data-md-scrollfix>
4103
+
4104
+
4105
+
4106
+
4107
+
4108
+
4109
+
4110
+
4111
+
4112
+ <li class="md-nav__item">
4113
+ <a href="../../development/workflow.html" class="md-nav__link">
4114
+
4115
+
4116
+
4117
+ <span class="md-ellipsis">
4118
+
4119
+
4120
+ Development Workflow
4121
+
4122
+
4123
+
4124
+ </span>
4125
+
4126
+
4127
+
4128
+ </a>
4129
+ </li>
4130
+
4131
+
4132
+
4133
+
4134
+
4135
+
4136
+
4137
+
4138
+
4139
+
4140
+ <li class="md-nav__item">
4141
+ <a href="../../development/releases.html" class="md-nav__link">
4142
+
4143
+
4144
+
4145
+ <span class="md-ellipsis">
4146
+
4147
+
4148
+ Branching & Releases
4149
+
4150
+
4151
+
4152
+ </span>
4153
+
4154
+
4155
+
4156
+ </a>
4157
+ </li>
4158
+
4159
+
4160
+
4161
+
4162
+
4163
+
4164
+
4165
+
4166
+
4167
+
4168
+
4169
+
4170
+
4171
+
4172
+
4173
+
4174
+
4175
+
4176
+
4177
+
4178
+
4179
+
4180
+
4181
+
4182
+
4183
+
4184
+
4185
+
4186
+
4187
+
4188
+
4189
+
4190
+ <li class="md-nav__item md-nav__item--nested">
4191
+
4192
+
4193
+
4194
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_4" >
4195
+
4196
+
4197
+ <div class="md-nav__link md-nav__container">
4198
+ <a href="../../development/plugins/index.html" class="md-nav__link ">
4199
+
4200
+
4201
+
4202
+ <span class="md-ellipsis">
4203
+
4204
+
4205
+ Plugin Development
4206
+
4207
+
4208
+
4209
+ </span>
4210
+
4211
+
4212
+
4213
+ </a>
4214
+
4215
+
4216
+ <label class="md-nav__link " for="__nav_10_4" id="__nav_10_4_label" tabindex="0">
4217
+ <span class="md-nav__icon md-icon"></span>
4218
+ </label>
4219
+
4220
+ </div>
4221
+
4222
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_4_label" aria-expanded="false">
4223
+ <label class="md-nav__title" for="__nav_10_4">
4224
+ <span class="md-nav__icon md-icon"></span>
4225
+
4226
+
4227
+ Plugin Development
4228
+
4229
+
4230
+ </label>
4231
+ <ul class="md-nav__list" data-md-scrollfix>
4232
+
4233
+
4234
+
4235
+
4236
+
4237
+
4238
+
4239
+
4240
+
4241
+ <li class="md-nav__item">
4242
+ <a href="../../development/plugins/configuration.html" class="md-nav__link">
4243
+
4244
+
4245
+
4246
+ <span class="md-ellipsis">
4247
+
4248
+
4249
+ Configuration Plugin
4250
+
4251
+
4252
+
4253
+ </span>
4254
+
4255
+
4256
+
4257
+ </a>
4258
+ </li>
4259
+
4260
+
4261
+
4262
+
4263
+
4264
+
4265
+
4266
+
4267
+
4268
+
4269
+ <li class="md-nav__item">
4270
+ <a href="../../development/plugins/plugin-subclass.html" class="md-nav__link">
4271
+
4272
+
4273
+
4274
+ <span class="md-ellipsis">
4275
+
4276
+
4277
+ Plugin Subclass
4278
+
4279
+
4280
+
4281
+ </span>
4282
+
4283
+
4284
+
4285
+ </a>
4286
+ </li>
4287
+
4288
+
4289
+
4290
+
4291
+
4292
+
4293
+
4294
+
4295
+
4296
+
4297
+ <li class="md-nav__item">
4298
+ <a href="../../development/plugins/rake-tasks.html" class="md-nav__link">
4299
+
4300
+
4301
+
4302
+ <span class="md-ellipsis">
4303
+
4304
+
4305
+ Rake Task Plugin
4306
+
4307
+
4308
+
4309
+ </span>
4310
+
4311
+
4312
+
4313
+ </a>
4314
+ </li>
4315
+
4316
+
4317
+
4318
+
4319
+ </ul>
4320
+ </nav>
4321
+
4322
+ </li>
4323
+
4324
+
4325
+
4326
+
4327
+ </ul>
4328
+ </nav>
4329
+
4330
+ </li>
4331
+
4332
+
4333
+
4334
+ </ul>
4335
+ </nav>
4336
+ </div>
4337
+ </div>
4338
+ </div>
4339
+
4340
+
4341
+
4342
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
4343
+ <div class="md-sidebar__scrollwrap">
4344
+ <div class="md-sidebar__inner">
4345
+
4346
+
4347
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
4348
+
4349
+
4350
+
4351
+
4352
+
4353
+
4354
+ <label class="md-nav__title" for="__toc">
4355
+ <span class="md-nav__icon md-icon"></span>
4356
+ Table of contents
4357
+ </label>
4358
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
4359
+
4360
+ <li class="md-nav__item">
4361
+ <a href="#what-you-need" class="md-nav__link">
4362
+ <span class="md-ellipsis">
4363
+
4364
+ What you need
4365
+
4366
+ </span>
4367
+ </a>
4368
+
4369
+ </li>
4370
+
4371
+ <li class="md-nav__item">
4372
+ <a href="#checking-license-status" class="md-nav__link">
4373
+ <span class="md-ellipsis">
4374
+
4375
+ Checking license status
4376
+
4377
+ </span>
4378
+ </a>
4379
+
4380
+ </li>
4381
+
4382
+ <li class="md-nav__item">
4383
+ <a href="#bullseyes-two-licensing-mechanisms" class="md-nav__link">
4384
+ <span class="md-ellipsis">
4385
+
4386
+ Bullseye's two licensing mechanisms
4387
+
4388
+ </span>
4389
+ </a>
4390
+
4391
+ <nav class="md-nav" aria-label="Bullseye&#39;s two licensing mechanisms">
4392
+ <ul class="md-nav__list">
4393
+
4394
+ <li class="md-nav__item">
4395
+ <a href="#node-locked-and-unlimited-licenses" class="md-nav__link">
4396
+ <span class="md-ellipsis">
4397
+
4398
+ Node-locked and unlimited licenses
4399
+
4400
+ </span>
4401
+ </a>
4402
+
4403
+ </li>
4404
+
4405
+ <li class="md-nav__item">
4406
+ <a href="#floating-and-evaluation-licenses" class="md-nav__link">
4407
+ <span class="md-ellipsis">
4408
+
4409
+ Floating and evaluation licenses
4410
+
4411
+ </span>
4412
+ </a>
4413
+
4414
+ </li>
4415
+
4416
+ </ul>
4417
+ </nav>
4418
+
4419
+ </li>
4420
+
4421
+ <li class="md-nav__item">
4422
+ <a href="#using-bullseye-in-a-container" class="md-nav__link">
4423
+ <span class="md-ellipsis">
4424
+
4425
+ Using Bullseye in a container
4426
+
4427
+ </span>
4428
+ </a>
4429
+
4430
+ <nav class="md-nav" aria-label="Using Bullseye in a container">
4431
+ <ul class="md-nav__list">
4432
+
4433
+ <li class="md-nav__item">
4434
+ <a href="#extending-the-image" class="md-nav__link">
4435
+ <span class="md-ellipsis">
4436
+
4437
+ Extending the image
4438
+
4439
+ </span>
4440
+ </a>
4441
+
4442
+ </li>
4443
+
4444
+ <li class="md-nav__item">
4445
+ <a href="#installing-into-a-running-container" class="md-nav__link">
4446
+ <span class="md-ellipsis">
4447
+
4448
+ Installing into a running container
4449
+
4450
+ </span>
4451
+ </a>
4452
+
4453
+ </li>
4454
+
4455
+ </ul>
4456
+ </nav>
4457
+
4458
+ </li>
4459
+
4460
+ <li class="md-nav__item">
4461
+ <a href="#what-this-plugin-does-not-do" class="md-nav__link">
4462
+ <span class="md-ellipsis">
4463
+
4464
+ What this plugin does not do
4465
+
4466
+ </span>
4467
+ </a>
4468
+
4469
+ </li>
4470
+
4471
+ </ul>
4472
+
4473
+ </nav>
4474
+ </div>
4475
+ </div>
4476
+ </div>
4477
+
4478
+
4479
+
4480
+ <div class="md-content" data-md-component="content">
4481
+
4482
+
4483
+
4484
+
4485
+
4486
+
4487
+
4488
+
4489
+ <nav class="md-path" aria-label="Navigation" >
4490
+ <ol class="md-path__list">
4491
+
4492
+
4493
+
4494
+
4495
+ <li class="md-path__item">
4496
+ <a href="../../index.html" class="md-path__link">
4497
+
4498
+ <span class="md-ellipsis">
4499
+ Home
4500
+ </span>
4501
+
4502
+ </a>
4503
+ </li>
4504
+
4505
+
4506
+
4507
+
4508
+
4509
+
4510
+
4511
+
4512
+
4513
+ <li class="md-path__item">
4514
+ <a href="../index.html" class="md-path__link">
4515
+
4516
+ <span class="md-ellipsis">
4517
+ Plugins
4518
+ </span>
4519
+
4520
+ </a>
4521
+ </li>
4522
+
4523
+
4524
+
4525
+
4526
+
4527
+
4528
+
4529
+
4530
+
4531
+ <li class="md-path__item">
4532
+ <a href="index.html" class="md-path__link">
4533
+
4534
+ <span class="md-ellipsis">
4535
+ Bullseye (Coverage)
4536
+ </span>
4537
+
4538
+ </a>
4539
+ </li>
4540
+
4541
+
4542
+
4543
+
4544
+ </ol>
4545
+ </nav>
4546
+
4547
+
4548
+ <article class="md-content__inner md-typeset">
4549
+
4550
+
4551
+
4552
+
4553
+
4554
+
4555
+
4556
+
4557
+ <h1 id="licensing">Licensing</h1>
4558
+ <p>Bullseye Coverage is commercial software. You need your own licensed
4559
+ installation to use this plugin.</p>
4560
+ <p>This plugin does not install, activate, or manage licenses. Bullseye's own
4561
+ installer and tooling do that, independently of Ceedling. The plugin reads
4562
+ license state and reports it. It never changes it.</p>
4563
+ <p>This page covers what you need, how Bullseye's two licensing mechanisms differ,
4564
+ and the one plugin setting relevant to licensing.</p>
4565
+ <h2 id="what-you-need">What you need</h2>
4566
+ <p>You need two things.</p>
4567
+ <ol>
4568
+ <li>A licensed installation of Bullseye Coverage for your platform.</li>
4569
+ <li>Its tools on your <code>PATH</code>. Those tools are <code>covc</code>, <code>covsrc</code>, <code>covfn</code>,
4570
+ <code>covbr</code>, <code>covxml</code>, <code>covhtml</code>, <code>covselect</code>, <code>covlmgr</code>, and optionally
4571
+ <code>CoverageBrowser</code>. Ceedling's
4572
+ <a href="../../configuration/reference/environment.html"><code>:environment</code></a> settings can
4573
+ also supply the path.</li>
4574
+ </ol>
4575
+ <p>Obtain an installer from <a href="https://www.bullseye.com/cgi-bin/download">Bullseye's download page</a>.</p>
4576
+ <h2 id="checking-license-status">Checking license status</h2>
4577
+ <p>Run this task at any time to report your license state.</p>
4578
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="w"> </span>&gt;<span class="w"> </span>ceedling<span class="w"> </span>bullseye:license
4579
+ </code></pre></div>
4580
+ <p>It reports your license number, its expiry date, and license manager
4581
+ utilization.</p>
4582
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>------------------------
4583
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>BULLSEYE: LICENSE STATUS
4584
+ <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>------------------------
4585
+ <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>BullseyeCoverage License Manager Administration 9.25.9 Linux-x64 License 123456 License will expire 2028-04-06
4586
+ <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a>License manager disabled
4587
+ </code></pre></div>
4588
+ <p><code>License manager disabled</code> is the expected result for an unlimited license.
4589
+ Those licenses cannot use the license manager at all. It is not a problem to
4590
+ fix.</p>
4591
+ <p>This task is the first thing to try when a Bullseye tool fails for no obvious
4592
+ reason. An expired or missing license surfaces only as an opaque tool failure.
4593
+ Ceedling points you here when one of its own Bullseye report tools fails.</p>
4594
+ <h2 id="bullseyes-two-licensing-mechanisms">Bullseye's two licensing mechanisms</h2>
4595
+ <p>Bullseye licenses activate two different ways. Which one applies depends on the
4596
+ license you were issued. This plugin does not choose between them.</p>
4597
+ <h3 id="node-locked-and-unlimited-licenses">Node-locked and unlimited licenses</h3>
4598
+ <p>These activate once, at installation. Pass your license key to Bullseye's
4599
+ installer.</p>
4600
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="w"> </span>&gt;<span class="w"> </span>sudo<span class="w"> </span>./install<span class="w"> </span>--key<span class="w"> </span>&lt;licenseKey&gt;<span class="w"> </span>--search<span class="w"> </span><span class="s2">"</span><span class="nv">$PATH</span><span class="s2">"</span>
4601
+ </code></pre></div>
4602
+ <p>Activation state is written into the installation itself. Every user on that
4603
+ machine can then run Bullseye's tools. Nothing per-project or per-build is
4604
+ involved, and no plugin setting applies.</p>
4605
+ <p><code>--prefix &lt;dir&gt;</code> installs somewhere other than <code>/opt</code>. That avoids needing
4606
+ root.</p>
4607
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="w"> </span>&gt;<span class="w"> </span>./install<span class="w"> </span>--prefix<span class="w"> </span>~/bullseye<span class="w"> </span>--key<span class="w"> </span>&lt;licenseKey&gt;<span class="w"> </span>--search<span class="w"> </span><span class="s2">"</span><span class="nv">$PATH</span><span class="s2">"</span>
4608
+ </code></pre></div>
4609
+ <h3 id="floating-and-evaluation-licenses">Floating and evaluation licenses</h3>
4610
+ <p>These share a limited pool of concurrent licenses. The pool is tracked in a
4611
+ single shared file called the license manager file. Bullseye's <code>covlmgr</code> tool
4612
+ administers it.</p>
4613
+ <p>Bullseye states that the license manager cannot be used with an unlimited
4614
+ license. It works with floating and evaluation licenses only.</p>
4615
+ <p>A license administrator creates the file once, on a network location that
4616
+ supports file locking.</p>
4617
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="w"> </span>&gt;<span class="w"> </span>./install<span class="w"> </span>--key<span class="w"> </span>&lt;licenseKey&gt;<span class="w"> </span>--create<span class="w"> </span>/server/BullseyeCoverageLicenseManager
4618
+ </code></pre></div>
4619
+ <p>Each client then points at that existing file.</p>
4620
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="w"> </span>&gt;<span class="w"> </span>covlmgr<span class="w"> </span>--file<span class="w"> </span>/server/BullseyeCoverageLicenseManager<span class="w"> </span>--use
4621
+ </code></pre></div>
4622
+ <p>Other useful <code>covlmgr</code> actions follow.</p>
4623
+ <table>
4624
+ <thead>
4625
+ <tr>
4626
+ <th>Command</th>
4627
+ <th>Purpose</th>
4628
+ </tr>
4629
+ </thead>
4630
+ <tbody>
4631
+ <tr>
4632
+ <td><code>covlmgr --status</code></td>
4633
+ <td>Report current license utilization</td>
4634
+ </tr>
4635
+ <tr>
4636
+ <td><code>covlmgr --add &lt;key&gt;</code></td>
4637
+ <td>Add a license key to the file</td>
4638
+ </tr>
4639
+ <tr>
4640
+ <td><code>covlmgr --create --file &lt;path&gt;</code></td>
4641
+ <td>Create a license manager file</td>
4642
+ </tr>
4643
+ <tr>
4644
+ <td><code>covlmgr --use --file &lt;path&gt;</code></td>
4645
+ <td>Point this client at an existing file</td>
4646
+ </tr>
4647
+ <tr>
4648
+ <td><code>covlmgr --clear</code></td>
4649
+ <td>Reset utilization and release all licenses</td>
4650
+ </tr>
4651
+ </tbody>
4652
+ </table>
4653
+ <p>See <a href="https://www.bullseye.com/help/licenseManager.html">Bullseye's license manager documentation</a> for
4654
+ full detail.</p>
4655
+ <h4 id="configuring-the-license-manager-file">Configuring the license manager file</h4>
4656
+ <p>Set <code>:license_manager_file</code> to your shared file's path. The plugin sets the
4657
+ <code>COVLM</code> environment variable to this value for every Bullseye tool it invokes.</p>
4658
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="nt">:bullseye</span><span class="p">:</span>
4659
+ <a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="w"> </span><span class="nt">:license_manager_file</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/path/to/shared/bullseye.lmgr</span>
4660
+ </code></pre></div>
4661
+ <p><strong>Default:</strong> unset</p>
4662
+ <p>Leave this unset for a node-locked or unlimited license. It has no effect on
4663
+ those.</p>
4664
+ <h4 id="recovering-a-license-after-a-killed-build">Recovering a license after a killed build</h4>
4665
+ <p>A license is consumed for the duration of each Bullseye program. It is released
4666
+ when that program exits. A program that is killed holds its license for 10
4667
+ minutes before automatic release.</p>
4668
+ <p>Interrupting a build can therefore leave a license checked out. Run
4669
+ <code>covlmgr --clear</code> to release everything immediately, or wait out the 10 minutes.</p>
4670
+ <h2 id="using-bullseye-in-a-container">Using Bullseye in a container</h2>
4671
+ <p>Ceedling's <code>madsciencelab-plugins</code> Docker images do not include Bullseye. No
4672
+ Ceedling image can. Bullseye is commercial software, and distributing its
4673
+ executables requires a license that a freely available image cannot carry.
4674
+ Shipping the tools unlicensed is not possible either.</p>
4675
+ <p>Download Bullseye yourself and add it to a container. There are two ways to do
4676
+ that. Extend the image when you want a reusable environment. Install into a
4677
+ running container when you want a one-off.</p>
4678
+ <div class="admonition note">
4679
+ <p class="admonition-title">Check the image's Ceedling version</p>
4680
+ <p>Adding Bullseye to an image is only half of what you need. This plugin
4681
+ requires Ceedling 1.2.0 or newer. Releases before that ship it disabled and
4682
+ refuse to load it. Run <code>ceedling version</code> against your image to check.</p>
4683
+ </div>
4684
+ <div class="admonition warning">
4685
+ <p class="admonition-title">Never commit a license key</p>
4686
+ <p>Supply your key through a build argument, an environment variable, or a
4687
+ secret. A key committed to a repository is a key you have to rotate. Treat
4688
+ any image carrying an activated Bullseye license as private to your
4689
+ organization, and never push one to a public registry.</p>
4690
+ </div>
4691
+ <h3 id="extending-the-image">Extending the image</h3>
4692
+ <p>Build your own layer on top of <code>madsciencelab-plugins</code>. This is the better
4693
+ option for repeated use and for CI, because the install happens once at image
4694
+ build time rather than on every container start.</p>
4695
+ <p>Place your downloaded Bullseye installer beside this <code>Dockerfile</code>.</p>
4696
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="k">FROM</span><span class="w"> </span><span class="s">throwtheswitch/madsciencelab-plugins:latest</span>
4697
+ <a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>
4698
+ <a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="c"># Your downloaded, unpacked Bullseye installer directory</span>
4699
+ <a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="k">COPY</span><span class="w"> </span>--chown<span class="o">=</span>dev:nonroot<span class="w"> </span>BullseyeCoverage-9.25.9<span class="w"> </span>/tmp/bullseye-installer
4700
+ <a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a>
4701
+ <a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="c"># Supplied at build time, never baked into the Dockerfile itself</span>
4702
+ <a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="k">ARG</span><span class="w"> </span>BULLSEYE_LICENSE_KEY
4703
+ <a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a>
4704
+ <a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="k">RUN</span><span class="w"> </span>/tmp/bullseye-installer/install<span class="w"> </span><span class="se">\</span>
4705
+ <a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a><span class="w"> </span>--prefix<span class="w"> </span>/home/dev/bullseye<span class="w"> </span><span class="se">\</span>
4706
+ <a id="__codelineno-7-11" name="__codelineno-7-11" href="#__codelineno-7-11"></a><span class="w"> </span>--key<span class="w"> </span><span class="s2">"</span><span class="nv">$BULLSEYE_LICENSE_KEY</span><span class="s2">"</span><span class="w"> </span><span class="se">\</span>
4707
+ <a id="__codelineno-7-12" name="__codelineno-7-12" href="#__codelineno-7-12"></a><span class="w"> </span>--search<span class="w"> </span><span class="s2">"/usr/bin:/usr/local/bin"</span><span class="w"> </span><span class="se">\</span>
4708
+ <a id="__codelineno-7-13" name="__codelineno-7-13" href="#__codelineno-7-13"></a><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>rm<span class="w"> </span>-rf<span class="w"> </span>/tmp/bullseye-installer
4709
+ <a id="__codelineno-7-14" name="__codelineno-7-14" href="#__codelineno-7-14"></a>
4710
+ <a id="__codelineno-7-15" name="__codelineno-7-15" href="#__codelineno-7-15"></a><span class="k">ENV</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">"/home/dev/bullseye/bin:</span><span class="si">${</span><span class="nv">PATH</span><span class="si">}</span><span class="s2">"</span>
4711
+ </code></pre></div>
4712
+ <p>Build it with your key passed in.</p>
4713
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="w"> </span>&gt;<span class="w"> </span>docker<span class="w"> </span>build<span class="w"> </span>--build-arg<span class="w"> </span><span class="nv">BULLSEYE_LICENSE_KEY</span><span class="o">=</span><span class="s2">"</span><span class="nv">$BULLSEYE_LICENSE_KEY</span><span class="s2">"</span><span class="w"> </span>-t<span class="w"> </span>my-ceedling-bullseye<span class="w"> </span>.
4714
+ </code></pre></div>
4715
+ <p>Then run your project against the image you built.</p>
4716
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="w"> </span>&gt;<span class="w"> </span>docker<span class="w"> </span>run<span class="w"> </span>--rm<span class="w"> </span>-v<span class="w"> </span>/path/to/your/project:/home/dev/project<span class="w"> </span>my-ceedling-bullseye<span class="w"> </span>ceedling<span class="w"> </span>bullseye:all
4717
+ </code></pre></div>
4718
+ <div class="admonition note">
4719
+ <p class="admonition-title">Build arguments are recorded in image history</p>
4720
+ <p><code>docker build --build-arg</code> leaves the value visible in the built image's
4721
+ metadata. Use BuildKit secrets instead if that matters to you, or build the
4722
+ image somewhere its history stays private.</p>
4723
+ </div>
4724
+ <h3 id="installing-into-a-running-container">Installing into a running container</h3>
4725
+ <p>Mount your installer into a stock <code>madsciencelab-plugins</code> container and install
4726
+ it there. Nothing persists after the container exits, so this suits a quick
4727
+ experiment rather than repeated use.</p>
4728
+ <p><code>--prefix</code> installs somewhere writable, which avoids needing root.</p>
4729
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="w"> </span>&gt;<span class="w"> </span>docker<span class="w"> </span>run<span class="w"> </span>-it<span class="w"> </span>--rm<span class="w"> </span><span class="se">\</span>
4730
+ <a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="w"> </span>-e<span class="w"> </span>BULLSEYE_LICENSE_KEY<span class="w"> </span><span class="se">\</span>
4731
+ <a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="w"> </span>-v<span class="w"> </span>/path/to/your/project:/home/dev/project<span class="w"> </span><span class="se">\</span>
4732
+ <a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span>-v<span class="w"> </span>/path/to/BullseyeCoverage-9.25.9:/opt/bullseye-installer:ro<span class="w"> </span><span class="se">\</span>
4733
+ <a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="w"> </span>throwtheswitch/madsciencelab-plugins:latest
4734
+ </code></pre></div>
4735
+ <p>Inside the container, install and put the tools on <code>PATH</code>.</p>
4736
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="w"> </span>&gt;<span class="w"> </span>/opt/bullseye-installer/install<span class="w"> </span><span class="se">\</span>
4737
+ <a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="w"> </span>--prefix<span class="w"> </span>/home/dev/bullseye<span class="w"> </span><span class="se">\</span>
4738
+ <a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="w"> </span>--key<span class="w"> </span><span class="s2">"</span><span class="nv">$BULLSEYE_LICENSE_KEY</span><span class="s2">"</span><span class="w"> </span><span class="se">\</span>
4739
+ <a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="w"> </span>--search<span class="w"> </span><span class="s2">"/usr/bin:/usr/local/bin"</span>
4740
+ <a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a><span class="w"> </span>&gt;<span class="w"> </span><span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span>/home/dev/bullseye/bin:<span class="nv">$PATH</span>
4741
+ <a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a><span class="w"> </span>&gt;<span class="w"> </span>ceedling<span class="w"> </span>bullseye:license
4742
+ </code></pre></div>
4743
+ <h2 id="what-this-plugin-does-not-do">What this plugin does not do</h2>
4744
+ <p>This plugin invokes Bullseye's tools with the coverage and license environment
4745
+ variables described here. It also reports license status on request.</p>
4746
+ <p>Installing and activating Bullseye is a host or CI setup concern. The plugin
4747
+ never creates a license manager file, adds a key, or releases a license.
4748
+ Ceedling's generic
4749
+ <a href="../../configuration/reference/environment.html"><code>:environment</code></a> configuration
4750
+ can set any other environment variable a given Bullseye installation needs.</p>
4751
+ <p><br/><br/></p>
4752
+
4753
+
4754
+
4755
+
4756
+
4757
+
4758
+
4759
+
4760
+
4761
+
4762
+
4763
+
4764
+
4765
+ </article>
4766
+ </div>
4767
+
4768
+
4769
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
4770
+ </div>
4771
+
4772
+ <button type="button" class="md-top md-icon" data-md-component="top" hidden>
4773
+
4774
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
4775
+ Back to top
4776
+ </button>
4777
+
4778
+ </main>
4779
+
4780
+ <footer class="md-footer">
4781
+
4782
+ <div class="md-footer-meta md-typeset">
4783
+ <div class="md-footer-meta__inner md-grid">
4784
+ <div class="md-copyright">
4785
+
4786
+ <div class="md-copyright__highlight">
4787
+ &copy; 2010-2026 M. Karlesky, M. VanderVoord, and G. Williams &mdash; Documentation license: <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">CC BY-SA 4.0</a>
4788
+ </div>
4789
+
4790
+
4791
+ </div>
4792
+
4793
+
4794
+ <div class="md-social">
4795
+
4796
+
4797
+
4798
+
4799
+
4800
+ <a href="https://github.com/sponsors/ThrowTheSwitch" target="_blank" rel="noopener" title="Sponsor ThrowTheSwitch on GitHub" class="md-social__link">
4801
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
4802
+ </a>
4803
+
4804
+ </div>
4805
+
4806
+ </div>
4807
+ </div>
4808
+ </footer>
4809
+
4810
+ </div>
4811
+ <div class="md-dialog" data-md-component="dialog">
4812
+ <div class="md-dialog__inner md-typeset"></div>
4813
+ </div>
4814
+
4815
+
4816
+
4817
+
4818
+
4819
+ <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.a7633da7.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>
4820
+
4821
+
4822
+ <script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
4823
+
4824
+
4825
+ </body>
4826
+ </html>