ceedling 1.2.0 → 1.2.2

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 (383) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -1
  3. data/README.md +57 -58
  4. data/Rakefile +5 -3
  5. data/assets/features/ceedling +1 -1
  6. data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_typo.c +14 -0
  7. data/assets/fixtures/tests_with_duplicate_test_names/test_foo.c +21 -0
  8. data/bin/actionator.rb +6 -12
  9. data/bin/app_cfg.rb +35 -1
  10. data/bin/ceedling +13 -3
  11. data/bin/cli.rb +25 -6
  12. data/bin/cli_handler.rb +119 -73
  13. data/bin/cli_helper.rb +56 -78
  14. data/bin/installation_selector.rb +81 -0
  15. data/bin/launchinator.rb +69 -0
  16. data/bin/mixin_resolvinator.rb +26 -36
  17. data/bin/objects.yml +13 -0
  18. data/bin/path_validator.rb +25 -29
  19. data/bin/versionator.rb +47 -48
  20. data/ceedling.gemspec +19 -15
  21. data/docs/BreakingChanges.md +70 -1
  22. data/docs/Changelog.md +84 -3
  23. data/docs/KnownIssues.md +90 -4
  24. data/docs/ReleaseNotes.md +13 -0
  25. data/docs/overrides/main.html +11 -8
  26. data/lib/ceedling/build_log_writer.rb +33 -0
  27. data/lib/ceedling/config/build_root_policy.rb +70 -0
  28. data/lib/ceedling/config/configurator.rb +19 -18
  29. data/lib/ceedling/config/configurator_builder.rb +58 -28
  30. data/lib/ceedling/config/configurator_paths_validator.rb +179 -0
  31. data/lib/ceedling/config/configurator_plugins.rb +1 -1
  32. data/lib/ceedling/config/configurator_setup.rb +39 -41
  33. data/lib/ceedling/config/configurator_validator.rb +1 -110
  34. data/lib/ceedling/defaults.rb +4 -4
  35. data/lib/ceedling/dependencies/README.md +18 -16
  36. data/lib/ceedling/dependencies/dependency_cache_store.rb +20 -3
  37. data/lib/ceedling/dependencies/dependency_hasher.rb +35 -1
  38. data/lib/ceedling/filename_extension.rb +7 -1
  39. data/lib/ceedling/filesystem/FILE_TREE.md +253 -0
  40. data/lib/ceedling/filesystem/PATH_HANDLING.md +304 -0
  41. data/lib/ceedling/filesystem/README.md +41 -0
  42. data/lib/ceedling/filesystem/build_subpath.rb +102 -0
  43. data/lib/ceedling/filesystem/destination_collision.rb +25 -0
  44. data/lib/ceedling/{file_finder.rb → filesystem/file_finder.rb} +159 -104
  45. data/lib/ceedling/{file_finder_helper.rb → filesystem/file_finder_helper.rb} +36 -31
  46. data/lib/ceedling/filesystem/file_path_collection_utils.rb +183 -0
  47. data/lib/ceedling/{file_path_utils.rb → filesystem/file_path_utils.rb} +108 -97
  48. data/lib/ceedling/{file_system_wrapper.rb → filesystem/file_system_wrapper.rb} +6 -5
  49. data/lib/ceedling/filesystem/file_tree.rb +241 -0
  50. data/lib/ceedling/{file_wrapper.rb → filesystem/file_wrapper.rb} +65 -28
  51. data/lib/ceedling/filesystem/path_exclusions.rb +30 -0
  52. data/lib/ceedling/{path_matcher.rb → filesystem/path_matcher.rb} +27 -23
  53. data/lib/ceedling/{path_mirror.rb → filesystem/path_mirror.rb} +19 -18
  54. data/lib/ceedling/filesystem/path_spellings.rb +55 -0
  55. data/lib/ceedling/filesystem/project_paths.rb +184 -0
  56. data/lib/ceedling/filesystem/working_dir.rb +40 -0
  57. data/lib/ceedling/generators/generator.rb +5 -6
  58. data/lib/ceedling/generators/generator_partials.rb +1 -1
  59. data/lib/ceedling/generators/generator_test_results_backtrace.rb +7 -7
  60. data/lib/ceedling/handoff.rb +121 -0
  61. data/lib/ceedling/includes/include_factory.rb +3 -3
  62. data/lib/ceedling/includes/include_pathinator.rb +67 -10
  63. data/lib/ceedling/includes/includes.rb +1 -1
  64. data/lib/ceedling/installation.rb +92 -0
  65. data/lib/ceedling/library_resolver.rb +99 -0
  66. data/lib/ceedling/objects.yml +23 -2
  67. data/lib/ceedling/partials/partializer.rb +4 -4
  68. data/lib/ceedling/partials/partializer_config.rb +3 -1
  69. data/lib/ceedling/plugins/report_log_writer_plugin.rb +3 -5
  70. data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +1 -1
  71. data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +1 -1
  72. data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +1 -1
  73. data/lib/ceedling/rake_app/rakefile_component_resolver.rb +10 -17
  74. data/lib/ceedling/rake_app/test_task_name.rb +29 -0
  75. data/lib/ceedling/rakefile.rb +16 -1
  76. data/lib/ceedling/rakefiles/base/tasks_base.rake +1 -1
  77. data/lib/ceedling/rakefiles/release/rules_release.rake +4 -7
  78. data/lib/ceedling/rakefiles/tests/rules_tests.rake +3 -20
  79. data/lib/ceedling/rakefiles/tests/rules_tests_generate.rake +4 -30
  80. data/lib/ceedling/release_invoker/release_build_executor.rb +33 -44
  81. data/lib/ceedling/release_invoker/release_build_planner.rb +14 -6
  82. data/lib/ceedling/reportinator.rb +3 -4
  83. data/lib/ceedling/setupinator.rb +95 -87
  84. data/lib/ceedling/test_context_extractor.rb +5 -1
  85. data/lib/ceedling/test_invoker/PIPELINE.md +9 -7
  86. data/lib/ceedling/test_invoker/mock_locator.rb +60 -2
  87. data/lib/ceedling/test_invoker/partials_manager.rb +12 -0
  88. data/lib/ceedling/test_invoker/standin_headerinator.rb +22 -13
  89. data/lib/ceedling/test_invoker/test_build_executor.rb +42 -41
  90. data/lib/ceedling/test_invoker/test_build_planner.rb +37 -18
  91. data/lib/ceedling/test_invoker/test_build_setup.rb +17 -12
  92. data/lib/ceedling/test_invoker/test_build_validations.rb +16 -31
  93. data/lib/ceedling/test_invoker/test_file_preprocessinator.rb +1 -1
  94. data/lib/ceedling/test_invoker/test_invoker.rb +6 -1
  95. data/lib/ceedling/test_invoker/test_pipeline_helpers.rb +1 -1
  96. data/lib/ceedling/test_invoker/test_source_file_directive_resolver.rb +40 -20
  97. data/lib/ceedling/tool_executor.rb +9 -3
  98. data/lib/ceedling/yaml_wrapper.rb +3 -2
  99. data/lib/version.rb +1 -1
  100. data/plugins/bullseye/bullseye.rake +6 -9
  101. data/plugins/bullseye/config/defaults_bullseye.rb +1 -1
  102. data/plugins/bullseye/lib/bullseye.rb +9 -7
  103. data/plugins/cppcheck/config/defaults_cppcheck.rb +1 -1
  104. data/plugins/dependencies/config/defaults.yml +6 -6
  105. data/plugins/dependencies/dependencies.rake +4 -1
  106. data/plugins/dependencies/lib/dependencies.rb +18 -8
  107. data/plugins/dependencies/lib/dependency_spec.rb +17 -5
  108. data/plugins/fff/lib/fff.rb +45 -39
  109. data/plugins/fff/spec/fff_cmock_wrapper_spec.rb +128 -0
  110. data/plugins/gcov/config/defaults_gcov.rb +1 -1
  111. data/plugins/gcov/gcov.rake +6 -9
  112. data/plugins/gcov/lib/console_reportinator.rb +4 -18
  113. data/plugins/gcov/lib/gcov.rb +9 -2
  114. data/plugins/gcov/lib/gcovr_reportinator.rb +8 -40
  115. data/plugins/gcov/lib/gcovr_thresholds.rb +74 -0
  116. data/plugins/gcov/lib/reportgenerator_reportinator.rb +1 -1
  117. data/plugins/module_generator/lib/module_generator.rb +3 -3
  118. data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +53 -80
  119. data/plugins/sanitize/lib/sanitize_records.rb +3 -6
  120. data/plugins/sanitize/sanitize.rake +6 -6
  121. data/plugins/valgrind/lib/valgrind.rb +14 -7
  122. data/plugins/valgrind/valgrind.rake +6 -6
  123. data/site-local/404.html +6 -20
  124. data/site-local/assets/javascripts/{bundle.d7400e89.min.js → bundle.c21346df.min.js} +3 -3
  125. data/site-local/assets/javascripts/{bundle.d7400e89.min.js.map → bundle.c21346df.min.js.map} +2 -2
  126. data/site-local/assets/javascripts/workers/{search.2c215733.min.js → search.a7633da7.min.js} +2 -2
  127. data/site-local/assets/javascripts/workers/{search.2c215733.min.js.map → search.a7633da7.min.js.map} +1 -1
  128. data/site-local/assets/stylesheets/main.57a0d79d.min.css +6 -0
  129. data/site-local/assets/stylesheets/main.57a0d79d.min.css.map +1 -0
  130. data/site-local/assets/stylesheets/palette.fb2fffe2.min.css +4 -0
  131. data/site-local/assets/stylesheets/palette.fb2fffe2.min.css.map +1 -0
  132. data/site-local/configuration/environment-vars.html +6 -20
  133. data/site-local/configuration/global-collections.html +6 -20
  134. data/site-local/configuration/index.html +6 -20
  135. data/site-local/configuration/loading.html +6 -20
  136. data/site-local/configuration/mixins.html +10 -24
  137. data/site-local/configuration/parallel-builds.html +6 -20
  138. data/site-local/configuration/project-file.html +8 -22
  139. data/site-local/configuration/reference/cexception.html +6 -20
  140. data/site-local/configuration/reference/cmock.html +8 -21
  141. data/site-local/configuration/reference/defines.html +16 -30
  142. data/site-local/configuration/reference/environment.html +10 -24
  143. data/site-local/configuration/reference/extension.html +6 -20
  144. data/site-local/configuration/reference/files.html +22 -30
  145. data/site-local/configuration/reference/flags.html +13 -27
  146. data/site-local/configuration/reference/index.html +6 -20
  147. data/site-local/configuration/reference/libraries.html +27 -23
  148. data/site-local/configuration/reference/mixins.html +6 -20
  149. data/site-local/configuration/reference/partials.html +6 -20
  150. data/site-local/configuration/reference/paths.html +38 -29
  151. data/site-local/configuration/reference/plugins.html +6 -20
  152. data/site-local/configuration/reference/project.html +32 -36
  153. data/site-local/configuration/reference/release-build.html +8 -20
  154. data/site-local/configuration/reference/test-build.html +6 -20
  155. data/site-local/configuration/reference/test-runner.html +6 -20
  156. data/site-local/configuration/reference/tools.html +27 -32
  157. data/site-local/configuration/reference/unity.html +6 -20
  158. data/site-local/configuration/which-ceedling.html +383 -37
  159. data/site-local/development/index.html +6 -20
  160. data/site-local/development/plugins/configuration.html +6 -20
  161. data/site-local/development/plugins/index.html +6 -20
  162. data/site-local/development/plugins/plugin-subclass.html +54 -68
  163. data/site-local/development/plugins/rake-tasks.html +8 -22
  164. data/site-local/development/releases.html +84 -29
  165. data/site-local/development/workflow.html +62 -71
  166. data/site-local/getting-started/builds.html +8 -20
  167. data/site-local/getting-started/command-line.html +62 -24
  168. data/site-local/getting-started/example-projects/cipher-quest.html +6 -20
  169. data/site-local/getting-started/example-projects/index.html +6 -20
  170. data/site-local/getting-started/example-projects/temp-sensor.html +6 -20
  171. data/site-local/getting-started/example-projects/wondrous-forest.html +6 -20
  172. data/site-local/getting-started/index.html +6 -20
  173. data/site-local/getting-started/installation.html +6 -20
  174. data/site-local/getting-started/quick-start.html +6 -20
  175. data/site-local/help.html +6 -20
  176. data/site-local/index.html +11 -24
  177. data/site-local/overview/build-system.html +6 -20
  178. data/site-local/overview/index.html +6 -20
  179. data/site-local/overview/test-environments.html +6 -20
  180. data/site-local/overview/tools-and-frameworks.html +6 -20
  181. data/site-local/plugins/beep.html +6 -20
  182. data/site-local/plugins/bullseye/index.html +13 -24
  183. data/site-local/plugins/bullseye/licensing.html +14 -28
  184. data/site-local/plugins/command-hooks.html +8 -22
  185. data/site-local/plugins/compile-commands-json-db.html +6 -20
  186. data/site-local/plugins/cppcheck.html +8 -22
  187. data/site-local/plugins/dependencies.html +16 -27
  188. data/site-local/plugins/fff.html +49 -32
  189. data/site-local/plugins/gcov/examples.html +7 -21
  190. data/site-local/plugins/gcov/gcovr.html +22 -33
  191. data/site-local/plugins/gcov/index.html +6 -20
  192. data/site-local/plugins/gcov/overview.html +9 -20
  193. data/site-local/plugins/gcov/reportgenerator.html +9 -23
  194. data/site-local/plugins/gcov/reporting.html +6 -20
  195. data/site-local/plugins/gcov/setup.html +8 -21
  196. data/site-local/plugins/gcov/tool-versions.html +6 -20
  197. data/site-local/plugins/gcov/troubleshooting.html +10 -24
  198. data/site-local/plugins/index.html +6 -20
  199. data/site-local/plugins/module-generator.html +21 -35
  200. data/site-local/plugins/report-build-warnings-log.html +53 -67
  201. data/site-local/plugins/report-tests-gtestlike-stdout.html +6 -20
  202. data/site-local/plugins/report-tests-ide-stdout.html +43 -57
  203. data/site-local/plugins/report-tests-log-factory.html +50 -64
  204. data/site-local/plugins/report-tests-pretty-stdout.html +7 -21
  205. data/site-local/plugins/report-tests-raw-output-log.html +9 -21
  206. data/site-local/plugins/report-tests-teamcity-stdout.html +20 -31
  207. data/site-local/plugins/sanitize.html +56 -65
  208. data/site-local/plugins/valgrind.html +49 -58
  209. data/site-local/project/index.html +6 -20
  210. data/site-local/project/release-history.html +6 -20
  211. data/site-local/project/sbom.html +6 -20
  212. data/site-local/project/upgrade.html +9 -20
  213. data/site-local/reference/build-directives.html +6 -20
  214. data/site-local/reference/command-line.html +15 -22
  215. data/site-local/reference/environment-vars.html +6 -20
  216. data/site-local/reference/gcov-plugin.html +6 -20
  217. data/site-local/reference/global-collections.html +6 -20
  218. data/site-local/reference/index.html +6 -20
  219. data/site-local/reference/partials-macros.html +6 -20
  220. data/site-local/reference/project-configuration.html +6 -20
  221. data/site-local/sitemap.xml.gz +0 -0
  222. data/site-local/snapshot/examples/cipher_quest/index.html +16 -30
  223. data/site-local/snapshot/examples/temp_sensor/index.html +8 -22
  224. data/site-local/snapshot/examples/wondrous_forest/index.html +6 -20
  225. data/site-local/snapshot/plugins/bullseye/config/defaults_bullseye.rb +1 -1
  226. data/site-local/snapshot/plugins/gcov/config/defaults_gcov.rb +1 -1
  227. data/site-local/testing-guide/build-directives.html +14 -28
  228. data/site-local/testing-guide/conventions.html +66 -27
  229. data/site-local/testing-guide/frameworks.html +11 -25
  230. data/site-local/testing-guide/index.html +6 -20
  231. data/site-local/testing-guide/partials/configuration.html +8 -22
  232. data/site-local/testing-guide/partials/conventions.html +8 -22
  233. data/site-local/testing-guide/partials/directives.html +16 -30
  234. data/site-local/testing-guide/partials/example.html +14 -28
  235. data/site-local/testing-guide/partials/index.html +6 -20
  236. data/site-local/testing-guide/partials/overview.html +6 -20
  237. data/site-local/testing-guide/partials/variables.html +11 -25
  238. data/site-local/testing-guide/test-cases.html +13 -27
  239. data/site-local/testing-guide/test-sample.html +12 -26
  240. data/site-local/testing-guide/test-suite-anatomy.html +6 -20
  241. data/spec/integration/actionator_file_operations_spec.rb +91 -1
  242. data/spec/integration/compile_commands_json_db_spec.rb +1 -1
  243. data/spec/integration/configurator_pipeline_spec.rb +10 -0
  244. data/spec/integration/configurator_validation_spec.rb +1 -1
  245. data/spec/integration/dependencies/dependency_tracker_cache_hardening_spec.rb +26 -0
  246. data/spec/integration/dependencies/dependency_tracker_core_spec.rb +62 -0
  247. data/spec/integration/launcher_handoff_spec.rb +297 -0
  248. data/spec/integration/mixin_loading_spec.rb +1 -1
  249. data/spec/integration/module_generator_spec.rb +3 -3
  250. data/spec/integration/nested_test_artifacts_spec.rb +99 -0
  251. data/spec/integration/partials_module_resolution_spec.rb +7 -4
  252. data/spec/integration/path_intake_scenarios_spec.rb +101 -0
  253. data/spec/integration/path_scenarios_spec.rb +322 -0
  254. data/spec/integration/quote_include_isolator_spec.rb +1 -1
  255. data/spec/integration/rake_task_registry_plugins_spec.rb +95 -0
  256. data/spec/integration/report_build_warnings_log_spec.rb +1 -1
  257. data/spec/integration/report_tests_log_factory_spec.rb +1 -1
  258. data/spec/integration/test_executable_manifest_spec.rb +1 -1
  259. data/spec/integration/test_includes_extractinator_spec.rb +2 -1
  260. data/spec/integration/test_naming_spec.rb +198 -0
  261. data/spec/integration/test_source_file_checks_spec.rb +166 -0
  262. data/spec/integration/tool_validator_spec.rb +1 -1
  263. data/spec/integration/upgrade_docs_spec.rb +84 -0
  264. data/spec/integration/vendor_copy_transient_io_retry_spec.rb +192 -75
  265. data/spec/support/file_tree_helper.rb +88 -0
  266. data/spec/support/integration/configurator_integration_helper.rb +10 -7
  267. data/spec/support/integration/dependency_tracker_integration_helper.rb +1 -1
  268. data/spec/support/integration/partials_generation_integration_helper.rb +2 -2
  269. data/spec/support/integration/path_scenario_harness.rb +173 -0
  270. data/spec/support/integration/spec_integration_helper.rb +1 -1
  271. data/spec/support/integration/test_includes_harness.rb +13 -2
  272. data/spec/support/spec_helper.rb +2 -0
  273. data/spec/support/system/spec_system_helper.rb +7 -6
  274. data/spec/support/system/system_context.rb +21 -3
  275. data/spec/support/working_dir_tracking.rb +49 -0
  276. data/spec/system/build_output_mirroring_spec.rb +2 -2
  277. data/spec/system/conditional_mock_includes_spec.rb +1 -1
  278. data/spec/system/delta_builds_spec.rb +137 -11
  279. data/spec/system/gcov_deployment_spec.rb +1 -0
  280. data/spec/system/header_include_path_validation_spec.rb +4 -4
  281. data/spec/system/launcher_handoff_spec.rb +82 -0
  282. data/spec/system/mock_include_folders_spec.rb +91 -0
  283. data/spec/system/parent_directory_reference_spec.rb +5 -3
  284. data/spec/system/path_handling_probes_spec.rb +192 -0
  285. data/spec/system/preprocessing_parameterized_tests_spec.rb +1 -1
  286. data/spec/system/rake_release_task_path_disambiguation_spec.rb +6 -6
  287. data/spec/system/rake_test_task_path_disambiguation_spec.rb +85 -0
  288. data/spec/system/special_path_characters_spec.rb +86 -0
  289. data/spec/system/support/common_test_cases.rb +23 -21
  290. data/spec/system/support/gcov_common_test_cases.rb +37 -9
  291. data/spec/system/support/sanitize_common_test_cases.rb +2 -2
  292. data/spec/system/support/valgrind_common_test_cases.rb +12 -12
  293. data/spec/system/test_pipeline_stop_points_spec.rb +4 -4
  294. data/spec/system/test_runner_system_include_spec.rb +1 -1
  295. data/spec/system/test_source_file_directive_spec.rb +34 -5
  296. data/spec/units/bin/actionator_spec.rb +14 -17
  297. data/spec/units/bin/app_cfg_spec.rb +47 -0
  298. data/spec/units/bin/cli_handler_spec.rb +284 -7
  299. data/spec/units/bin/cli_helper_spec.rb +126 -45
  300. data/spec/units/bin/installation_selector_spec.rb +114 -0
  301. data/spec/units/bin/launchinator_spec.rb +171 -0
  302. data/spec/units/bin/path_validator_spec.rb +10 -0
  303. data/spec/units/bin/versionator_spec.rb +38 -6
  304. data/spec/units/build_log_writer_spec.rb +57 -0
  305. data/spec/units/config/build_root_policy_spec.rb +61 -0
  306. data/spec/units/config/configurator_builder_spec.rb +37 -6
  307. data/spec/units/config/configurator_paths_validator_spec.rb +292 -0
  308. data/spec/units/config/configurator_setup_spec.rb +65 -103
  309. data/spec/units/config/configurator_spec.rb +37 -6
  310. data/spec/units/config/configurator_validator_spec.rb +1 -172
  311. data/spec/units/default_tools_quoting_spec.rb +83 -0
  312. data/spec/units/dependencies/dependency_cache_store_spec.rb +33 -2
  313. data/spec/units/dependencies/dependency_debug_tree_spec.rb +1 -1
  314. data/spec/units/dependencies/dependency_hasher_spec.rb +42 -1
  315. data/spec/units/dependencies/dependency_path_normalizer_spec.rb +1 -1
  316. data/spec/units/dependencies/dependency_tracker_spec.rb +3 -1
  317. data/spec/units/filename_extension_spec.rb +11 -0
  318. data/spec/units/filesystem/build_subpath_spec.rb +122 -0
  319. data/spec/units/filesystem/destination_collision_spec.rb +30 -0
  320. data/spec/units/{file_finder_helper_spec.rb → filesystem/file_finder_helper_spec.rb} +46 -1
  321. data/spec/units/{file_finder_spec.rb → filesystem/file_finder_spec.rb} +188 -22
  322. data/spec/units/{file_path_collection_utils_spec.rb → filesystem/file_path_collection_utils_spec.rb} +181 -1
  323. data/spec/units/{file_path_utils_spec.rb → filesystem/file_path_utils_spec.rb} +204 -87
  324. data/spec/units/filesystem/file_system_wrapper_spec.rb +33 -0
  325. data/spec/units/filesystem/file_tree_spec.rb +511 -0
  326. data/spec/units/filesystem/file_tree_windows_spec.rb +78 -0
  327. data/spec/units/{file_wrapper_spec.rb → filesystem/file_wrapper_spec.rb} +154 -32
  328. data/spec/units/{path_matcher_spec.rb → filesystem/path_matcher_spec.rb} +12 -1
  329. data/spec/units/{path_mirror_spec.rb → filesystem/path_mirror_spec.rb} +32 -4
  330. data/spec/units/filesystem/project_paths_spec.rb +147 -0
  331. data/spec/units/filesystem/working_dir_spec.rb +71 -0
  332. data/spec/units/generators/generator_spec.rb +12 -6
  333. data/spec/units/generators/generator_test_results_backtrace_spec.rb +50 -46
  334. data/spec/units/generators/generator_test_results_spec.rb +1 -1
  335. data/spec/units/handoff_spec.rb +205 -0
  336. data/spec/units/includes/include_factory_spec.rb +3 -3
  337. data/spec/units/includes/include_pathinator_spec.rb +46 -0
  338. data/spec/units/installation_spec.rb +228 -0
  339. data/spec/units/library_resolver_spec.rb +157 -0
  340. data/spec/units/mock_locator_spec.rb +76 -1
  341. data/spec/units/partials/partializer_config_spec.rb +7 -0
  342. data/spec/units/partials/partializer_spec.rb +1 -0
  343. data/spec/units/partials_manager_spec.rb +17 -0
  344. data/spec/units/plugins/bullseye_spec.rb +15 -2
  345. data/spec/units/plugins/console_reportinator_spec.rb +18 -20
  346. data/spec/units/plugins/dependencies_spec.rb +33 -7
  347. data/spec/units/plugins/dependency_spec_spec.rb +17 -0
  348. data/spec/units/plugins/gcov_spec.rb +28 -3
  349. data/spec/units/plugins/gcovr_reportinator_spec.rb +19 -47
  350. data/spec/units/plugins/gcovr_thresholds_spec.rb +95 -0
  351. data/spec/units/plugins/module_generator_spec.rb +5 -5
  352. data/spec/units/plugins/report_build_warnings_log_spec.rb +3 -3
  353. data/spec/units/plugins/report_log_writer_plugin_spec.rb +10 -1
  354. data/spec/units/plugins/report_tests_raw_output_log_spec.rb +13 -2
  355. data/spec/units/plugins/report_tests_teamcity_stdout_spec.rb +77 -3
  356. data/spec/units/plugins/reportgenerator_reportinator_spec.rb +1 -1
  357. data/spec/units/plugins/sanitize_records_spec.rb +3 -1
  358. data/spec/units/plugins/sanitize_spec.rb +1 -1
  359. data/spec/units/plugins/valgrind_spec.rb +23 -8
  360. data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +1 -1
  361. data/spec/units/rake_app/rakefile_component_resolver_spec.rb +21 -0
  362. data/spec/units/rake_app/test_task_name_spec.rb +47 -0
  363. data/spec/units/release_build_executor_spec.rb +53 -14
  364. data/spec/units/release_build_planner_spec.rb +15 -3
  365. data/spec/units/reportinator_spec.rb +5 -5
  366. data/spec/units/standin_headerinator_spec.rb +31 -1
  367. data/spec/units/test_build_executor_spec.rb +107 -5
  368. data/spec/units/test_build_planner_spec.rb +104 -2
  369. data/spec/units/test_build_setup_spec.rb +96 -12
  370. data/spec/units/test_context_extractor_spec.rb +25 -0
  371. data/spec/units/test_file_preprocessinator_spec.rb +17 -1
  372. data/spec/units/test_includes_extractinator_spec.rb +5 -1
  373. data/spec/units/test_invoker/objects_wiring_spec.rb +6 -3
  374. data/spec/units/test_invoker_spec.rb +14 -1
  375. data/spec/units/test_source_file_directive_resolver_spec.rb +38 -7
  376. data/spec/units/tool_executor_spec.rb +26 -0
  377. data/spec/units/yaml_wrapper_spec.rb +11 -0
  378. metadata +122 -33
  379. data/lib/ceedling/file_path_collection_utils.rb +0 -164
  380. data/site-local/assets/stylesheets/main.ec1eaa64.min.css +0 -1
  381. data/site-local/assets/stylesheets/main.ec1eaa64.min.css.map +0 -1
  382. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +0 -1
  383. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +0 -1
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
  <link rel="icon" href="../../assets/images/favicon.png">
24
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
25
25
 
26
26
 
27
27
 
@@ -29,10 +29,10 @@
29
29
 
30
30
 
31
31
 
32
- <link rel="stylesheet" href="../../assets/stylesheets/main.ec1eaa64.min.css">
32
+ <link rel="stylesheet" href="../../assets/stylesheets/main.57a0d79d.min.css">
33
33
 
34
34
 
35
- <link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
35
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.fb2fffe2.min.css">
36
36
 
37
37
 
38
38
 
@@ -89,30 +89,16 @@
89
89
  </div>
90
90
  <div data-md-component="announce">
91
91
 
92
- <aside class="md-banner">
93
- <div class="md-banner__inner md-grid md-typeset">
94
-
95
-
96
-
97
-
98
- </div>
99
-
100
- </aside>
101
-
102
92
  </div>
103
93
 
104
94
  <div data-md-color-scheme="default" data-md-component="outdated" hidden>
105
95
 
106
96
  <aside class="md-banner md-banner--warning">
107
97
  <div class="md-banner__inner md-grid md-typeset">
108
-
109
-
110
- You are not viewing the latest version.
98
+ You are not viewing the latest version.
111
99
  <a href="../../..">
112
100
  <strong>Click here to go to latest.</strong>
113
101
  </a>
114
-
115
-
116
102
  </div>
117
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>
118
104
  </aside>
@@ -4738,7 +4724,7 @@ migrated to the <code>:test_build</code> and <code>:release_build</code> section
4738
4724
  </div>
4739
4725
  <h2 id="example-project-yaml">Example <code>:project</code> YAML</h2>
4740
4726
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:project</span><span class="p">:</span>
4741
- <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:nane</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Acme</span><span class="nv"> </span><span class="s">Smartomatic&quot;</span>
4727
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:nane</span><span class="p">:</span><span class="w"> </span><span class="s">"Acme</span><span class="nv"> </span><span class="s">Smartomatic"</span>
4742
4728
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nt">:build_root</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">project_awesome/build</span>
4743
4729
  <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="nt">:use_exceptions</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">FALSE</span>
4744
4730
  <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="nt">:use_test_preprocessor</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:all</span>
@@ -4750,13 +4736,20 @@ migrated to the <code>:test_build</code> and <code>:release_build</code> section
4750
4736
  output with the project name.</p>
4751
4737
  <p>Example YAML:
4752
4738
  <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">:project</span><span class="p">:</span>
4753
- <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Q-36</span><span class="nv"> </span><span class="s">Space</span><span class="nv"> </span><span class="s">Modulator&quot;</span>
4739
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">"Q-36</span><span class="nv"> </span><span class="s">Space</span><span class="nv"> </span><span class="s">Modulator"</span>
4754
4740
  </code></pre></div></p>
4755
4741
  <p>Example first logging line:
4756
4742
  <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>🌱 Q-36 SPACE MODULATOR
4757
4743
  </code></pre></div></p>
4758
4744
  <h2 id="build_root"><code>:build_root</code></h2>
4759
4745
  <p>Top level directory into which generated path structure and files are placed.</p>
4746
+ <p><code>ceedling clobber</code> empties the build root’s test and release trees, so Ceedling refuses a
4747
+ build root that is empty, the project directory, or a directory above it.</p>
4748
+ <p>An entry based above the build root, such as the <code>:paths</code> entry <code>../**</code> or the <code>:files</code>
4749
+ glob <code>+:**/*.c</code>, collects nothing from it. A <code>:paths</code> or <code>:files</code> entry within the build
4750
+ root, such as one naming generated code in <code>build/gen</code>, collects from it with a warning.
4751
+ No entry collects from the directories Ceedling and its plugins create there, such as
4752
+ <code>test/</code>, <code>release/</code>, <code>vendor/</code>, and <code>artifacts/</code>.</p>
4760
4753
  <div class="admonition note">
4761
4754
  <p class="admonition-title">Build configuration requirement</p>
4762
4755
  <p>This is one of the handful of configuration values that must be set for
@@ -4869,9 +4862,11 @@ upon by test executables.</p>
4869
4862
  <p><strong>Default</strong>: 1</p>
4870
4863
  <h2 id="which_ceedling"><code>:which_ceedling</code></h2>
4871
4864
  <p>This is an advanced project option primarily meant for development work on
4872
- Ceedling itself. This setting tells the code that launches the Ceedling
4873
- application where to find the code to launch.</p>
4874
- <p>This entry can be either a directory path or <code>gem</code>.</p>
4865
+ Ceedling itself. This setting selects the Ceedling installation that runs
4866
+ your project’s commands. The <code>ceedling</code> command you run hands each command off to
4867
+ that installation’s own launcher.</p>
4868
+ <p>This entry can be either a directory path or <code>gem</code>. A relative path is
4869
+ relative to your working directory.</p>
4875
4870
  <p>See the section <a href="../which-ceedling.html">Which Ceedling</a> for full details.</p>
4876
4871
  <p><strong>Default</strong>: <code>gem</code></p>
4877
4872
  <h2 id="use_backtrace"><code>:use_backtrace</code></h2>
@@ -4899,19 +4894,19 @@ due to a test executable crash.</p>
4899
4894
  <a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a>-------------------
4900
4895
  <a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a>[test/TestUsartModel.c]
4901
4896
  <a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a> Test: testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting
4902
- <a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a> At line (24): &quot;Test executable crashed&quot;
4897
+ <a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a> At line (24): "Test executable crashed"
4903
4898
  <a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a>
4904
4899
  <a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a> Test: testCrash
4905
- <a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a> At line (37): &quot;Test executable crashed&quot;
4900
+ <a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a> At line (37): "Test executable crashed"
4906
4901
  <a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a>
4907
4902
  <a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a> Test: testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately
4908
- <a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a> At line (44): &quot;Test executable crashed&quot;
4903
+ <a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a> At line (44): "Test executable crashed"
4909
4904
  <a id="__codelineno-4-18" name="__codelineno-4-18" href="#__codelineno-4-18"></a>
4910
4905
  <a id="__codelineno-4-19" name="__codelineno-4-19" href="#__codelineno-4-19"></a> Test: testShouldReturnErrorMessageUponInvalidTemperatureValue
4911
- <a id="__codelineno-4-20" name="__codelineno-4-20" href="#__codelineno-4-20"></a> At line (50): &quot;Test executable crashed&quot;
4906
+ <a id="__codelineno-4-20" name="__codelineno-4-20" href="#__codelineno-4-20"></a> At line (50): "Test executable crashed"
4912
4907
  <a id="__codelineno-4-21" name="__codelineno-4-21" href="#__codelineno-4-21"></a>
4913
4908
  <a id="__codelineno-4-22" name="__codelineno-4-22" href="#__codelineno-4-22"></a> Test: testShouldReturnWakeupMessage
4914
- <a id="__codelineno-4-23" name="__codelineno-4-23" href="#__codelineno-4-23"></a> At line (56): &quot;Test executable crashed&quot;
4909
+ <a id="__codelineno-4-23" name="__codelineno-4-23" href="#__codelineno-4-23"></a> At line (56): "Test executable crashed"
4915
4910
  <a id="__codelineno-4-24" name="__codelineno-4-24" href="#__codelineno-4-24"></a>
4916
4911
  <a id="__codelineno-4-25" name="__codelineno-4-25" href="#__codelineno-4-25"></a>-----------------------
4917
4912
  <a id="__codelineno-4-26" name="__codelineno-4-26" href="#__codelineno-4-26"></a>❌ OVERALL TEST SUMMARY
@@ -4936,7 +4931,7 @@ the default option and is described above.</p>
4936
4931
  <a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a>-------------------
4937
4932
  <a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a>[test/TestUsartModel.c]
4938
4933
  <a id="__codelineno-5-10" name="__codelineno-5-10" href="#__codelineno-5-10"></a> Test: testCrash
4939
- <a id="__codelineno-5-11" name="__codelineno-5-11" href="#__codelineno-5-11"></a> At line (37): &quot;Test case crashed &gt;&gt; Segmentation fault (core dumped)&quot;
4934
+ <a id="__codelineno-5-11" name="__codelineno-5-11" href="#__codelineno-5-11"></a> At line (37): "Test case crashed &gt;&gt; Segmentation fault (core dumped)"
4940
4935
  <a id="__codelineno-5-12" name="__codelineno-5-12" href="#__codelineno-5-12"></a>
4941
4936
  <a id="__codelineno-5-13" name="__codelineno-5-13" href="#__codelineno-5-13"></a>-----------------------
4942
4937
  <a id="__codelineno-5-14" name="__codelineno-5-14" href="#__codelineno-5-14"></a>❌ OVERALL TEST SUMMARY
@@ -4955,9 +4950,10 @@ with an error at startup.</p>
4955
4950
  extracted from the <code>gdb</code> report. Ceedling will attempt to surface in the
4956
4951
  summary the offending line of code or failing <code>assert()</code> from the report.</p>
4957
4952
  <p>The full <code>gdb</code> report is captured to a log file, and the log filepath is
4958
- provided in the crash summary. The log filepath will comprise the containing
4959
- test executable as a subdirectory and the name of the crashing test case
4960
- function as the filename.</p>
4953
+ provided in the crash summary. The log filepath comprises the <a href="../../testing-guide/conventions.html#test-names-build-output">test’s name</a>,
4954
+ its path from your project’s root, as a subdirectory plus the name of the crashing
4955
+ test case function as the filename. A build that logs a test case’s crash replaces
4956
+ that log; a log holds only the latest crash.</p>
4961
4957
  <div class="admonition warning">
4962
4958
  <p class="admonition-title">macOS: a working <code>gdb</code> can stop attaching to processes</p>
4963
4959
  <p>macOS restricts which debuggers may attach to a process. A Homebrew <code>gdb</code>
@@ -4981,9 +4977,9 @@ build. To restore <code>:gdb</code> backtraces, re-codesign <code>gdb</code> fol
4981
4977
  <a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a>-------------------
4982
4978
  <a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a>[test/TestUsartModel.c]
4983
4979
  <a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a> Test: testCrash
4984
- <a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a> At line (40): &quot;Test case crashed &gt;&gt; [SIGSEGV] Segmentation fault
4980
+ <a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a> At line (40): "Test case crashed &gt;&gt; [SIGSEGV] Segmentation fault
4985
4981
  <a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a> `uint32_t i = *null_ptr;`
4986
- <a id="__codelineno-6-13" name="__codelineno-6-13" href="#__codelineno-6-13"></a> (build/logs/test/TestUsartModel/testCrash.gdb.log)&quot;
4982
+ <a id="__codelineno-6-13" name="__codelineno-6-13" href="#__codelineno-6-13"></a> (build/logs/test/test/TestUsartModel/testCrash.gdb.log)"
4987
4983
  <a id="__codelineno-6-14" name="__codelineno-6-14" href="#__codelineno-6-14"></a>
4988
4984
  <a id="__codelineno-6-15" name="__codelineno-6-15" href="#__codelineno-6-15"></a>-----------------------
4989
4985
  <a id="__codelineno-6-16" name="__codelineno-6-16" href="#__codelineno-6-16"></a>❌ OVERALL TEST SUMMARY
@@ -5074,10 +5070,10 @@ build. To restore <code>:gdb</code> backtraces, re-codesign <code>gdb</code> fol
5074
5070
 
5075
5071
 
5076
5072
 
5077
- <script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
5073
+ <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>
5078
5074
 
5079
5075
 
5080
- <script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
5076
+ <script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
5081
5077
 
5082
5078
 
5083
5079
  </body>
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
  <link rel="icon" href="../../assets/images/favicon.png">
24
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
25
25
 
26
26
 
27
27
 
@@ -29,10 +29,10 @@
29
29
 
30
30
 
31
31
 
32
- <link rel="stylesheet" href="../../assets/stylesheets/main.ec1eaa64.min.css">
32
+ <link rel="stylesheet" href="../../assets/stylesheets/main.57a0d79d.min.css">
33
33
 
34
34
 
35
- <link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
35
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.fb2fffe2.min.css">
36
36
 
37
37
 
38
38
 
@@ -89,30 +89,16 @@
89
89
  </div>
90
90
  <div data-md-component="announce">
91
91
 
92
- <aside class="md-banner">
93
- <div class="md-banner__inner md-grid md-typeset">
94
-
95
-
96
-
97
-
98
- </div>
99
-
100
- </aside>
101
-
102
92
  </div>
103
93
 
104
94
  <div data-md-color-scheme="default" data-md-component="outdated" hidden>
105
95
 
106
96
  <aside class="md-banner md-banner--warning">
107
97
  <div class="md-banner__inner md-grid md-typeset">
108
-
109
-
110
- You are not viewing the latest version.
98
+ You are not viewing the latest version.
111
99
  <a href="../../..">
112
100
  <strong>Click here to go to latest.</strong>
113
101
  </a>
114
-
115
-
116
102
  </div>
117
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>
118
104
  </aside>
@@ -4458,6 +4444,8 @@ precedence.</p>
4458
4444
  <em>&lt;build path&gt;/artifacts/release/</em>. Ceedling sets the default artifact
4459
4445
  file extension to that as is explicitly specified in the <code>:extension</code>
4460
4446
  section or as is system specific otherwise.</p>
4447
+ <p>An absolute path, or one beginning with <code>~</code>, names the release itself. Its
4448
+ map file sits beside it.</p>
4461
4449
  <p><strong>Default</strong>: <code>project.exe</code> or <code>project.out</code></p>
4462
4450
  <h2 id="use_assembly"><code>:use_assembly</code></h2>
4463
4451
  <p>This option causes Ceedling to enable an assembler tool and add any
@@ -4549,10 +4537,10 @@ is available in artifact paths.</p>
4549
4537
 
4550
4538
 
4551
4539
 
4552
- <script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
4540
+ <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>
4553
4541
 
4554
4542
 
4555
- <script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
4543
+ <script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
4556
4544
 
4557
4545
 
4558
4546
  </body>
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
  <link rel="icon" href="../../assets/images/favicon.png">
24
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
25
25
 
26
26
 
27
27
 
@@ -29,10 +29,10 @@
29
29
 
30
30
 
31
31
 
32
- <link rel="stylesheet" href="../../assets/stylesheets/main.ec1eaa64.min.css">
32
+ <link rel="stylesheet" href="../../assets/stylesheets/main.57a0d79d.min.css">
33
33
 
34
34
 
35
- <link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
35
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.fb2fffe2.min.css">
36
36
 
37
37
 
38
38
 
@@ -89,30 +89,16 @@
89
89
  </div>
90
90
  <div data-md-component="announce">
91
91
 
92
- <aside class="md-banner">
93
- <div class="md-banner__inner md-grid md-typeset">
94
-
95
-
96
-
97
-
98
- </div>
99
-
100
- </aside>
101
-
102
92
  </div>
103
93
 
104
94
  <div data-md-color-scheme="default" data-md-component="outdated" hidden>
105
95
 
106
96
  <aside class="md-banner md-banner--warning">
107
97
  <div class="md-banner__inner md-grid md-typeset">
108
-
109
-
110
- You are not viewing the latest version.
98
+ You are not viewing the latest version.
111
99
  <a href="../../..">
112
100
  <strong>Click here to go to latest.</strong>
113
101
  </a>
114
-
115
-
116
102
  </div>
117
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>
118
104
  </aside>
@@ -4550,10 +4536,10 @@ uses fallback preprocessing instead.</p>
4550
4536
 
4551
4537
 
4552
4538
 
4553
- <script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
4539
+ <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>
4554
4540
 
4555
4541
 
4556
- <script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
4542
+ <script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
4557
4543
 
4558
4544
 
4559
4545
  </body>
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
  <link rel="icon" href="../../assets/images/favicon.png">
24
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
25
25
 
26
26
 
27
27
 
@@ -29,10 +29,10 @@
29
29
 
30
30
 
31
31
 
32
- <link rel="stylesheet" href="../../assets/stylesheets/main.ec1eaa64.min.css">
32
+ <link rel="stylesheet" href="../../assets/stylesheets/main.57a0d79d.min.css">
33
33
 
34
34
 
35
- <link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
35
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.fb2fffe2.min.css">
36
36
 
37
37
 
38
38
 
@@ -89,30 +89,16 @@
89
89
  </div>
90
90
  <div data-md-component="announce">
91
91
 
92
- <aside class="md-banner">
93
- <div class="md-banner__inner md-grid md-typeset">
94
-
95
-
96
-
97
-
98
- </div>
99
-
100
- </aside>
101
-
102
92
  </div>
103
93
 
104
94
  <div data-md-color-scheme="default" data-md-component="outdated" hidden>
105
95
 
106
96
  <aside class="md-banner md-banner--warning">
107
97
  <div class="md-banner__inner md-grid md-typeset">
108
-
109
-
110
- You are not viewing the latest version.
98
+ You are not viewing the latest version.
111
99
  <a href="../../..">
112
100
  <strong>Click here to go to latest.</strong>
113
101
  </a>
114
-
115
-
116
102
  </div>
117
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>
118
104
  </aside>
@@ -4580,10 +4566,10 @@ an order-dependent failure without test case order moving around run to run).</p
4580
4566
 
4581
4567
 
4582
4568
 
4583
- <script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
4569
+ <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>
4584
4570
 
4585
4571
 
4586
- <script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
4572
+ <script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
4587
4573
 
4588
4574
 
4589
4575
  </body>
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
  <link rel="icon" href="../../assets/images/favicon.png">
24
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
25
25
 
26
26
 
27
27
 
@@ -29,10 +29,10 @@
29
29
 
30
30
 
31
31
 
32
- <link rel="stylesheet" href="../../assets/stylesheets/main.ec1eaa64.min.css">
32
+ <link rel="stylesheet" href="../../assets/stylesheets/main.57a0d79d.min.css">
33
33
 
34
34
 
35
- <link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
35
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.fb2fffe2.min.css">
36
36
 
37
37
 
38
38
 
@@ -89,30 +89,16 @@
89
89
  </div>
90
90
  <div data-md-component="announce">
91
91
 
92
- <aside class="md-banner">
93
- <div class="md-banner__inner md-grid md-typeset">
94
-
95
-
96
-
97
-
98
- </div>
99
-
100
- </aside>
101
-
102
92
  </div>
103
93
 
104
94
  <div data-md-color-scheme="default" data-md-component="outdated" hidden>
105
95
 
106
96
  <aside class="md-banner md-banner--warning">
107
97
  <div class="md-banner__inner md-grid md-typeset">
108
-
109
-
110
- You are not viewing the latest version.
98
+ You are not viewing the latest version.
111
99
  <a href="../../..">
112
100
  <strong>Click here to go to latest.</strong>
113
101
  </a>
114
-
115
-
116
102
  </div>
117
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>
118
104
  </aside>
@@ -4989,7 +4975,7 @@ instructive…</p>
4989
4975
  <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:power_drill</span><span class="p">:</span>
4990
4976
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">dewalt.exe</span>
4991
4977
  <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span>
4992
- <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;--X${3}&quot;</span>
4978
+ <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"--X${3}"</span>
4993
4979
  </code></pre></div>
4994
4980
  <p>Let’s say that <code>${3}</code> is a list inside Ceedling, <code>[2, 3, 7]</code>. The expanded tool
4995
4981
  command line for <code>:tools</code> ↳ <code>:power_drill</code> would look like this:</p>
@@ -5081,13 +5067,22 @@ the name quoted, add escaped quotes in the YAML:</p>
5081
5067
  <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">:test_compiler</span><span class="p">:</span>
5082
5068
  <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="c1"># YAML explicitly requires the outer quotation marks.</span>
5083
5069
  <a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="c1"># The command line requires the inner escaped quotation marks.</span>
5084
- <a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;\&quot;Code</span><span class="nv"> </span><span class="s">Cruncher\&quot;&quot;</span>
5070
+ <a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="s">"\"Code</span><span class="nv"> </span><span class="s">Cruncher\""</span>
5085
5071
  </code></pre></div>
5086
5072
  </div>
5087
5073
  </li>
5088
5074
  <li>
5089
5075
  <p><code>:arguments</code> - List (array of strings) of command line arguments and
5090
5076
  substitutions (required).</p>
5077
+ <div class="admonition tip">
5078
+ <p class="admonition-title">Quote the paths your tools name</p>
5079
+ <p>Ceedling runs each tool’s command line through your system’s shell, which
5080
+ reads a space, an apostrophe, and other characters in a path as part of
5081
+ the command. Wrap each path argument in escaped quotes, as Ceedling’s
5082
+ own tools do, for example <code>"-c \"${1}\""</code>. Quoting protects most
5083
+ characters. On Linux and macOS, a path holding <code>"</code>, <code>$</code>, a backtick, or
5084
+ <code>\</code> can still break a command.</p>
5085
+ </div>
5091
5086
  </li>
5092
5087
  <li>
5093
5088
  <p><code>:name</code> - Simple name (i.e. "nickname") of tool beyond its executable name.
@@ -5165,19 +5160,19 @@ way needed. To use a literal <code>$</code>, escape it as <code>\\$</code>.</p>
5165
5160
  <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nt">:tools</span><span class="p">:</span>
5166
5161
  <a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="nt">:test_compiler</span><span class="p">:</span>
5167
5162
  <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">compiler</span><span class="w"> </span><span class="c1"># Exists in system search path</span>
5168
- <a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;acme</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">compiler&#39;</span>
5163
+ <a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">'acme</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">compiler'</span>
5169
5164
  <a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span>
5170
- <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-I&quot;${5}&quot;</span><span class="w"> </span><span class="c1"># Expands to -I search paths from `:paths` section + build directive path macros</span>
5171
- <a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-D&quot;${6}&quot;</span><span class="w"> </span><span class="c1"># Expands to all -D defined symbols from `:defines` section</span>
5165
+ <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-I"${5}"</span><span class="w"> </span><span class="c1"># Expands to -I search paths from `:paths` section + build directive path macros</span>
5166
+ <a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-D"${6}"</span><span class="w"> </span><span class="c1"># Expands to all -D defined symbols from `:defines` section</span>
5172
5167
  <a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--network-license</span><span class="w"> </span><span class="c1"># Simple command line argument</span>
5173
5168
  <a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-optimize-level 4</span><span class="w"> </span><span class="c1"># Simple command line argument</span>
5174
- <a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;#{`args.exe</span><span class="nv"> </span><span class="s">-m</span><span class="nv"> </span><span class="s">acme.prj`}&quot;</span><span class="w"> </span><span class="c1"># In-line Ruby call to shell out &amp; build string of arguments</span>
5169
+ <a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"#{`args.exe</span><span class="nv"> </span><span class="s">-m</span><span class="nv"> </span><span class="s">acme.prj`}"</span><span class="w"> </span><span class="c1"># In-line Ruby call to shell out &amp; build string of arguments</span>
5175
5170
  <a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-c ${1}</span><span class="w"> </span><span class="c1"># Source code input file</span>
5176
5171
  <a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-o ${2}</span><span class="w"> </span><span class="c1"># Object file output</span>
5177
5172
  <a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a>
5178
5173
  <a id="__codelineno-3-14" name="__codelineno-3-14" href="#__codelineno-3-14"></a><span class="w"> </span><span class="nt">:test_linker</span><span class="p">:</span>
5179
5174
  <a id="__codelineno-3-15" name="__codelineno-3-15" href="#__codelineno-3-15"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/programs/acme/bin/linker.exe</span><span class="w"> </span><span class="c1"># Full file path</span>
5180
- <a id="__codelineno-3-16" name="__codelineno-3-16" href="#__codelineno-3-16"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;acme</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">linker&#39;</span>
5175
+ <a id="__codelineno-3-16" name="__codelineno-3-16" href="#__codelineno-3-16"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">'acme</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">linker'</span>
5181
5176
  <a id="__codelineno-3-17" name="__codelineno-3-17" href="#__codelineno-3-17"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span>
5182
5177
  <a id="__codelineno-3-18" name="__codelineno-3-18" href="#__codelineno-3-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${1}</span><span class="w"> </span><span class="c1"># List of object files to link</span>
5183
5178
  <a id="__codelineno-3-19" name="__codelineno-3-19" href="#__codelineno-3-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">-l$-lib</span><span class="p">:</span><span class="w"> </span><span class="c1"># In-line YAML array substitution to link in foo-lib and bar-lib</span>
@@ -5187,11 +5182,11 @@ way needed. To use a literal <code>$</code>, escape it as <code>\\$</code>.</p>
5187
5182
  <a id="__codelineno-3-23" name="__codelineno-3-23" href="#__codelineno-3-23"></a>
5188
5183
  <a id="__codelineno-3-24" name="__codelineno-3-24" href="#__codelineno-3-24"></a><span class="w"> </span><span class="nt">:test_fixture</span><span class="p">:</span>
5189
5184
  <a id="__codelineno-3-25" name="__codelineno-3-25" href="#__codelineno-3-25"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tools/bin/acme_simulator.exe</span><span class="w"> </span><span class="c1"># Relative file path to command line simulator</span>
5190
- <a id="__codelineno-3-26" name="__codelineno-3-26" href="#__codelineno-3-26"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;acme</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">fixture&#39;</span>
5185
+ <a id="__codelineno-3-26" name="__codelineno-3-26" href="#__codelineno-3-26"></a><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="s">'acme</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">fixture'</span>
5191
5186
  <a id="__codelineno-3-27" name="__codelineno-3-27" href="#__codelineno-3-27"></a><span class="w"> </span><span class="nt">:stderr_redirect</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:win</span><span class="w"> </span><span class="c1"># Inform Ceedling what model of $stderr capture to use</span>
5192
5187
  <a id="__codelineno-3-28" name="__codelineno-3-28" href="#__codelineno-3-28"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span>
5193
5188
  <a id="__codelineno-3-29" name="__codelineno-3-29" href="#__codelineno-3-29"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-mem large</span><span class="w"> </span><span class="c1"># Simple command line argument</span>
5194
- <a id="__codelineno-3-30" name="__codelineno-3-30" href="#__codelineno-3-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-f &quot;${1}&quot;</span><span class="w"> </span><span class="c1"># Binary executable input file for simulator</span>
5189
+ <a id="__codelineno-3-30" name="__codelineno-3-30" href="#__codelineno-3-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-f "${1}"</span><span class="w"> </span><span class="c1"># Binary executable input file for simulator</span>
5195
5190
  </code></pre></div>
5196
5191
  <h3 id="tools-example-blurb-notes"><code>:tools</code> example blurb notes</h3>
5197
5192
  <ul>
@@ -5227,8 +5222,8 @@ way needed. To use a literal <code>$</code>, escape it as <code>\\$</code>.</p>
5227
5222
  <h3 id="example-test-compiler-tooling">Example Test Compiler Tooling</h3>
5228
5223
  <p>Resulting compiler command line construction from preceding example <code>:tools</code>
5229
5224
  YAML blurb…</p>
5230
- <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>&gt;<span class="w"> </span>compiler<span class="w"> </span>-I<span class="s2">&quot;/usr/include&quot;</span><span class="w"> </span>-I<span class="s2">&quot;project/tests&quot;</span>
5231
- <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span>-I<span class="s2">&quot;project/tests/support&quot;</span><span class="w"> </span>-I<span class="s2">&quot;project/source&quot;</span><span class="w"> </span>-I<span class="s2">&quot;project/include&quot;</span>
5225
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>&gt;<span class="w"> </span>compiler<span class="w"> </span>-I<span class="s2">"/usr/include"</span><span class="w"> </span>-I<span class="s2">"project/tests"</span>
5226
+ <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span>-I<span class="s2">"project/tests/support"</span><span class="w"> </span>-I<span class="s2">"project/source"</span><span class="w"> </span>-I<span class="s2">"project/include"</span>
5232
5227
  <a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span>-DTEST<span class="w"> </span>-DLONG_NAMES<span class="w"> </span>-network-license<span class="w"> </span>-optimize-level<span class="w"> </span><span class="m">4</span><span class="w"> </span>arg-foo
5233
5228
  <a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span>arg-bar<span class="w"> </span>arg-baz<span class="w"> </span>-c<span class="w"> </span>project/source/source.c<span class="w"> </span>-o
5234
5229
  <a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="w"> </span>build/tests/out/source.o
@@ -5255,7 +5250,7 @@ YAML blurb…</p>
5255
5250
  <h3 id="example-test-fixture-tooling">Example Test Fixture Tooling</h3>
5256
5251
  <p>Resulting test fixture command line construction from preceding example <code>:tools</code>
5257
5252
  YAML blurb…</p>
5258
- <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>&gt;<span class="w"> </span>tools<span class="se">\b</span>in<span class="se">\a</span>cme_simulator.exe<span class="w"> </span>-mem<span class="w"> </span>large<span class="w"> </span>-f<span class="w"> </span><span class="s2">&quot;build\tests\out\test_thing.bin 2&gt;&amp;1&quot;</span>
5253
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>&gt;<span class="w"> </span>tools<span class="se">\b</span>in<span class="se">\a</span>cme_simulator.exe<span class="w"> </span>-mem<span class="w"> </span>large<span class="w"> </span>-f<span class="w"> </span><span class="s2">"build\tests\out\test_thing.bin 2&gt;&amp;1"</span>
5259
5254
  </code></pre></div>
5260
5255
  <p>Notes on test fixture tooling example:</p>
5261
5256
  <ol>
@@ -5380,10 +5375,10 @@ that can be modified with this same hack.</p>
5380
5375
 
5381
5376
 
5382
5377
 
5383
- <script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
5378
+ <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>
5384
5379
 
5385
5380
 
5386
- <script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
5381
+ <script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
5387
5382
 
5388
5383
 
5389
5384
  </body>