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.
- checksums.yaml +4 -4
- data/.rspec +3 -0
- data/.simplecov +73 -0
- data/GIT_COMMIT_SHA +1 -1
- data/Gemfile +84 -8
- data/Gemfile.lock +38 -8
- data/README.md +64 -45
- data/Rakefile +769 -16
- data/assets/{project.yml → features/project.yml} +4 -1
- data/assets/fixtures/bullseye_branch_coverage/src/branchy.c +24 -0
- data/assets/fixtures/bullseye_branch_coverage/src/branchy.h +14 -0
- data/assets/fixtures/bullseye_branch_coverage/test/test_branchy.c +18 -0
- data/assets/fixtures/cppcheck_findings/findings.c +23 -0
- data/assets/fixtures/cppcheck_findings/findings.h +13 -0
- data/assets/fixtures/header_include_path_validation/alt_drivers/foo.h +6 -0
- data/assets/fixtures/header_include_path_validation/bar.h +6 -0
- data/assets/fixtures/header_include_path_validation/drivers/foo.h +6 -0
- data/assets/fixtures/header_include_path_validation/dup.h +6 -0
- data/assets/fixtures/header_include_path_validation/other_inc/dup.h +6 -0
- data/assets/fixtures/header_include_path_validation/test_ambiguous_mock.c +15 -0
- data/assets/fixtures/header_include_path_validation/test_bare_mock.c +11 -0
- data/assets/fixtures/header_include_path_validation/test_bogus_mock_path.c +11 -0
- data/assets/fixtures/header_include_path_validation/test_bogus_vanilla_path.c +10 -0
- data/assets/fixtures/header_include_path_validation/test_include_outranks_test_include_path.c +16 -0
- data/assets/fixtures/header_include_path_validation/test_pathed_mock.c +11 -0
- data/assets/fixtures/header_include_path_validation/test_pathed_mock_ambiguous.c +14 -0
- data/assets/fixtures/header_include_path_validation/test_test_include_path_outranks_include.c +17 -0
- data/assets/fixtures/implicit_source_header_correspondence/alpha/dup.c +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/alpha/dup.h +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/beta/dup.c +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/beta/dup.h +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/gamma/dup_gamma.c +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_alpha.c +10 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_bare.c +10 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_beta.c +10 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_override.c +19 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_subtractive.c +19 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_subtractive_noop.c +16 -0
- data/assets/fixtures/parent_directory_references/alpha/extra.c +4 -0
- data/assets/fixtures/parent_directory_references/common/helper.c +6 -0
- data/assets/fixtures/parent_directory_references/common/helper.h +6 -0
- data/assets/fixtures/parent_directory_references/unit/test_dotdot_include.c +10 -0
- data/assets/fixtures/parent_directory_references/unit/test_dotdot_source.c +16 -0
- data/assets/fixtures/plain_inline_module.h +9 -0
- data/assets/fixtures/same_named_modules/include/drivers/spi/config.h +6 -0
- data/assets/fixtures/same_named_modules/include/drivers/uart/config.h +6 -0
- data/assets/fixtures/same_named_modules/src/drivers/spi/config.c +8 -0
- data/assets/fixtures/same_named_modules/src/drivers/uart/config.c +10 -0
- data/assets/fixtures/same_named_modules/test/test_both_configs.c +26 -0
- data/assets/fixtures/same_named_modules/test/test_both_configs_mocked.c +20 -0
- data/assets/fixtures/same_named_modules/test/test_both_configs_mocked_traditional.c +19 -0
- data/assets/fixtures/same_named_modules/test/test_both_modules.c +19 -0
- data/assets/fixtures/same_named_modules/test/test_uart_config_bare.c +19 -0
- data/assets/fixtures/same_named_modules/test/test_uart_config_partial_only.c +20 -0
- data/assets/fixtures/sources_with_duplicate_basenames/baz/bar.c +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/baz/bar.h +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/foo/bar.c +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/foo/bar.h +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/main.c +11 -0
- data/assets/fixtures/sources_with_duplicate_basenames/test_baz_bar.c +10 -0
- data/assets/fixtures/sources_with_duplicate_basenames/test_both_bars.c +12 -0
- data/assets/fixtures/sources_with_duplicate_basenames/test_foo_bar.c +10 -0
- data/assets/{test_example_file_boom.c → fixtures/test_nosanitize_boom.c} +9 -0
- data/assets/{test_example_file_crash_assert.c → fixtures/test_nosanitize_crash_assert.c} +8 -0
- data/assets/{test_example_file_crash_sigsegv.c → fixtures/test_nosanitize_crash_sigsegv.c} +8 -0
- data/assets/{test_example_file_crash_sigsegv_with_param.c → fixtures/test_nosanitize_crash_sigsegv_with_param.c} +8 -0
- data/assets/fixtures/test_nosanitize_heap_buffer_overflow.c +31 -0
- data/assets/fixtures/test_nosanitize_leak.c +34 -0
- data/assets/fixtures/test_nosanitize_two_findings.c +36 -0
- data/assets/{test_example_file_ub_shift_overflow.c → fixtures/test_nosanitize_ub_shift_overflow.c} +9 -0
- data/assets/fixtures/test_plain_inline_module.c +15 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/alpha/calc.c +4 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/beta/calc.c +4 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_alpha.c +15 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_ambiguous.c +15 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_beta.c +15 -0
- data/assets/fixtures/tests_with_conditional_includes/src/feature_extra2.h +13 -0
- data/assets/fixtures/tests_with_conditional_includes/src/macro_target_extra.h +13 -0
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget.c +19 -3
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget.h +1 -0
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget_feature.c +17 -1
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/test/test_widget.c +12 -4
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/test/test_widget_feature.c +8 -5
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_01.c +7 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_01.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_02.c +16 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_02.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/FeatureConfig.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Gpt.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/MyModuleConfig.h +17 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/MyModulePart1.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/MyModulePart2.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/drivers/widget.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/reader.c +7 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/reader.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_01.c +21 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_01_legacy.c +16 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_02.c +31 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_FeatureConfig.c +15 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_reader.c +13 -0
- data/assets/fixtures/tests_with_duplicate_test_names/integration/test_foo.c +21 -0
- data/assets/fixtures/tests_with_duplicate_test_names/unit/test_foo.c +21 -0
- data/assets/fixtures/tests_with_fallback_conditionals/src/conditional_module.c +28 -0
- data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/test/test_conditionals.c +8 -1
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/asm_helper_lower.s +2 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/asm_helper_upper.S +13 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/counter_module.c +13 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/counter_module.h +13 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/test/test_counter_module.c +27 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/app/config.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/drivers/config.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/sensor.c +30 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/sensor.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/src/shared/config.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/test/test_sensor.c +32 -0
- data/bin/actionator.rb +234 -0
- data/bin/app_cfg.rb +28 -0
- data/bin/cli.rb +78 -47
- data/bin/cli_handler.rb +96 -58
- data/bin/cli_helper.rb +95 -49
- data/bin/cli_options_transform.rb +22 -0
- data/bin/{configinator.rb → composinator.rb} +39 -32
- data/bin/mixin_resolvinator.rb +124 -0
- data/bin/mixin_standardizer.rb +31 -61
- data/bin/mixinator.rb +27 -29
- data/bin/mixins.rb +0 -5
- data/bin/objects.yml +20 -7
- data/bin/path_validator.rb +6 -5
- data/bin/projectinator.rb +51 -142
- data/bin/rake_patches.rb +36 -2
- data/bin/recursive_merger.rb +7 -1
- data/bin/versionator.rb +2 -3
- data/ceedling.gemspec +83 -12
- data/docs/BreakingChanges.md +46 -2
- data/docs/CONTRIBUTING.md +45 -29
- data/docs/CeedlingPullRequestChecklist.md +10 -9
- data/docs/Changelog.md +337 -37
- data/docs/KnownIssues.md +30 -4
- data/docs/ReleaseNotes.md +288 -12
- data/docs/SECURITY.md +46 -2
- data/docs/ThrowTheSwitchCodingStandard.md +21 -3
- data/docs/overrides/main.html +35 -0
- data/examples/temp_sensor/mixin/add_bullseye.yml +19 -0
- data/examples/wondrous_forest/README.md +3 -0
- data/examples/wondrous_forest/src/sensors/light/Calibration.c +21 -0
- data/examples/wondrous_forest/src/sensors/light/Calibration.h +14 -0
- data/examples/wondrous_forest/src/sensors/soil/Calibration.c +23 -0
- data/examples/wondrous_forest/src/sensors/soil/Calibration.h +14 -0
- data/examples/wondrous_forest/test/TestCalibration.c +39 -0
- data/lib/ceedling/batchinator.rb +81 -22
- data/lib/ceedling/c_extractor/README.md +61 -0
- data/lib/ceedling/c_extractor/c_extractor.rb +33 -2
- data/lib/ceedling/c_extractor/c_extractor_code_text.rb +18 -10
- data/lib/ceedling/c_extractor/c_extractor_constants.rb +10 -10
- data/lib/ceedling/c_extractor/c_extractor_declarations.rb +14 -14
- data/lib/ceedling/c_extractor/c_extractor_functions.rb +10 -13
- data/lib/ceedling/c_extractor/c_extractor_preprocessing.rb +77 -0
- data/lib/ceedling/c_extractor/c_extractor_types.rb +8 -5
- data/lib/ceedling/ceedling.h +33 -0
- data/lib/ceedling/config/config_matchinator.rb +36 -13
- data/lib/ceedling/config/configurator.rb +370 -531
- data/lib/ceedling/config/configurator_builder.rb +253 -365
- data/lib/ceedling/config/configurator_plugins.rb +68 -102
- data/lib/ceedling/config/configurator_setup.rb +360 -616
- data/lib/ceedling/config/configurator_validator.rb +114 -142
- data/lib/ceedling/config/line_marker_suppressors.rb +67 -0
- data/lib/ceedling/constants.rb +60 -6
- data/lib/ceedling/defaults.rb +28 -14
- data/lib/ceedling/defineinator.rb +9 -4
- data/lib/ceedling/dependencies/README.md +69 -0
- data/lib/ceedling/dependencies/dependency_cache_store.rb +160 -0
- data/lib/ceedling/dependencies/dependency_debug_tree.rb +129 -0
- data/lib/ceedling/dependencies/dependency_differ.rb +127 -0
- data/lib/ceedling/dependencies/dependency_hasher.rb +94 -0
- data/lib/ceedling/dependencies/dependency_path_normalizer.rb +80 -0
- data/lib/ceedling/dependencies/dependency_tracker.rb +405 -0
- data/lib/ceedling/dependencies/dependinator.rb +65 -0
- data/lib/ceedling/dependencies/gcc_dependency_parser.rb +86 -0
- data/lib/ceedling/encodinator.rb +23 -11
- data/lib/ceedling/file_finder.rb +373 -89
- data/lib/ceedling/file_finder_helper.rb +44 -33
- data/lib/ceedling/file_path_collection_utils.rb +17 -4
- data/lib/ceedling/file_path_utils.rb +310 -52
- data/lib/ceedling/file_wrapper.rb +275 -8
- data/lib/ceedling/filename_extension.rb +91 -0
- data/lib/ceedling/flaginator.rb +6 -2
- data/lib/ceedling/generators/generator.rb +192 -70
- data/lib/ceedling/generators/generator_helper.rb +116 -69
- data/lib/ceedling/generators/generator_mocks.rb +13 -8
- data/lib/ceedling/generators/generator_partials.rb +47 -15
- data/lib/ceedling/generators/generator_test_results.rb +29 -17
- data/lib/ceedling/generators/generator_test_results_backtrace.rb +199 -107
- data/lib/ceedling/generators/generator_test_results_sanity_checker.rb +1 -1
- data/lib/ceedling/includes/include_factory.rb +21 -6
- data/lib/ceedling/includes/include_pathinator.rb +40 -4
- data/lib/ceedling/includes/includes.rb +215 -61
- data/lib/ceedling/loginator.rb +13 -4
- data/lib/ceedling/objects.yml +216 -33
- data/lib/ceedling/parsing_parcels.rb +39 -13
- data/lib/ceedling/partials/README.md +53 -0
- data/lib/ceedling/partials/partializer.rb +118 -26
- data/lib/ceedling/partials/partializer_config.rb +141 -8
- data/lib/ceedling/partials/partializer_helper.rb +88 -2
- data/lib/ceedling/partials/partializer_utils.rb +1 -1
- data/lib/ceedling/partials/partials.rb +4 -4
- data/lib/ceedling/path_matcher.rb +163 -0
- data/lib/ceedling/path_mirror.rb +73 -0
- data/lib/ceedling/plugins/plugin.rb +1 -1
- data/lib/ceedling/plugins/plugin_manager.rb +31 -15
- data/lib/ceedling/plugins/plugin_manager_helper.rb +5 -1
- data/lib/ceedling/plugins/plugin_reportinator.rb +36 -7
- data/lib/ceedling/plugins/plugin_reportinator_helper.rb +3 -3
- data/lib/ceedling/plugins/report_log_writer_plugin.rb +66 -0
- data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +18 -5
- data/lib/ceedling/preprocess/README.md +135 -120
- data/lib/ceedling/preprocess/c_comment_scanner.rb +9 -7
- data/lib/ceedling/preprocess/c_preprocessor_conditionals.rb +27 -10
- data/lib/ceedling/preprocess/preprocessinator.rb +253 -217
- data/lib/ceedling/preprocess/preprocessinator_bare_includes_extractor.rb +7 -10
- data/lib/ceedling/preprocess/preprocessinator_code_finder.rb +8 -6
- data/lib/ceedling/preprocess/preprocessinator_comment_stripper.rb +5 -3
- data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +86 -82
- data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +182 -163
- data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +174 -8
- data/lib/ceedling/preprocess/preprocessinator_reconstructor.rb +41 -20
- data/lib/ceedling/quote_include_isolator.rb +129 -0
- data/lib/ceedling/rake_app/rake_task_registry.rb +9 -9
- data/lib/ceedling/rake_app/rake_wrapper.rb +0 -13
- data/lib/ceedling/rake_app/rakefile_component_resolver.rb +24 -12
- data/lib/ceedling/rake_app/test_task_name.rb +29 -0
- data/lib/ceedling/rakefile.rb +3 -1
- data/lib/ceedling/{tasks_base.rake → rakefiles/base/tasks_base.rake} +1 -1
- data/lib/ceedling/{tasks_filesystem.rake → rakefiles/base/tasks_filesystem.rake} +3 -0
- data/lib/ceedling/rakefiles/release/rules_release.rake +52 -0
- data/lib/ceedling/{erb_wrapper.rb → rakefiles/release/tasks_release.rake} +5 -8
- data/lib/ceedling/{rules_tests.rake → rakefiles/tests/rules_tests.rake} +4 -18
- data/lib/ceedling/rakefiles/tests/rules_tests_generate.rake +54 -0
- data/lib/ceedling/{tasks_tests.rake → rakefiles/tests/tasks_tests.rake} +11 -20
- data/lib/ceedling/rakefiles/tests/tasks_tests_generate.rake +55 -0
- data/lib/ceedling/release_invoker/README.md +35 -0
- data/lib/ceedling/release_invoker/release_build_executor.rb +263 -0
- data/lib/ceedling/release_invoker/release_build_planner.rb +80 -0
- data/lib/ceedling/release_invoker/release_invoker.rb +78 -0
- data/lib/ceedling/release_invoker/release_invoker_types.rb +40 -0
- data/lib/ceedling/reportinator.rb +18 -2
- data/lib/ceedling/ruby_expandinator.rb +40 -1
- data/lib/ceedling/setupinator.rb +13 -3
- data/lib/ceedling/system_wrapper.rb +17 -0
- data/lib/ceedling/templateinator.rb +146 -0
- data/lib/ceedling/test_context_extractor.rb +59 -28
- data/lib/ceedling/test_invoker/HEADER_COLLISIONS.md +41 -0
- data/lib/ceedling/test_invoker/PIPELINE.md +142 -0
- data/lib/ceedling/test_invoker/README.md +6 -0
- data/lib/ceedling/test_invoker/mock_locator.rb +49 -0
- data/lib/ceedling/test_invoker/partials_manager.rb +426 -0
- data/lib/ceedling/test_invoker/standin_headerinator.rb +136 -0
- data/lib/ceedling/test_invoker/test_bare_includes_extractinator.rb +117 -0
- data/lib/ceedling/test_invoker/test_build_executor.rb +800 -429
- data/lib/ceedling/test_invoker/test_build_planner.rb +175 -70
- data/lib/ceedling/test_invoker/test_build_setup.rb +132 -241
- data/lib/ceedling/test_invoker/test_build_validations.rb +102 -0
- data/lib/ceedling/test_invoker/test_file_preprocessinator.rb +148 -0
- data/lib/ceedling/test_invoker/test_includes_extractinator.rb +34 -0
- data/lib/ceedling/test_invoker/test_includes_preprocessinator.rb +118 -0
- data/lib/ceedling/test_invoker/test_includes_reconcilinator.rb +149 -0
- data/lib/ceedling/test_invoker/test_invoker.rb +16 -183
- data/lib/ceedling/test_invoker/test_invoker_types.rb +85 -16
- data/lib/ceedling/test_invoker/test_pipeline_helpers.rb +121 -0
- data/lib/ceedling/test_invoker/test_pipeline_manager.rb +303 -0
- data/lib/ceedling/test_invoker/test_runner_generatinator.rb +105 -0
- data/lib/ceedling/test_invoker/test_search_paths.rb +73 -0
- data/lib/ceedling/test_invoker/test_source_file_directive_resolver.rb +78 -0
- data/lib/ceedling/tool_executor.rb +42 -13
- data/lib/ceedling/tool_executor_helper.rb +1 -1
- data/lib/ceedling/tool_validator.rb +124 -123
- data/lib/ceedling/yaml_wrapper.rb +5 -3
- data/lib/version.rb +19 -2
- data/mkdocs.prerelease.yml +42 -0
- data/mkdocs.yml +10 -2
- data/plugins/bullseye/bullseye.rake +71 -111
- data/plugins/bullseye/config/defaults.yml +12 -54
- data/plugins/bullseye/config/defaults_bullseye.rb +182 -0
- data/plugins/bullseye/lib/bullseye.rb +511 -120
- data/plugins/bullseye/lib/bullseye_constants.rb +100 -0
- data/plugins/command_hooks/lib/command_hooks.rb +117 -199
- data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +72 -27
- data/plugins/cppcheck/config/defaults.yml +6 -1
- data/plugins/cppcheck/config/defaults_cppcheck.rb +5 -1
- data/plugins/cppcheck/cppcheck.rake +7 -1
- data/plugins/cppcheck/lib/cppcheck.rb +175 -26
- data/plugins/cppcheck/lib/cppcheck_constants.rb +12 -0
- data/plugins/cppcheck/lib/cppcheck_reports.rb +5 -1
- data/plugins/dependencies/Rakefile +14 -2
- data/plugins/dependencies/config/defaults.yml +9 -6
- data/plugins/dependencies/dependencies.rake +46 -76
- data/plugins/dependencies/example/boss/project.yml +1 -1
- data/plugins/dependencies/example/supervisor/project.yml +1 -1
- data/plugins/dependencies/example/version.tar.gzip +0 -0
- data/plugins/dependencies/lib/dependencies.rb +232 -427
- data/plugins/dependencies/lib/dependency_commands.rb +72 -0
- data/plugins/dependencies/lib/dependency_environment.rb +57 -0
- data/plugins/dependencies/lib/dependency_spec.rb +145 -0
- data/plugins/fff/.rspec +1 -0
- data/plugins/fff/Rakefile +14 -2
- data/plugins/fff/examples/fff_example/project.yml +1 -1
- data/plugins/fff/lib/fff.rb +30 -9
- data/plugins/fff/lib/fff_mock_generator.rb +142 -128
- data/plugins/fff/spec/fff_mock_header_generator_spec.rb +15 -0
- data/plugins/fff/spec/fff_mock_source_generator_spec.rb +14 -0
- data/plugins/fff/spec/spec_helper.rb +45 -0
- data/plugins/fff/src/fff_unity_helper.h +5 -0
- data/plugins/fff/vendor/fff/fakegen.rb +5 -4
- data/plugins/fff/vendor/fff/fff.h +4 -4
- data/plugins/gcov/config/defaults.yml +5 -0
- data/plugins/gcov/gcov.rake +16 -15
- data/plugins/gcov/lib/console_reportinator.rb +140 -20
- data/plugins/gcov/lib/gcov.rb +155 -60
- data/plugins/gcov/lib/gcov_constants.rb +4 -7
- data/plugins/gcov/lib/gcov_reportinator.rb +90 -0
- data/plugins/gcov/lib/gcov_types.rb +62 -1
- data/plugins/gcov/lib/gcovr_reportinator.rb +255 -213
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +122 -44
- data/plugins/module_generator/Rakefile +4 -4
- data/plugins/module_generator/config/module_generator.yml +0 -1
- data/plugins/module_generator/example/project.yml +1 -1
- data/plugins/module_generator/lib/module_generator.rb +117 -87
- data/plugins/module_generator/lib/module_generator_options.rb +150 -0
- data/plugins/module_generator/lib/module_generator_project.rb +45 -0
- data/plugins/module_generator/lib/module_generator_request.rb +83 -0
- data/plugins/module_generator/lib/module_generator_test_file.rb +68 -0
- data/plugins/module_generator/lib/module_generator_unity.rb +24 -0
- data/plugins/module_generator/module_generator.rake +24 -46
- data/plugins/report_build_warnings_log/config/defaults.yml +4 -1
- data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +47 -55
- data/plugins/report_build_warnings_log/lib/warning_collector.rb +140 -0
- data/plugins/report_build_warnings_log/lib/warning_reports.rb +135 -0
- data/plugins/report_tests_gtestlike_stdout/assets/test_results.template +3 -0
- data/{spec/units/configurator_builder_spec.rb → plugins/report_tests_gtestlike_stdout/config/defaults.yml} +6 -10
- data/plugins/report_tests_gtestlike_stdout/lib/gtestlike_report.rb +168 -0
- data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +25 -1
- data/plugins/report_tests_ide_stdout/assets/test_results.template +50 -0
- data/plugins/report_tests_ide_stdout/config/defaults.yml +13 -0
- data/plugins/report_tests_ide_stdout/lib/ide_report_lines.rb +103 -0
- data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +12 -4
- data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +33 -51
- data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +286 -295
- data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +22 -35
- data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +91 -133
- data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +72 -86
- data/plugins/report_tests_log_factory/lib/tests_reporter.rb +31 -12
- data/plugins/report_tests_pretty_stdout/assets/{template.erb → test_results.template} +8 -8
- data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +18 -48
- data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +13 -2
- data/plugins/sanitize/config/defaults.yml +44 -0
- data/plugins/sanitize/config/defaults_sanitize.rb +20 -0
- data/plugins/sanitize/lib/sanitize.rb +174 -0
- data/plugins/sanitize/lib/sanitize_config.rb +110 -0
- data/plugins/sanitize/lib/sanitize_constants.rb +13 -0
- data/plugins/sanitize/lib/sanitize_findings.rb +85 -0
- data/plugins/sanitize/lib/sanitize_records.rb +115 -0
- data/plugins/sanitize/lib/sanitize_reports.rb +135 -0
- data/plugins/sanitize/sanitize.rake +108 -0
- data/plugins/valgrind/config/defaults.yml +7 -1
- data/plugins/valgrind/config/defaults_valgrind.rb +6 -1
- data/plugins/valgrind/lib/valgrind.rb +202 -39
- data/plugins/valgrind/lib/valgrind_constants.rb +4 -0
- data/plugins/valgrind/lib/valgrind_report.rb +52 -0
- data/plugins/valgrind/valgrind.rake +37 -15
- data/site-local/404.html +239 -19
- data/site-local/assets/javascripts/{bundle.d7400e89.min.js → bundle.c21346df.min.js} +3 -3
- data/site-local/assets/javascripts/{bundle.d7400e89.min.js.map → bundle.c21346df.min.js.map} +2 -2
- data/site-local/assets/javascripts/workers/{search.2c215733.min.js → search.a7633da7.min.js} +2 -2
- data/site-local/assets/javascripts/workers/{search.2c215733.min.js.map → search.a7633da7.min.js.map} +1 -1
- data/site-local/assets/stylesheets/main.57a0d79d.min.css +6 -0
- data/site-local/assets/stylesheets/main.57a0d79d.min.css.map +1 -0
- data/site-local/assets/stylesheets/palette.fb2fffe2.min.css +4 -0
- data/site-local/assets/stylesheets/palette.fb2fffe2.min.css.map +1 -0
- data/site-local/configuration/environment-vars.html +239 -19
- data/site-local/configuration/global-collections.html +239 -24
- data/site-local/configuration/index.html +240 -20
- data/site-local/configuration/loading.html +251 -27
- data/site-local/configuration/mixins.html +247 -26
- data/site-local/configuration/parallel-builds.html +239 -19
- data/site-local/configuration/project-file.html +268 -37
- data/site-local/configuration/reference/cexception.html +246 -25
- data/site-local/configuration/reference/cmock.html +272 -19
- data/site-local/configuration/reference/defines.html +263 -34
- data/site-local/configuration/reference/environment.html +246 -26
- data/site-local/configuration/reference/extension.html +352 -21
- data/site-local/configuration/reference/files.html +258 -24
- data/site-local/configuration/reference/flags.html +268 -31
- data/site-local/configuration/reference/index.html +239 -19
- data/site-local/configuration/reference/libraries.html +239 -19
- data/site-local/configuration/reference/mixins.html +239 -19
- data/site-local/configuration/reference/partials.html +240 -24
- data/site-local/configuration/reference/paths.html +269 -23
- data/site-local/configuration/reference/plugins.html +239 -19
- data/site-local/configuration/reference/project.html +292 -29
- data/site-local/configuration/reference/release-build.html +247 -19
- data/site-local/configuration/reference/test-build.html +281 -29
- data/site-local/configuration/reference/test-runner.html +279 -22
- data/site-local/configuration/reference/tools.html +257 -31
- data/site-local/configuration/reference/unity.html +271 -20
- data/site-local/configuration/which-ceedling.html +239 -19
- data/site-local/development/index.html +245 -19
- data/site-local/development/plugins/configuration.html +260 -22
- data/site-local/development/plugins/index.html +258 -20
- data/site-local/development/plugins/plugin-subclass.html +912 -174
- data/site-local/development/plugins/rake-tasks.html +269 -21
- data/site-local/development/releases.html +4759 -0
- data/site-local/development/workflow.html +1023 -58
- data/site-local/getting-started/builds.html +4593 -0
- data/site-local/getting-started/command-line.html +409 -39
- data/site-local/getting-started/example-projects/cipher-quest.html +239 -19
- data/site-local/getting-started/example-projects/index.html +240 -20
- data/site-local/getting-started/example-projects/temp-sensor.html +239 -19
- data/site-local/getting-started/example-projects/wondrous-forest.html +239 -19
- data/site-local/getting-started/index.html +246 -19
- data/site-local/getting-started/installation.html +249 -27
- data/site-local/getting-started/quick-start.html +242 -20
- data/site-local/help.html +246 -19
- data/site-local/index.html +284 -27
- data/site-local/overview/build-system.html +240 -20
- data/site-local/overview/index.html +239 -19
- data/site-local/overview/test-environments.html +248 -19
- data/site-local/overview/tools-and-frameworks.html +239 -19
- data/site-local/plugins/beep.html +242 -19
- data/site-local/plugins/bullseye/index.html +5068 -0
- data/site-local/plugins/bullseye/licensing.html +4826 -0
- data/site-local/plugins/command-hooks.html +258 -34
- data/site-local/plugins/compile-commands-json-db.html +247 -22
- data/site-local/plugins/cppcheck.html +1073 -268
- data/site-local/plugins/dependencies.html +927 -249
- data/site-local/plugins/fff.html +288 -21
- data/site-local/plugins/gcov/examples.html +243 -20
- data/site-local/plugins/gcov/gcovr.html +559 -71
- data/site-local/plugins/gcov/index.html +242 -19
- data/site-local/plugins/gcov/overview.html +253 -23
- data/site-local/plugins/gcov/reportgenerator.html +380 -46
- data/site-local/plugins/gcov/reporting.html +339 -105
- data/site-local/plugins/gcov/setup.html +244 -20
- data/site-local/plugins/gcov/tool-versions.html +292 -24
- data/site-local/plugins/gcov/troubleshooting.html +265 -42
- data/site-local/plugins/index.html +285 -41
- data/site-local/plugins/module-generator.html +770 -200
- data/site-local/plugins/report-build-warnings-log.html +569 -38
- data/site-local/plugins/report-tests-gtestlike-stdout.html +458 -89
- data/site-local/plugins/report-tests-ide-stdout.html +645 -56
- data/site-local/plugins/report-tests-log-factory.html +364 -111
- data/site-local/plugins/report-tests-pretty-stdout.html +243 -20
- data/site-local/plugins/report-tests-raw-output-log.html +242 -19
- data/site-local/plugins/report-tests-teamcity-stdout.html +252 -29
- data/site-local/plugins/sanitize.html +5322 -0
- data/site-local/plugins/valgrind.html +414 -34
- data/site-local/{plugins/bullseye.html → project/index.html} +288 -222
- data/site-local/project/release-history.html +242 -22
- data/site-local/project/sbom.html +4712 -0
- data/site-local/project/upgrade.html +241 -21
- data/site-local/reference/build-directives.html +248 -19
- data/site-local/reference/command-line.html +364 -21
- data/site-local/reference/environment-vars.html +239 -19
- data/site-local/reference/gcov-plugin.html +483 -23
- data/site-local/reference/global-collections.html +240 -20
- data/site-local/reference/index.html +239 -19
- data/site-local/reference/partials-macros.html +249 -19
- data/site-local/reference/project-configuration.html +239 -19
- data/site-local/sitemap.xml.gz +0 -0
- data/{docs/mkdocs/snapshot/assets → site-local/snapshot/assets/features}/project.yml +4 -1
- data/site-local/snapshot/examples/cipher_quest/index.html +249 -29
- data/site-local/snapshot/examples/temp_sensor/index.html +241 -21
- data/site-local/snapshot/examples/wondrous_forest/index.html +256 -30
- data/site-local/snapshot/plugins/bullseye/config/defaults.yml +24 -0
- data/site-local/snapshot/plugins/bullseye/config/defaults_bullseye.rb +182 -0
- data/site-local/snapshot/plugins/gcov/config/defaults.yml +5 -0
- data/site-local/testing-guide/build-directives.html +331 -35
- data/site-local/testing-guide/conventions.html +671 -160
- data/site-local/testing-guide/frameworks.html +244 -24
- data/site-local/testing-guide/index.html +239 -26
- data/site-local/testing-guide/partials/configuration.html +241 -21
- data/site-local/testing-guide/partials/conventions.html +308 -23
- data/site-local/testing-guide/partials/directives.html +452 -58
- data/site-local/testing-guide/partials/example.html +247 -27
- data/site-local/testing-guide/partials/index.html +246 -19
- data/site-local/testing-guide/partials/overview.html +239 -19
- data/site-local/testing-guide/partials/variables.html +244 -24
- data/site-local/testing-guide/test-cases.html +246 -26
- data/site-local/testing-guide/test-sample.html +245 -25
- data/site-local/testing-guide/test-suite-anatomy.html +239 -19
- data/spec/integration/actionator_file_operations_spec.rb +287 -0
- data/spec/integration/analysis_tool_output_spec.rb +204 -0
- data/spec/{units/c_extractor/c_extractor_integration_spec.rb → integration/c_extractor_composition_spec.rb} +196 -17
- data/spec/integration/command_hooks_plugin_spec.rb +152 -0
- data/spec/integration/compile_commands_json_db_spec.rb +76 -0
- data/spec/integration/configurator_pipeline_spec.rb +190 -0
- data/spec/integration/configurator_plugins_spec.rb +122 -0
- data/spec/integration/configurator_validation_spec.rb +98 -0
- data/spec/integration/dependencies/dependency_tracker_cache_hardening_spec.rb +396 -0
- data/spec/integration/dependencies/dependency_tracker_core_spec.rb +284 -0
- data/spec/integration/dependencies/dependency_tracker_diagnose_spec.rb +224 -0
- data/spec/integration/dependencies/dependency_tracker_filename_handling_spec.rb +118 -0
- data/spec/integration/dependencies/dependency_tracker_gcc_deps_spec.rb +199 -0
- data/spec/integration/dependencies/dependency_tracker_pruning_spec.rb +167 -0
- data/spec/integration/dependencies_plugin_spec.rb +473 -0
- data/spec/integration/erb_dependency_removed_spec.rb +167 -0
- data/spec/integration/includes_extraction_spec.rb +612 -0
- data/spec/integration/mixin_loading_spec.rb +414 -0
- data/spec/integration/module_generator_spec.rb +436 -0
- data/spec/integration/partials_fallback_preprocessing_spec.rb +316 -0
- data/spec/integration/partials_header_composition_spec.rb +889 -0
- data/spec/integration/partials_module_resolution_spec.rb +372 -0
- data/spec/integration/partials_symbol_linkage_spec.rb +371 -0
- data/spec/integration/preprocessing_transient_io_retry_spec.rb +135 -0
- data/spec/integration/quote_include_isolator_spec.rb +167 -0
- data/spec/integration/rake_task_registry_plugins_spec.rb +95 -0
- data/spec/integration/report_build_warnings_log_spec.rb +170 -0
- data/spec/integration/report_tests_log_factory_spec.rb +100 -0
- data/spec/integration/sanitizer_exclusions_spec.rb +126 -0
- data/spec/integration/system_harness_sanitizers_spec.rb +104 -0
- data/spec/integration/test_build_parallel_barrier_spec.rb +89 -0
- data/spec/integration/test_executable_manifest_spec.rb +118 -0
- data/spec/integration/test_includes_extractinator_spec.rb +293 -0
- data/spec/integration/tool_executor_spec.rb +224 -0
- data/spec/integration/tool_validator_spec.rb +133 -0
- data/spec/integration/vendor_copy_transient_io_retry_spec.rb +178 -0
- data/spec/manual/stress_test.rb +1 -1
- data/spec/support/config_yaml_helper.rb +17 -0
- data/spec/support/fixtures/sanitizer_reports/clang_asan_heap.txt +45 -0
- data/spec/support/fixtures/sanitizer_reports/clang_ubsan_shift.txt +5 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_heap.txt +47 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_leak.txt +10 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_segv.txt +6 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_ubsan_shift.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__all_pass.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__coverage_branches_only.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__coverage_functions_only.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__coverage_none.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__empty.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__gcov_context.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__mixed_all.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_matching.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_multiline.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_no_message.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_nonmatching.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_ignore_no_message.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_ignore_with_message.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__stdout_only.txt +6 -0
- data/spec/support/fixtures/templates/ide__all_pass.txt +10 -0
- data/spec/support/fixtures/templates/ide__coverage_branches_only.txt +10 -0
- data/spec/support/fixtures/templates/ide__coverage_functions_only.txt +10 -0
- data/spec/support/fixtures/templates/ide__coverage_none.txt +10 -0
- data/spec/support/fixtures/templates/ide__empty.txt +8 -0
- data/spec/support/fixtures/templates/ide__gcov_context.txt +28 -0
- data/spec/support/fixtures/templates/ide__mixed_all.txt +29 -0
- data/spec/support/fixtures/templates/ide__one_failure_matching.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_failure_multiline.txt +17 -0
- data/spec/support/fixtures/templates/ide__one_failure_no_message.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_failure_nonmatching.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_ignore_no_message.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_ignore_with_message.txt +15 -0
- data/spec/support/fixtures/templates/ide__stdout_only.txt +16 -0
- data/spec/support/fixtures/templates/pretty__all_pass.txt +8 -0
- data/spec/support/fixtures/templates/pretty__coverage_branches_only.txt +8 -0
- data/spec/support/fixtures/templates/pretty__coverage_functions_only.txt +8 -0
- data/spec/support/fixtures/templates/pretty__coverage_none.txt +8 -0
- data/spec/support/fixtures/templates/pretty__empty.txt +6 -0
- data/spec/support/fixtures/templates/pretty__gcov_context.txt +31 -0
- data/spec/support/fixtures/templates/pretty__mixed_all.txt +35 -0
- data/spec/support/fixtures/templates/pretty__one_failure_matching.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_failure_multiline.txt +17 -0
- data/spec/support/fixtures/templates/pretty__one_failure_no_message.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_failure_nonmatching.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_ignore_no_message.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_ignore_with_message.txt +15 -0
- data/spec/support/fixtures/templates/pretty__stdout_only.txt +15 -0
- data/spec/support/fixtures/valgrind_reports/sigsegv.log +51 -0
- data/spec/support/fixtures/valgrind_reports/sigsegv.xml +182 -0
- data/spec/support/include_guard_helper.rb +20 -0
- data/spec/support/integration/configurator_integration_helper.rb +162 -0
- data/spec/support/integration/dependency_tracker_integration_helper.rb +136 -0
- data/spec/support/integration/partials_generation_integration_helper.rb +726 -0
- data/spec/support/integration/spec_integration_helper.rb +285 -0
- data/spec/support/integration/test_includes_harness.rb +259 -0
- data/spec/support/integration/tool_executor_integration_helper.rb +55 -0
- data/spec/support/spec_helper.rb +41 -0
- data/spec/support/system/sanitizers/asan_ubsan.yml +82 -0
- data/spec/support/system/sanitizers/asan_ubsan_leaks.yml +57 -0
- data/spec/support/system/simplecov_boot.rb +66 -0
- data/spec/support/system/spec_system_helper.rb +376 -16
- data/spec/support/system/system_context.rb +181 -59
- data/spec/support/template_render_cases.rb +166 -0
- data/spec/system/bracket_path_handling_spec.rb +175 -0
- data/spec/system/build_output_mirroring_spec.rb +89 -0
- data/spec/system/build_recovery_spec.rb +382 -0
- data/spec/system/bullseye_deployment_spec.rb +102 -0
- data/spec/system/cli_surface_spec.rb +245 -0
- data/spec/system/command_hooks_spec.rb +117 -0
- data/spec/system/conditional_include_macro_visibility_spec.rb +32 -124
- data/spec/system/conditional_mock_includes_spec.rb +181 -0
- data/spec/system/cppcheck_deployment_spec.rb +26 -8
- data/spec/system/delta_builds_spec.rb +751 -0
- data/spec/system/deployment_as_gem_spec.rb +7 -0
- data/spec/system/deployment_as_vendor_spec.rb +29 -145
- data/spec/system/dumpconfig_spec.rb +137 -0
- data/spec/system/encoding_stress_spec.rb +7 -4
- data/spec/system/example_cipher_quest_spec.rb +25 -100
- data/spec/system/example_temp_sensor_spec.rb +30 -172
- data/spec/system/example_wondrous_forest_spec.rb +25 -62
- data/spec/system/extension_multiple_values_spec.rb +75 -0
- data/spec/system/files_paths_reporting_spec.rb +154 -0
- data/spec/system/gcov_deployment_spec.rb +72 -3
- data/spec/system/header_include_path_validation_spec.rb +222 -0
- data/spec/system/implicit_source_header_correspondence_disambiguation_spec.rb +100 -0
- data/spec/system/include_path_reconciliation_spec.rb +64 -0
- data/spec/system/mixin_ordering_spec.rb +30 -415
- data/spec/system/mocks_partials_configuration_validation_spec.rb +126 -0
- data/spec/system/parent_directory_reference_spec.rb +114 -0
- data/spec/system/partials_module_disambiguation_spec.rb +143 -0
- data/spec/system/pinned_thread_count_spec.rb +102 -0
- data/spec/system/plugin_delta_builds_spec.rb +179 -0
- data/spec/system/preprocessing_encoding_spec.rb +87 -4
- data/spec/system/preprocessing_fallback_conditionals_spec.rb +19 -25
- data/spec/system/preprocessing_parameterized_tests_spec.rb +2 -2
- data/spec/system/rake_release_task_path_disambiguation_spec.rb +97 -0
- data/spec/system/rake_test_task_path_disambiguation_spec.rb +118 -0
- data/spec/system/report_and_tooling_plugins_spec.rb +327 -0
- data/spec/system/ruby_replacement_spec.rb +1 -1
- data/spec/system/same_named_modules_spec.rb +115 -0
- data/spec/system/sanitize_deployment_spec.rb +64 -0
- data/spec/system/shuffle_tests_spec.rb +139 -0
- data/spec/system/sibling_header_collision_spec.rb +620 -0
- data/spec/system/subdir_include_preservation_spec.rb +63 -0
- data/spec/system/support/bullseye_common_test_cases.rb +369 -0
- data/spec/system/support/bullseye_helpers.rb +70 -0
- data/spec/system/support/common_test_cases.rb +167 -43
- data/spec/system/support/cppcheck_common_test_cases.rb +80 -0
- data/spec/system/support/cppcheck_helpers.rb +10 -8
- data/spec/system/support/gcov_common_test_cases.rb +173 -37
- data/spec/system/support/gcov_helpers.rb +3 -3
- data/spec/system/support/gcov_partials_test_cases.rb +48 -2
- data/spec/system/support/sanitize_common_test_cases.rb +222 -0
- data/spec/system/support/sanitize_helpers.rb +27 -0
- data/spec/system/support/valgrind_common_test_cases.rb +116 -16
- data/spec/system/support/valgrind_helpers.rb +3 -4
- data/spec/system/test_pipeline_stop_points_spec.rb +160 -0
- data/spec/system/test_runner_system_include_spec.rb +19 -41
- data/spec/system/test_source_file_directive_spec.rb +235 -0
- data/spec/system/upgrade_as_vendor_spec.rb +25 -46
- data/spec/system/valgrind_deployment_spec.rb +41 -0
- data/spec/units/batchinator_spec.rb +314 -0
- data/spec/units/bin/actionator_spec.rb +412 -0
- data/spec/units/bin/app_cfg_spec.rb +100 -0
- data/spec/units/bin/cli_handler_spec.rb +205 -0
- data/spec/units/bin/cli_helper_spec.rb +248 -10
- data/spec/units/bin/cli_options_transform_spec.rb +49 -0
- data/spec/units/bin/composinator_spec.rb +236 -0
- data/spec/units/bin/{projectinator_mixin_spec.rb → mixin_resolvinator_spec.rb} +122 -83
- data/spec/units/bin/mixin_standardizer_spec.rb +4 -3
- data/spec/units/bin/mixinator_spec.rb +58 -22
- data/spec/units/bin/path_validator_spec.rb +112 -0
- data/spec/units/bin/projectinator_spec.rb +223 -0
- data/spec/units/bin/rake_patches_spec.rb +52 -0
- data/spec/units/bin/recursive_merger_spec.rb +22 -0
- data/spec/units/bin/versionator_spec.rb +104 -0
- data/spec/units/c_extractor/c_extractor_code_text_spec.rb +4 -4
- data/spec/units/c_extractor/c_extractor_declarations_spec.rb +70 -0
- data/spec/units/c_extractor/c_extractor_functions_spec.rb +75 -1
- data/spec/units/c_extractor/c_extractor_preprocessing_spec.rb +158 -0
- data/spec/units/c_extractor/c_extractor_spec.rb +236 -6
- data/spec/units/ceedling/templateinator_golden_spec.rb +84 -0
- data/spec/units/ceedling/templateinator_spec.rb +188 -0
- data/spec/units/config/configurator_builder_spec.rb +444 -0
- data/spec/units/config/configurator_plugins_spec.rb +160 -0
- data/spec/units/config/configurator_setup_spec.rb +724 -6
- data/spec/units/config/configurator_spec.rb +961 -0
- data/spec/units/config/configurator_validator_spec.rb +259 -0
- data/spec/units/config/line_marker_suppressors_spec.rb +89 -0
- data/spec/units/config_matchinator_spec.rb +103 -0
- data/spec/units/defineinator_spec.rb +158 -0
- data/spec/units/dependencies/dependency_cache_store_spec.rb +364 -0
- data/spec/units/dependencies/dependency_debug_tree_spec.rb +189 -0
- data/spec/units/dependencies/dependency_differ_spec.rb +139 -0
- data/spec/units/dependencies/dependency_hasher_spec.rb +141 -0
- data/spec/units/dependencies/dependency_path_normalizer_spec.rb +111 -0
- data/spec/units/dependencies/dependency_tracker_spec.rb +905 -0
- data/spec/units/dependencies/dependinator_spec.rb +99 -0
- data/spec/units/dependencies/gcc_dependency_parser_spec.rb +152 -0
- data/spec/units/encodinator_spec.rb +92 -0
- data/spec/units/file_finder_helper_spec.rb +99 -15
- data/spec/units/file_finder_spec.rb +495 -0
- data/spec/units/file_path_collection_utils_spec.rb +9 -0
- data/spec/units/file_path_utils_spec.rb +736 -0
- data/spec/units/file_wrapper_spec.rb +486 -0
- data/spec/units/filename_extension_spec.rb +120 -0
- data/spec/units/flaginator_spec.rb +114 -0
- data/spec/units/generators/generator_helper_spec.rb +113 -0
- data/spec/units/generators/generator_mocks_spec.rb +131 -0
- data/spec/units/generators/generator_partials_spec.rb +336 -160
- data/spec/units/generators/generator_spec.rb +317 -0
- data/spec/units/generators/generator_test_results_backtrace_spec.rb +169 -9
- data/spec/units/generators/generator_test_results_sanity_checker_spec.rb +14 -6
- data/spec/units/generators/generator_test_results_spec.rb +65 -8
- data/spec/units/generators/generator_test_runner_spec.rb +1 -1
- data/spec/units/includes/include_factory_spec.rb +53 -0
- data/spec/units/includes/include_pathinator_spec.rb +269 -0
- data/spec/units/includes/include_spec.rb +8 -4
- data/spec/units/includes/includes_spec.rb +326 -18
- data/spec/units/mock_locator_spec.rb +74 -0
- data/spec/units/parsing_parcels_spec.rb +65 -0
- data/spec/units/partials/partializer_config_spec.rb +284 -18
- data/spec/units/partials/partializer_helper_spec.rb +122 -0
- data/spec/units/partials/partializer_spec.rb +346 -71
- data/spec/units/partials/partializer_utils_spec.rb +4 -4
- data/spec/units/partials_manager_spec.rb +539 -0
- data/spec/units/path_matcher_spec.rb +193 -0
- data/spec/units/path_mirror_spec.rb +103 -0
- data/spec/units/plugin_manager_spec.rb +77 -0
- data/spec/units/plugin_reportinator_spec.rb +78 -3
- data/spec/units/plugins/bullseye_spec.rb +1068 -0
- data/spec/units/plugins/command_hooks_spec.rb +157 -0
- data/spec/units/plugins/compile_commands_json_db_spec.rb +145 -0
- data/spec/units/plugins/console_reportinator_spec.rb +370 -0
- data/spec/units/plugins/cppcheck_spec.rb +330 -4
- data/spec/units/plugins/cppunit_tests_reporter_spec.rb +118 -0
- data/spec/units/plugins/dependencies_spec.rb +295 -0
- data/spec/units/plugins/dependency_commands_spec.rb +83 -0
- data/spec/units/plugins/dependency_environment_spec.rb +64 -0
- data/spec/units/plugins/dependency_spec_spec.rb +170 -0
- data/spec/units/plugins/gcov_reportinator_spec.rb +272 -0
- data/spec/units/plugins/gcov_spec.rb +521 -0
- data/spec/units/plugins/gcovr_reportinator_spec.rb +795 -0
- data/spec/units/plugins/gtestlike_report_spec.rb +363 -0
- data/spec/units/plugins/html_tests_reporter_spec.rb +158 -0
- data/spec/units/plugins/ide_report_lines_spec.rb +229 -0
- data/spec/units/plugins/json_tests_reporter_spec.rb +87 -0
- data/spec/units/plugins/junit_tests_reporter_spec.rb +237 -0
- data/spec/units/plugins/module_generator_options_spec.rb +185 -0
- data/spec/units/plugins/module_generator_project_spec.rb +55 -0
- data/spec/units/plugins/module_generator_request_spec.rb +107 -0
- data/spec/units/plugins/module_generator_spec.rb +214 -0
- data/spec/units/plugins/module_generator_test_file_spec.rb +102 -0
- data/spec/units/plugins/module_generator_unity_spec.rb +37 -0
- data/spec/units/plugins/report_build_warnings_log_spec.rb +199 -0
- data/spec/units/plugins/report_log_writer_plugin_spec.rb +94 -0
- data/spec/units/plugins/report_tests_gtestlike_stdout_spec.rb +274 -0
- data/spec/units/plugins/report_tests_ide_stdout_spec.rb +140 -0
- data/spec/units/plugins/report_tests_log_factory_spec.rb +210 -0
- data/spec/units/plugins/report_tests_pretty_stdout_spec.rb +83 -0
- data/spec/units/plugins/report_tests_raw_output_log_spec.rb +98 -0
- data/spec/units/plugins/report_tests_stdout_plugin_spec.rb +145 -0
- data/spec/units/plugins/report_tests_teamcity_stdout_spec.rb +121 -0
- data/spec/units/plugins/reportgenerator_reportinator_spec.rb +410 -0
- data/spec/units/plugins/sanitize_config_spec.rb +119 -0
- data/spec/units/plugins/sanitize_findings_spec.rb +69 -0
- data/spec/units/plugins/sanitize_records_spec.rb +114 -0
- data/spec/units/plugins/sanitize_reports_spec.rb +84 -0
- data/spec/units/plugins/sanitize_spec.rb +300 -0
- data/spec/units/plugins/tests_reporter_spec.rb +89 -0
- data/spec/units/plugins/valgrind_spec.rb +560 -0
- data/spec/units/plugins/warning_collector_spec.rb +185 -0
- data/spec/units/plugins/warning_reports_spec.rb +150 -0
- data/spec/units/preprocess/c_comment_scanner_spec.rb +17 -17
- data/spec/units/preprocess/c_preprocessor_conditionals_spec.rb +94 -0
- data/spec/units/preprocess/preprocessinator_bare_includes_extractor_spec.rb +73 -0
- data/spec/units/preprocess/preprocessinator_code_finder_spec.rb +35 -16
- data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +129 -48
- data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +292 -9
- data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +294 -16
- data/spec/units/preprocess/preprocessinator_line_marker_includes_extractor_spec.rb +356 -6
- data/spec/units/preprocess/preprocessinator_reconstructor_spec.rb +58 -4
- data/spec/units/preprocess/preprocessinator_spec.rb +693 -5
- data/spec/units/quote_include_isolator_spec.rb +176 -0
- data/spec/units/rake_app/rake_invocation_tracker_spec.rb +94 -0
- data/spec/units/rake_app/rake_task_registry_spec.rb +263 -0
- data/spec/units/rake_app/rake_utils_spec.rb +54 -0
- data/spec/units/rake_app/rake_wrapper_spec.rb +64 -0
- data/spec/units/rake_app/rakefile_component_resolver_spec.rb +182 -0
- data/spec/units/rake_app/test_task_name_spec.rb +47 -0
- data/spec/units/release_build_executor_spec.rb +404 -0
- data/spec/units/release_build_planner_spec.rb +144 -0
- data/spec/units/release_invoker_spec.rb +127 -0
- data/spec/units/reportinator_spec.rb +35 -0
- data/spec/units/ruby_expandinator_spec.rb +36 -0
- data/spec/units/standin_headerinator_spec.rb +168 -0
- data/spec/units/system_wrapper_spec.rb +16 -0
- data/spec/units/test_build_executor_spec.rb +1693 -8
- data/spec/units/test_build_planner_spec.rb +878 -0
- data/spec/units/test_build_setup_spec.rb +583 -0
- data/spec/units/test_context_extractor_spec.rb +51 -3
- data/spec/units/test_file_preprocessinator_spec.rb +206 -0
- data/spec/units/test_includes_extractinator_spec.rb +764 -0
- data/spec/units/test_invoker/objects_wiring_spec.rb +31 -0
- data/spec/units/test_invoker_spec.rb +147 -0
- data/spec/units/test_invoker_types_spec.rb +182 -0
- data/spec/units/test_pipeline_helpers_spec.rb +100 -0
- data/spec/units/test_pipeline_manager_spec.rb +415 -0
- data/spec/units/test_runner_generatinator_spec.rb +215 -0
- data/spec/units/test_runner_manager_spec.rb +70 -0
- data/spec/units/test_search_paths_spec.rb +84 -0
- data/spec/units/test_source_file_directive_resolver_spec.rb +239 -0
- data/spec/units/tool_executor_helper_spec.rb +1 -1
- data/spec/units/tool_executor_spec.rb +571 -2
- data/spec/units/tool_validator_spec.rb +303 -24
- data/spec/units/version_spec.rb +74 -0
- data/spec/units/yaml_wrapper_spec.rb +4 -1
- data/vendor/cmock/docs/CMock_Summary.md +11 -0
- data/vendor/cmock/lib/cmock_config.rb +1 -0
- data/vendor/cmock/lib/cmock_generator.rb +5 -1
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +31 -0
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +4 -4
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +8 -2
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +2 -2
- data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +7 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +4 -0
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +9 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +21 -7
- data/vendor/cmock/vendor/unity/test/Makefile +9 -2
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +1 -0
- data/vendor/cmock/vendor/unity/test/spec/generate_module_naming_spec.rb +38 -0
- data/vendor/cmock/vendor/unity/test/testdata/spi/MockConfig.h +19 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithSameNamedMocks.c +42 -0
- data/vendor/cmock/vendor/unity/test/testdata/uart/MockConfig.h +19 -0
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +78 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_test_summary.rb +58 -0
- data/vendor/diy/lib/diy/factory.rb +5 -4
- data/vendor/diy/lib/diy.rb +5 -4
- data/vendor/diy/sample_code/car.rb +5 -4
- data/vendor/diy/sample_code/chassis.rb +5 -4
- data/vendor/diy/sample_code/diy_example.rb +5 -4
- data/vendor/diy/sample_code/engine.rb +5 -4
- data/vendor/diy/sample_code/objects.yml +5 -4
- data/vendor/diy/test/constructor.rb +5 -4
- data/vendor/diy/test/diy_test.rb +5 -4
- data/vendor/diy/test/factory_test.rb +5 -4
- data/vendor/diy/test/files/broken_construction.yml +5 -4
- data/vendor/diy/test/files/cat/cat.rb +5 -4
- data/vendor/diy/test/files/cat/extra_conflict.yml +5 -4
- data/vendor/diy/test/files/cat/heritage.rb +5 -4
- data/vendor/diy/test/files/cat/needs_input.yml +5 -4
- data/vendor/diy/test/files/cat/the_cat_lineage.rb +5 -4
- data/vendor/diy/test/files/dog/dog_model.rb +5 -4
- data/vendor/diy/test/files/dog/dog_presenter.rb +5 -4
- data/vendor/diy/test/files/dog/dog_view.rb +5 -4
- data/vendor/diy/test/files/dog/file_resolver.rb +5 -4
- data/vendor/diy/test/files/dog/other_thing.rb +5 -4
- data/vendor/diy/test/files/dog/simple.yml +5 -4
- data/vendor/diy/test/files/donkey/foo/bar/qux.rb +5 -4
- data/vendor/diy/test/files/donkey/foo.rb +5 -4
- data/vendor/diy/test/files/factory/beef.rb +5 -4
- data/vendor/diy/test/files/factory/dog.rb +5 -4
- data/vendor/diy/test/files/factory/factory.yml +5 -4
- data/vendor/diy/test/files/factory/farm/llama.rb +5 -4
- data/vendor/diy/test/files/factory/farm/pork.rb +5 -4
- data/vendor/diy/test/files/factory/kitten.rb +5 -4
- data/vendor/diy/test/files/fud/objects.yml +5 -4
- data/vendor/diy/test/files/fud/toy.rb +5 -4
- data/vendor/diy/test/files/functions/attached_things_builder.rb +5 -4
- data/vendor/diy/test/files/functions/invalid_method.yml +5 -4
- data/vendor/diy/test/files/functions/method_extractor.rb +5 -4
- data/vendor/diy/test/files/functions/nonsingleton_objects.yml +5 -4
- data/vendor/diy/test/files/functions/objects.yml +5 -4
- data/vendor/diy/test/files/functions/thing.rb +5 -4
- data/vendor/diy/test/files/functions/thing_builder.rb +5 -4
- data/vendor/diy/test/files/functions/things_builder.rb +5 -4
- data/vendor/diy/test/files/gnu/objects.yml +5 -4
- data/vendor/diy/test/files/gnu/thinger.rb +5 -4
- data/vendor/diy/test/files/goat/base.rb +5 -4
- data/vendor/diy/test/files/goat/can.rb +5 -4
- data/vendor/diy/test/files/goat/goat.rb +5 -4
- data/vendor/diy/test/files/goat/objects.yml +5 -4
- data/vendor/diy/test/files/goat/paper.rb +5 -4
- data/vendor/diy/test/files/goat/plane.rb +5 -4
- data/vendor/diy/test/files/goat/shirt.rb +5 -4
- data/vendor/diy/test/files/goat/wings.rb +5 -4
- data/vendor/diy/test/files/horse/holder_thing.rb +5 -4
- data/vendor/diy/test/files/horse/objects.yml +5 -4
- data/vendor/diy/test/files/namespace/animal/bird.rb +5 -4
- data/vendor/diy/test/files/namespace/animal/cat.rb +5 -4
- data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +5 -4
- data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +5 -4
- data/vendor/diy/test/files/namespace/bad_module_specified.yml +5 -4
- data/vendor/diy/test/files/namespace/class_name_combine.yml +5 -4
- data/vendor/diy/test/files/namespace/no_module_specified.yml +5 -4
- data/vendor/diy/test/files/namespace/objects.yml +5 -4
- data/vendor/diy/test/files/namespace/road.rb +5 -4
- data/vendor/diy/test/files/namespace/sky.rb +5 -4
- data/vendor/diy/test/files/namespace/subcontext.yml +5 -4
- data/vendor/diy/test/files/non_singleton/air.rb +5 -4
- data/vendor/diy/test/files/non_singleton/fat_cat.rb +5 -4
- data/vendor/diy/test/files/non_singleton/objects.yml +5 -4
- data/vendor/diy/test/files/non_singleton/pig.rb +5 -4
- data/vendor/diy/test/files/non_singleton/thread_spinner.rb +5 -4
- data/vendor/diy/test/files/non_singleton/tick.rb +5 -4
- data/vendor/diy/test/files/non_singleton/yard.rb +5 -4
- data/vendor/diy/test/files/yak/core_model.rb +5 -4
- data/vendor/diy/test/files/yak/core_presenter.rb +5 -4
- data/vendor/diy/test/files/yak/core_view.rb +5 -4
- data/vendor/diy/test/files/yak/data_source.rb +5 -4
- data/vendor/diy/test/files/yak/fringe_model.rb +5 -4
- data/vendor/diy/test/files/yak/fringe_presenter.rb +5 -4
- data/vendor/diy/test/files/yak/fringe_view.rb +5 -4
- data/vendor/diy/test/files/yak/giant_squid.rb +5 -4
- data/vendor/diy/test/files/yak/krill.rb +5 -4
- data/vendor/diy/test/files/yak/my_objects.yml +5 -4
- data/vendor/diy/test/files/yak/sub_sub_context_test.yml +5 -4
- data/vendor/diy/test/test_helper.rb +5 -4
- data/vendor/unity/auto/generate_module.rb +4 -4
- data/vendor/unity/auto/generate_test_runner.rb +5 -1
- data/vendor/unity/docs/UnityHelperScriptsGuide.md +9 -0
- data/vendor/unity/test/spec/generate_module_naming_spec.rb +38 -0
- data/vendor/unity/test/testdata/spi/MockConfig.h +19 -0
- data/vendor/unity/test/testdata/testRunnerGeneratorWithSameNamedMocks.c +42 -0
- data/vendor/unity/test/testdata/uart/MockConfig.h +19 -0
- data/vendor/unity/test/tests/test_generate_test_runner.rb +29 -0
- metadata +783 -295
- data/assets/tests_with_fallback_conditionals/src/conditional_module.c +0 -18
- data/bin/actions_wrapper.rb +0 -51
- data/docs/mkdocs/assets/images/ceedling-logo-circle.png +0 -0
- data/docs/mkdocs/assets/images/ceedling.svg +0 -90
- data/docs/mkdocs/assets/images/favicon.png +0 -0
- data/docs/mkdocs/assets/stylesheets/admonitions.css +0 -152
- data/docs/mkdocs/assets/stylesheets/fixes-local.css +0 -15
- data/docs/mkdocs/assets/stylesheets/styling.css +0 -102
- data/docs/mkdocs/configuration/environment-vars.md +0 -14
- data/docs/mkdocs/configuration/global-collections.md +0 -156
- data/docs/mkdocs/configuration/index.md +0 -75
- data/docs/mkdocs/configuration/loading.md +0 -89
- data/docs/mkdocs/configuration/mixins.md +0 -607
- data/docs/mkdocs/configuration/parallel-builds.md +0 -97
- data/docs/mkdocs/configuration/project-file.md +0 -216
- data/docs/mkdocs/configuration/reference/cexception.md +0 -35
- data/docs/mkdocs/configuration/reference/cmock.md +0 -106
- data/docs/mkdocs/configuration/reference/defines.md +0 -352
- data/docs/mkdocs/configuration/reference/environment.md +0 -55
- data/docs/mkdocs/configuration/reference/extension.md +0 -63
- data/docs/mkdocs/configuration/reference/files.md +0 -154
- data/docs/mkdocs/configuration/reference/flags.md +0 -296
- data/docs/mkdocs/configuration/reference/index.md +0 -176
- data/docs/mkdocs/configuration/reference/libraries.md +0 -82
- data/docs/mkdocs/configuration/reference/mixins.md +0 -24
- data/docs/mkdocs/configuration/reference/partials.md +0 -38
- data/docs/mkdocs/configuration/reference/paths.md +0 -276
- data/docs/mkdocs/configuration/reference/plugins.md +0 -60
- data/docs/mkdocs/configuration/reference/project.md +0 -333
- data/docs/mkdocs/configuration/reference/release-build.md +0 -62
- data/docs/mkdocs/configuration/reference/test-build.md +0 -55
- data/docs/mkdocs/configuration/reference/test-runner.md +0 -61
- data/docs/mkdocs/configuration/reference/tools.md +0 -457
- data/docs/mkdocs/configuration/reference/unity.md +0 -49
- data/docs/mkdocs/configuration/which-ceedling.md +0 -77
- data/docs/mkdocs/development/index.md +0 -61
- data/docs/mkdocs/development/plugins/configuration.md +0 -164
- data/docs/mkdocs/development/plugins/index.md +0 -84
- data/docs/mkdocs/development/plugins/plugin-subclass.md +0 -513
- data/docs/mkdocs/development/plugins/rake-tasks.md +0 -54
- data/docs/mkdocs/development/workflow.md +0 -284
- data/docs/mkdocs/getting-started/command-line.md +0 -477
- data/docs/mkdocs/getting-started/example-projects/cipher-quest.md +0 -65
- data/docs/mkdocs/getting-started/example-projects/index.md +0 -49
- data/docs/mkdocs/getting-started/example-projects/temp-sensor.md +0 -60
- data/docs/mkdocs/getting-started/example-projects/wondrous-forest.md +0 -45
- data/docs/mkdocs/getting-started/index.md +0 -41
- data/docs/mkdocs/getting-started/installation.md +0 -179
- data/docs/mkdocs/getting-started/quick-start.md +0 -86
- data/docs/mkdocs/help.md +0 -49
- data/docs/mkdocs/index.md +0 -222
- data/docs/mkdocs/overview/build-system.md +0 -115
- data/docs/mkdocs/overview/index.md +0 -29
- data/docs/mkdocs/overview/test-environments.md +0 -33
- data/docs/mkdocs/overview/tools-and-frameworks.md +0 -115
- data/docs/mkdocs/plugins/beep.md +0 -134
- data/docs/mkdocs/plugins/bullseye.md +0 -83
- data/docs/mkdocs/plugins/command-hooks.md +0 -268
- data/docs/mkdocs/plugins/compile-commands-json-db.md +0 -42
- data/docs/mkdocs/plugins/cppcheck.md +0 -377
- data/docs/mkdocs/plugins/dependencies.md +0 -310
- data/docs/mkdocs/plugins/fff.md +0 -247
- data/docs/mkdocs/plugins/gcov/examples.md +0 -92
- data/docs/mkdocs/plugins/gcov/gcovr.md +0 -526
- data/docs/mkdocs/plugins/gcov/index.md +0 -74
- data/docs/mkdocs/plugins/gcov/overview.md +0 -145
- data/docs/mkdocs/plugins/gcov/reportgenerator.md +0 -246
- data/docs/mkdocs/plugins/gcov/reporting.md +0 -147
- data/docs/mkdocs/plugins/gcov/setup.md +0 -232
- data/docs/mkdocs/plugins/gcov/tool-versions.md +0 -60
- data/docs/mkdocs/plugins/gcov/troubleshooting.md +0 -78
- data/docs/mkdocs/plugins/index.md +0 -261
- data/docs/mkdocs/plugins/module-generator.md +0 -267
- data/docs/mkdocs/plugins/report-build-warnings-log.md +0 -42
- data/docs/mkdocs/plugins/report-tests-gtestlike-stdout.md +0 -98
- data/docs/mkdocs/plugins/report-tests-ide-stdout.md +0 -63
- data/docs/mkdocs/plugins/report-tests-log-factory.md +0 -454
- data/docs/mkdocs/plugins/report-tests-pretty-stdout.md +0 -56
- data/docs/mkdocs/plugins/report-tests-raw-output-log.md +0 -52
- data/docs/mkdocs/plugins/report-tests-teamcity-stdout.md +0 -96
- data/docs/mkdocs/plugins/sample_html_report.png +0 -0
- data/docs/mkdocs/plugins/valgrind.md +0 -198
- data/docs/mkdocs/project/release-history.md +0 -61
- data/docs/mkdocs/project/upgrade.md +0 -85
- data/docs/mkdocs/reference/build-directives.md +0 -37
- data/docs/mkdocs/reference/command-line.md +0 -323
- data/docs/mkdocs/reference/environment-vars.md +0 -60
- data/docs/mkdocs/reference/gcov-plugin.md +0 -600
- data/docs/mkdocs/reference/global-collections.md +0 -160
- data/docs/mkdocs/reference/index.md +0 -65
- data/docs/mkdocs/reference/partials-macros.md +0 -79
- data/docs/mkdocs/reference/project-configuration.md +0 -46
- data/docs/mkdocs/snapshot/examples/cipher_quest/README.md +0 -210
- data/docs/mkdocs/snapshot/examples/temp_sensor/README.md +0 -283
- data/docs/mkdocs/snapshot/examples/wondrous_forest/README.md +0 -92
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +0 -32
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults_gcov.rb +0 -136
- data/docs/mkdocs/snapshot.yml +0 -20
- data/docs/mkdocs/testing-guide/build-directives.md +0 -153
- data/docs/mkdocs/testing-guide/conventions.md +0 -616
- data/docs/mkdocs/testing-guide/frameworks.md +0 -192
- data/docs/mkdocs/testing-guide/index.md +0 -80
- data/docs/mkdocs/testing-guide/partials/configuration.md +0 -67
- data/docs/mkdocs/testing-guide/partials/conventions.md +0 -68
- data/docs/mkdocs/testing-guide/partials/directives.md +0 -212
- data/docs/mkdocs/testing-guide/partials/example.md +0 -149
- data/docs/mkdocs/testing-guide/partials/index.md +0 -88
- data/docs/mkdocs/testing-guide/partials/overview.md +0 -81
- data/docs/mkdocs/testing-guide/partials/variables.md +0 -244
- data/docs/mkdocs/testing-guide/test-cases.md +0 -194
- data/docs/mkdocs/testing-guide/test-sample.md +0 -94
- data/docs/mkdocs/testing-guide/test-suite-anatomy.md +0 -58
- data/lib/ceedling/cacheinator.rb +0 -53
- data/lib/ceedling/cacheinator_helper.rb +0 -60
- data/lib/ceedling/dependinator.rb +0 -31
- data/lib/ceedling/makefile.rb +0 -52
- data/lib/ceedling/release_invoker.rb +0 -112
- data/lib/ceedling/rules_release.rake +0 -109
- data/lib/ceedling/tasks_release.rake +0 -36
- data/plugins/fff/vendor/fff/Makefile +0 -10
- data/plugins/fff/vendor/fff/buildandtest +0 -15
- data/plugins/fff/vendor/fff/examples/Makefile +0 -7
- data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +0 -64
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +0 -32
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +0 -21
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +0 -58
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +0 -70
- data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +0 -25
- data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +0 -23
- data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +0 -27
- data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +0 -25
- data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +0 -67
- data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +0 -31
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +0 -56
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +0 -22
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +0 -191
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +0 -144
- data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +0 -42
- data/plugins/fff/vendor/fff/gtest/Makefile +0 -22
- data/plugins/fff/vendor/fff/gtest/gtest-all.cc +0 -9118
- data/plugins/fff/vendor/fff/gtest/gtest-main.cc +0 -6
- data/plugins/fff/vendor/fff/gtest/gtest.h +0 -19547
- data/plugins/fff/vendor/fff/test/Makefile +0 -81
- data/plugins/fff/vendor/fff/test/c_test_framework.h +0 -25
- data/plugins/fff/vendor/fff/test/fff_test_c.c +0 -116
- data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +0 -53
- data/plugins/fff/vendor/fff/test/fff_test_global_c.c +0 -84
- data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +0 -31
- data/plugins/fff/vendor/fff/test/global_fakes.c +0 -21
- data/plugins/fff/vendor/fff/test/global_fakes.h +0 -47
- data/plugins/fff/vendor/fff/test/test_cases.include +0 -276
- data/plugins/report_tests_gtestlike_stdout/assets/template.erb +0 -83
- data/site-local/assets/stylesheets/main.ec1eaa64.min.css +0 -1
- data/site-local/assets/stylesheets/main.ec1eaa64.min.css.map +0 -1
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +0 -1
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +0 -1
- data/site-local/snapshot/assets/project.yml +0 -404
- data/spec/system/partials_types_header_spec.rb +0 -166
- data/spec/units/configurator_spec.rb +0 -232
- /data/assets/{ceedling → features/ceedling} +0 -0
- /data/assets/{ceedling.cmd → features/ceedling.cmd} +0 -0
- /data/assets/{default_gitignore → features/default_gitignore} +0 -0
- /data/assets/{broken_uncovered_file.c → fixtures/broken_uncovered_file.c} +0 -0
- /data/assets/{example_file.c → fixtures/example_file.c} +0 -0
- /data/assets/{example_file.h → fixtures/example_file.h} +0 -0
- /data/assets/{example_file_call.c → fixtures/example_file_call.c} +0 -0
- /data/assets/{example_file_call.h → fixtures/example_file_call.h} +0 -0
- /data/assets/{example_file_with_statics.c → fixtures/example_file_with_statics.c} +0 -0
- /data/assets/{example_file_with_stdio.c → fixtures/example_file_with_stdio.c} +0 -0
- /data/assets/{example_file_with_stdio.h → fixtures/example_file_with_stdio.h} +0 -0
- /data/assets/{fake_crash_test_fixture.rb → fixtures/fake_crash_test_fixture.rb} +0 -0
- /data/assets/{partial_all_module.h → fixtures/partial_all_module.h} +0 -0
- /data/assets/{run_with_ubsan.rb → fixtures/run_with_ubsan.rb} +0 -0
- /data/assets/{same_dir_pairing_module.c → fixtures/same_dir_pairing_module.c} +0 -0
- /data/assets/{same_dir_pairing_module.h → fixtures/same_dir_pairing_module.h} +0 -0
- /data/assets/{same_dir_pairing_module_func.h → fixtures/same_dir_pairing_module_func.h} +0 -0
- /data/assets/{same_dir_pairing_other.c → fixtures/same_dir_pairing_other.c} +0 -0
- /data/assets/{same_dir_pairing_other.h → fixtures/same_dir_pairing_other.h} +0 -0
- /data/assets/{test_example_file.c → fixtures/test_example_file.c} +0 -0
- /data/assets/{test_example_file_2.c → fixtures/test_example_file_2.c} +0 -0
- /data/assets/{test_example_file_source_include.c → fixtures/test_example_file_source_include.c} +0 -0
- /data/assets/{test_example_file_success.c → fixtures/test_example_file_success.c} +0 -0
- /data/assets/{test_example_file_unity_printf.c → fixtures/test_example_file_unity_printf.c} +0 -0
- /data/assets/{test_example_file_verbose.c → fixtures/test_example_file_verbose.c} +0 -0
- /data/assets/{test_example_file_with_mock.c → fixtures/test_example_file_with_mock.c} +0 -0
- /data/assets/{test_example_file_with_stdio.c → fixtures/test_example_file_with_stdio.c} +0 -0
- /data/assets/{test_example_with_parameterized_tests.c → fixtures/test_example_with_parameterized_tests.c} +0 -0
- /data/assets/{test_partial_all_module.c → fixtures/test_partial_all_module.c} +0 -0
- /data/assets/{test_same_dir_pairing.c → fixtures/test_same_dir_pairing.c} +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/feature_config.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/feature_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/local_flag_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/nested_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/nested_wrapper.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/project_flag_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget_feature.h +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware.c +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware.h +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware_configurator.c +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware_configurator.h +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/test/test_adc_hardware.c +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/test/test_adc_hardware_special.c +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/src/unicoder.c +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/src/unicoder.h +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/test/test_unicoder.c +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/test/test_unicoder_partial.c +0 -0
- /data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/src/conditional_module.h +0 -0
- /data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/src/optional_dep.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/blanks.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/blanks.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/counter.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/counter.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/decorators.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/decorators.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_blanks.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_counter.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_decorators.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareA.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareA.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareB.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareB.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareC.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareC.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorA.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorB.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorC.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareA.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareB.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareC.c +0 -0
- /data/assets/{uncovered_example_file.c → fixtures/uncovered_example_file.c} +0 -0
- /data/plugins/bullseye/assets/{template.erb → coverage.template} +0 -0
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
# Valgrind
|
|
2
|
-
|
|
3
|
-
Adds Ceedling tasks to run test executables under [Valgrind] memory error
|
|
4
|
-
detection to help find memory leaks, invalid memory accesses, and
|
|
5
|
-
use-after-free bugs in your C code.
|
|
6
|
-
|
|
7
|
-
!!! note
|
|
8
|
-
The Valgrind plugin creates a duplicate test build with `valgrind:`
|
|
9
|
-
command line plugin tasks. [This is intentional and needed](index.md#understanding-plugin-build-duplication).
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Plugin overview
|
|
14
|
-
|
|
15
|
-
!!! note "Linux only"
|
|
16
|
-
Valgrind runs on Linux and other Unix-like systems. It is not available
|
|
17
|
-
on Windows or macOS (ARM).
|
|
18
|
-
|
|
19
|
-
The Valgrind plugin integrates [Valgrind] dynamic analysis into Ceedling,
|
|
20
|
-
building and then running test executables under Valgrind’s Memcheck tool.
|
|
21
|
-
|
|
22
|
-
The plugin provides two invocation modes mirroring standard `test:` tasks.
|
|
23
|
-
|
|
24
|
-
- **Whole test suite**: By running `ceedling valgrind:all`, all test
|
|
25
|
-
executables are built and then each is run under Valgrind. A separate log
|
|
26
|
-
file is produced for each test executable in `build/artifacts/valgrind/`.
|
|
27
|
-
- **Single test file**: By running `ceedling valgrind:<filename>`, a single
|
|
28
|
-
test executable is built and run under Valgrind, producing one log file.
|
|
29
|
-
|
|
30
|
-
The plugin triggers standard `test` task builds but hands each test fixture
|
|
31
|
-
executable off to Valgrind along with configurable arguments.
|
|
32
|
-
|
|
33
|
-
By default the build runs all test binaries to completion and is marked as
|
|
34
|
-
failed if any Valgrind memory errors are found. The optional `:fail_build:`
|
|
35
|
-
setting can be set to `false` to log errors without failing the build.
|
|
36
|
-
|
|
37
|
-
## Installation & set up
|
|
38
|
-
|
|
39
|
-
### Installation
|
|
40
|
-
|
|
41
|
-
You have at least 3 options for getting the `valgrind` tool working on your
|
|
42
|
-
system, including one readymade option.
|
|
43
|
-
|
|
44
|
-
#### Linux package manager
|
|
45
|
-
|
|
46
|
-
Install Valgrind from your Linux distribution’s package manager:
|
|
47
|
-
|
|
48
|
-
```shell
|
|
49
|
-
sudo apt-get install valgrind # Debian / Ubuntu
|
|
50
|
-
sudo dnf install valgrind # Fedora / RHEL
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
#### Build from source
|
|
54
|
-
|
|
55
|
-
Or build from source from [valgrind.org/downloads/](https://valgrind.org/downloads/).
|
|
56
|
-
|
|
57
|
-
#### _MadScienceLab_ Docker images
|
|
58
|
-
|
|
59
|
-
Fully packaged [_MadScienceLab_ Docker images][docker-hub] containing Ruby,
|
|
60
|
-
Ceedling, the GCC toolchain, and more are available. The `-plugins` variants
|
|
61
|
-
of the images come with all of Ceedling’s plugin tools preinstalled.
|
|
62
|
-
|
|
63
|
-
[docker-hub]: https://hub.docker.com/repository/docker/throwtheswitch/
|
|
64
|
-
|
|
65
|
-
### Enable the plugin
|
|
66
|
-
|
|
67
|
-
Enable the plugin by adding `valgrind` to the enabled plugins list in your
|
|
68
|
-
project configuration:
|
|
69
|
-
|
|
70
|
-
```yaml
|
|
71
|
-
:plugins:
|
|
72
|
-
:enabled:
|
|
73
|
-
- valgrind
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Configuration
|
|
77
|
-
|
|
78
|
-
The plugin ships with sensible defaults that enable full leak checking. By
|
|
79
|
-
default the build runs all test binaries to completion and is marked as failed
|
|
80
|
-
if any memory errors are found. Set `:fail_build: false` to log errors without
|
|
81
|
-
failing the build.
|
|
82
|
-
|
|
83
|
-
You can change the Valgrind configuration in your project configuration
|
|
84
|
-
under an optional `:valgrind` section.
|
|
85
|
-
|
|
86
|
-
### Default configuration
|
|
87
|
-
|
|
88
|
-
In the default configuration, the Valgrind plugin will run the entire test
|
|
89
|
-
suite, collecting Valgrind reports for each test fixture executable.
|
|
90
|
-
|
|
91
|
-
By default, the plugin runs with these command line arguments for `valgrind`:
|
|
92
|
-
|
|
93
|
-
- `--leak-check=full`
|
|
94
|
-
- `--show-leak-kinds=all`
|
|
95
|
-
- `--track-origins=yes`
|
|
96
|
-
- `--errors-for-leak-kinds=all`
|
|
97
|
-
|
|
98
|
-
### `:arguments:`
|
|
99
|
-
|
|
100
|
-
The list of flags passed to Valgrind for every test binary. To override the
|
|
101
|
-
defaults, redefine the argument list in your project configuration:
|
|
102
|
-
|
|
103
|
-
```yaml
|
|
104
|
-
:valgrind:
|
|
105
|
-
:arguments:
|
|
106
|
-
# A subset of the default arguments
|
|
107
|
-
- "--leak-check=full"
|
|
108
|
-
- "--show-leak-kinds=all"
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### `:fail_build:`
|
|
112
|
-
|
|
113
|
-
When `true` (the default), any memory errors are logged immediately after
|
|
114
|
-
running a test executable. After all test binaries complete execution, if
|
|
115
|
-
any memory errors were found across the run, the build is marked as failed
|
|
116
|
-
with a total count of memory errors and test files processed.
|
|
117
|
-
|
|
118
|
-
When `false`, memory errors are still logged per test binary but the build is
|
|
119
|
-
not marked as failed.
|
|
120
|
-
|
|
121
|
-
```yaml
|
|
122
|
-
:valgrind:
|
|
123
|
-
:fail_build: false
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
!!! note "Detection uses log parsing, not Valgrind’s exit code"
|
|
127
|
-
Valgrind’s `--error-exitcode` flag is not used because its exit code would
|
|
128
|
-
overlap with Unity’s own exit code, which equals the number of failing test
|
|
129
|
-
cases. Instead, the plugin parses the `ERROR SUMMARY: N errors` line written
|
|
130
|
-
to the Valgrind log file.
|
|
131
|
-
|
|
132
|
-
## Usage
|
|
133
|
-
|
|
134
|
-
The Valgrind plugin follows the conventions of `test:` tasks.
|
|
135
|
-
|
|
136
|
-
### Run Valgrind for all tests
|
|
137
|
-
|
|
138
|
-
Build all test executables and run each under Valgrind:
|
|
139
|
-
|
|
140
|
-
```shell
|
|
141
|
-
$ ceedling valgrind:all
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Run Valgrind for a single test file
|
|
145
|
-
|
|
146
|
-
Build and run Valgrind for one test file (pass the filename, no path):
|
|
147
|
-
|
|
148
|
-
```shell
|
|
149
|
-
$ ceedling valgrind:test_my_module.c
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
You can also pass just the source filename; Ceedling will locate the
|
|
153
|
-
corresponding test file automatically:
|
|
154
|
-
|
|
155
|
-
```shell
|
|
156
|
-
$ ceedling valgrind:my_module.c
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
## Artifacts
|
|
160
|
-
|
|
161
|
-
Each test executable produces a Valgrind log file at:
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
build/artifacts/valgrind/<test_name>.log
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
For example, running `ceedling valgrind:test_my_module.c` produces:
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
build/artifacts/valgrind/test_my_module.log
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
These log files contain the full Valgrind Memcheck output, including any
|
|
174
|
-
detected memory errors, leak summaries, and (with `--track-origins=yes`)
|
|
175
|
-
the origin of uninitialized values.
|
|
176
|
-
|
|
177
|
-
The log files are included in `ceedling clean` targets.
|
|
178
|
-
|
|
179
|
-
## Interpreting results
|
|
180
|
-
|
|
181
|
-
To review the log for a specific test:
|
|
182
|
-
|
|
183
|
-
```shell
|
|
184
|
-
cat build/artifacts/valgrind/test_my_module.log
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
Common Valgrind findings include:
|
|
188
|
-
|
|
189
|
-
| Finding | Description |
|
|
190
|
-
|---------|-------------|
|
|
191
|
-
| `definitely lost` | Memory was allocated but never freed — a confirmed leak |
|
|
192
|
-
| `indirectly lost` | Memory reachable only through another leaked block |
|
|
193
|
-
| `Invalid read/write` | Access outside allocated memory bounds |
|
|
194
|
-
| `Use of uninitialised value` | Reading memory before it was written |
|
|
195
|
-
|
|
196
|
-
See [Valgrind] documentation for more details.
|
|
197
|
-
|
|
198
|
-
[Valgrind]: https://valgrind.org
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Release History
|
|
2
|
-
|
|
3
|
-
## Versioned Release Artifacts
|
|
4
|
-
Ceedling releases are available as:
|
|
5
|
-
|
|
6
|
-
* [Repository build artifacts](https://github.com/ThrowTheSwitch/Ceedling/releases) (downloadable
|
|
7
|
-
Ruby .gem files).
|
|
8
|
-
* [Ruby gems](https://rubygems.org/gems/ceedling) for installation from the RubyGems registry by
|
|
9
|
-
the `gem` command line tool.
|
|
10
|
-
* [Docker images](https://hub.docker.com/r/throwtheswitch/madsciencelab) with the `ceedling` tool
|
|
11
|
-
ready to run from the command line.
|
|
12
|
-
|
|
13
|
-
Ceedling is known to be compatible with Ruby 3.0 – 3.4. It is ready for use with Ruby 3.5 but has
|
|
14
|
-
had little real world use with Ruby 3.5.
|
|
15
|
-
|
|
16
|
-
## History
|
|
17
|
-
|
|
18
|
-
Ceedling’s release history is documented in four files that live in the
|
|
19
|
-
repository and follow [keepachangelog.com](https://keepachangelog.com/en/1.0.0/)
|
|
20
|
-
conventions. These documents span the cumulative project history and are
|
|
21
|
-
maintained standalone rather than versioned with this documentation.
|
|
22
|
-
|
|
23
|
-
<div class="grid cards" markdown>
|
|
24
|
-
|
|
25
|
-
- :material-bullhorn-outline: **[Release Notes][release-notes]**
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
Detailed [release notes][release-notes] for announcements, education, and acknowledgements.
|
|
30
|
-
This is the primary reference for quickly understanding what changed between versions.
|
|
31
|
-
|
|
32
|
-
- :material-history: **[Changelog][changelog]**
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
A detailed, chronological log of [all changes][changelog] — additions, fixes, changes, and
|
|
37
|
-
anything removed.
|
|
38
|
-
|
|
39
|
-
- :material-alert-octagon-outline: **[Breaking Changes][breaking-changes]**
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
A focused list of [breaking changes][breaking-changes] across releases. Consult this document
|
|
44
|
-
when upgrading to understand what in your project configuration or test
|
|
45
|
-
code may need to be updated.
|
|
46
|
-
|
|
47
|
-
- :material-bug-outline: **[Known Issues][known-issues]**
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
A high-level list of [presently known problems][known-issues] and limitations for each
|
|
52
|
-
release.
|
|
53
|
-
|
|
54
|
-
</div>
|
|
55
|
-
|
|
56
|
-
[release-notes]: https://github.com/ThrowTheSwitch/Ceedling/blob/master/docs/ReleaseNotes.md
|
|
57
|
-
[breaking-changes]: https://github.com/ThrowTheSwitch/Ceedling/blob/master/docs/BreakingChanges.md
|
|
58
|
-
[changelog]: https://github.com/ThrowTheSwitch/Ceedling/blob/master/docs/Changelog.md
|
|
59
|
-
[known-issues]: https://github.com/ThrowTheSwitch/Ceedling/blob/master/docs/KnownIssues.md
|
|
60
|
-
|
|
61
|
-
<br/><br/>
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# Upgrading Ceedling
|
|
2
|
-
|
|
3
|
-
You'd like to stay in sync with the latest Ceedling... and who wouldn't? Depending on
|
|
4
|
-
how you've made use of Ceedling, that may vary slightly. No matter what, though, our first
|
|
5
|
-
step is to update Ceedling itself.
|
|
6
|
-
|
|
7
|
-
## Step 1: Update Ceedling Itself
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
gem update ceedling
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
That should do it... unless you don't have a valid connection to the internet. In that case,
|
|
14
|
-
you might have to download the gem from rubygems.org and then install it manually:
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
gem update ceedling --local=ceedling-filename.zip
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Step 2: Update Projects Using Ceedling
|
|
21
|
-
|
|
22
|
-
When you set up your project(s), it was either configured to use the gem directly, or it was
|
|
23
|
-
configured to install itself locally (often into a vendor directory).
|
|
24
|
-
|
|
25
|
-
For projects that are of the first type, congratulations, you're finished. The project will
|
|
26
|
-
automatically use the new ceedling. There MAY be things that need to be tweaked if features have
|
|
27
|
-
moved significantly. (And we apologize if that's your situation... as we get to version 1, we're
|
|
28
|
-
going to have a stronger focus on backwards compatibility). If your project isn't working perfectly,
|
|
29
|
-
skip down to Step 3.
|
|
30
|
-
|
|
31
|
-
If the project was installed to have a copy of ceedling locally, you have a choice. You may
|
|
32
|
-
choose to continue to run THIS project on the old version of Ceedling. Often this is the
|
|
33
|
-
preferred method for legacy projects which only get occasional focus. Why go through the effort
|
|
34
|
-
of updating for new tools if it's serving its purpose and you're unlikely to actually use the new
|
|
35
|
-
features?
|
|
36
|
-
|
|
37
|
-
The other choice, of course, is to update it. To do so, we open a command prompt and address ceedling
|
|
38
|
-
from *outside* the project. For example, let's say we have the following structure:
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
projects/
|
|
42
|
-
└── myproject/
|
|
43
|
-
├── project.yml
|
|
44
|
-
├── src/
|
|
45
|
-
├── tgt/
|
|
46
|
-
└── vendor/
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
In this case, we'd want to be in the `projects` directory. At that point, we can ask Ceedling to
|
|
50
|
-
update our project.
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
ceedling upgrade myproject
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Ceedling will automatically look for your project yaml file and do its best to determine what needs
|
|
57
|
-
to be updated. If installed locally, this will mean copying the latest copy of Unity, CMock, and
|
|
58
|
-
Ceedling. It will also involve copying documentation, if you had that installed.
|
|
59
|
-
|
|
60
|
-
## Step 3: Solving Problems
|
|
61
|
-
|
|
62
|
-
We wish every project would update seamlessly... unfortunately there is a lot of customization that
|
|
63
|
-
goes into each project, and Ceedling often isn't aware of all of these. To make matter worse, Ceedling
|
|
64
|
-
has been in pre-release for awhile, meaning it occasionally has significant changes that may break
|
|
65
|
-
current installations. We've tried to capture the common ones here:
|
|
66
|
-
|
|
67
|
-
### rakefile
|
|
68
|
-
|
|
69
|
-
Ceedling is built in a utility called Rake. In the past, rake was the method that the user actually
|
|
70
|
-
interacted with Ceedling. That's no longer the case. Using a modern version of Ceedling means that
|
|
71
|
-
you issue commands like `ceedling test:all` instead of `rake test:all`. If you have a continuous
|
|
72
|
-
integration server or other calling service, it may need to be updated to comply.
|
|
73
|
-
|
|
74
|
-
Similarly, older versions of Ceedling actually placed a rakefile in the project directory, allowing
|
|
75
|
-
the project to customize its own flow. For the most part this went unused and better ways were later
|
|
76
|
-
introduced. At this point, the `rakefile` is more trouble than its worth and often should just be
|
|
77
|
-
removed.
|
|
78
|
-
|
|
79
|
-
### plugins
|
|
80
|
-
|
|
81
|
-
If you have custom plugins installed to your project, the plugin architecture has gone through some
|
|
82
|
-
revisions and it may or may not be compatible at this time. Again, this is a problem which should
|
|
83
|
-
not exist soon.
|
|
84
|
-
|
|
85
|
-
<br/><br/>
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Test Build Directive Macros Reference
|
|
2
|
-
|
|
3
|
-
For detailed usage guidance, purpose explanations, and examples for these
|
|
4
|
-
macros, see [Test Build Directive Macros](../testing-guide/build-directives.md).
|
|
5
|
-
|
|
6
|
-
Both macros are defined in `unity.h` and evaluate to empty strings at compile
|
|
7
|
-
time — they serve only as text markers for Ceedling's scanner. `#include "unity.h"`
|
|
8
|
-
must appear above their use in a test file.
|
|
9
|
-
|
|
10
|
-
!!! warning "Incompatible with conditional preprocessor blocks"
|
|
11
|
-
`TEST_SOURCE_FILE()` and `TEST_INCLUDE_PATH()` cannot be enclosed in
|
|
12
|
-
`#ifdef` or other conditional compilation preprocessor statements. See
|
|
13
|
-
[preprocessing gotchas](../testing-guide/conventions.md#preprocessing-gotchas)
|
|
14
|
-
for details.
|
|
15
|
-
|
|
16
|
-
## `TEST_SOURCE_FILE("filepath")`
|
|
17
|
-
|
|
18
|
-
Inject a specific source file into a test executable's build. Use this when
|
|
19
|
-
a source file has no corresponding header file that Ceedling can discover by
|
|
20
|
-
convention, or when you need to explicitly include an assembly file (`.s`) in
|
|
21
|
-
a test build that has assembly support enabled.
|
|
22
|
-
|
|
23
|
-
- Argument: a filepath string using forward slashes
|
|
24
|
-
- The file must exist within Ceedling's source file collection
|
|
25
|
-
- Multiple uses per test file are allowed, one per line
|
|
26
|
-
|
|
27
|
-
## `TEST_INCLUDE_PATH("path")`
|
|
28
|
-
|
|
29
|
-
Add a header search path to an individual test executable's compiler
|
|
30
|
-
invocation. This supplements — it does not replace — the `:paths` ↳ `:include`
|
|
31
|
-
entries from your project file.
|
|
32
|
-
|
|
33
|
-
- Argument: a path string using forward slashes
|
|
34
|
-
- Paths are relative to the working directory from which `ceedling` is executed
|
|
35
|
-
- Multiple uses per test file are allowed, one per line
|
|
36
|
-
|
|
37
|
-
<br/><br/>
|
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
# Command Line Reference
|
|
2
|
-
|
|
3
|
-
See [_Getting started: The command line_](../getting-started/command-line.md)
|
|
4
|
-
for:
|
|
5
|
-
|
|
6
|
-
- A conceptual overview of how application commands and build & plugin
|
|
7
|
-
tasks work together.
|
|
8
|
-
- Quick-start command line examples.
|
|
9
|
-
- In-depth details for each of the reference entries below (each heading
|
|
10
|
-
links back to richer documentation).
|
|
11
|
-
|
|
12
|
-
!!! note "Documentation convention"
|
|
13
|
-
The `*` used in this reference is a stand-in for:
|
|
14
|
-
|
|
15
|
-
* One of several available options
|
|
16
|
-
* A matching string (e.g. test filename)
|
|
17
|
-
* A regex
|
|
18
|
-
|
|
19
|
-
## Application commands
|
|
20
|
-
|
|
21
|
-
!!! tip "Detailed command line help at the, well, command line"
|
|
22
|
-
Ceedling provides robust help for application commands.
|
|
23
|
-
Execute `ceedling help` for a summary view of all application commands.
|
|
24
|
-
Execute `ceedling help <command>` for detailed help.
|
|
25
|
-
|
|
26
|
-
Because the built-in command line help is thorough, the following
|
|
27
|
-
reference includes brief entries.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
### [`ceedling [no arguments]`](../getting-started/command-line.md#ceedling-no-arguments)
|
|
32
|
-
|
|
33
|
-
Runs the default build tasks. Unless set in the project file, Ceedling
|
|
34
|
-
uses a default task of `test:all`. To override this behavior, set your
|
|
35
|
-
own default tasks in the project file (see later section).
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
### [`ceedling <tasks...>`](../getting-started/command-line.md#ceedling-tasks)
|
|
40
|
-
|
|
41
|
-
Runs the named build tasks (i.e. `ceedling test:all`). Various option flags
|
|
42
|
-
exist to control project configuration loading, verbosity levels,
|
|
43
|
-
logging, test task filters, etc.
|
|
44
|
-
|
|
45
|
-
See [next section](#build-plugin-tasks) to understand the build & plugin
|
|
46
|
-
tasks this application command is able to execute. Run `ceedling help build`
|
|
47
|
-
to understand all the command line flags that work with build & plugin tasks.
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
### [`ceedling build <tasks...>`](../getting-started/command-line.md#ceedling-build-tasks)
|
|
52
|
-
|
|
53
|
-
`ceedling build` is a verbose alias for the preceding. `build` is optional
|
|
54
|
-
(i.e. `ceedling test:all` is equivalent to `ceedling build test:all`).
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
### [`ceedling check`](../getting-started/command-line.md#ceedling-check)
|
|
59
|
-
|
|
60
|
-
Process project configuration for validity and to check for any warnings
|
|
61
|
-
or automated overrides. No builds occur. Various option flags exist to
|
|
62
|
-
control project configuration loading and configuration manipulation.
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
### [`ceedling dumpconfig`](../getting-started/command-line.md#ceedling-dumpconfig-filepath-sections)
|
|
67
|
-
|
|
68
|
-
Process project configuration and write final result to a YAML file.
|
|
69
|
-
Various option flags exist to control project configuration loading,
|
|
70
|
-
configuration manipulation, and configuration sub-section extraction.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
### [`ceedling environment`](../getting-started/command-line.md#ceedling-environment)
|
|
75
|
-
|
|
76
|
-
Lists project related environment variables:
|
|
77
|
-
|
|
78
|
-
* All environment variable names and string values added to your
|
|
79
|
-
environment from within Ceedling and through the `environment`
|
|
80
|
-
section of your configuration. This is especially helpful in
|
|
81
|
-
verifying the evaluation of any string replacement expressions in
|
|
82
|
-
your `environment` config entries.
|
|
83
|
-
* All existing Ceedling-related environment variables set before you
|
|
84
|
-
ran Ceedling from the command line.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
### [`ceedling example`](../getting-started/command-line.md#ceedling-example-name-dest)
|
|
89
|
-
|
|
90
|
-
Extracts an example project from within Ceedling to your local
|
|
91
|
-
filesystem. The available examples are listed with
|
|
92
|
-
`ceedling examples`. Various option flags control whether the example
|
|
93
|
-
contains vendored Ceedling and/or a documentation bundle.
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
### [`ceedling examples`](../getting-started/command-line.md#ceedling-examples)
|
|
98
|
-
|
|
99
|
-
Lists the available examples within Ceedling. To extract an example,
|
|
100
|
-
use `ceedling example`.
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
### [`ceedling help`](../getting-started/command-line.md#ceedling-help-command)
|
|
105
|
-
|
|
106
|
-
Displays summary help for all application commands and detailed help
|
|
107
|
-
for each command. `ceedling help` also loads your project
|
|
108
|
-
configuration (if available) and lists all build tasks from it.
|
|
109
|
-
Various option flags control what project configuration is loaded.
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
### [`ceedling new`](../getting-started/command-line.md#ceedling-new-dest)
|
|
114
|
-
|
|
115
|
-
Creates a new project structure. Various option flags control whether
|
|
116
|
-
the new project contains vendored Ceedling, a documentation bundle,
|
|
117
|
-
and/or a starter project configuration file.
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
### [`ceedling upgrade`](../getting-started/command-line.md#ceedling-upgrade-path)
|
|
122
|
-
|
|
123
|
-
Upgrade vendored installation of Ceedling for an existing project
|
|
124
|
-
along with any locally installed documentation bundles.
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
### [`ceedling version`](../getting-started/command-line.md#ceedling-version)
|
|
129
|
-
|
|
130
|
-
Displays version information for Ceedling and its components. Version
|
|
131
|
-
output for Ceedling includes the Git Commit short SHA in Ceedling’s
|
|
132
|
-
build identifier and Ceedling’s path of origin.
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
🌱 Welcome to Ceedling!
|
|
136
|
-
|
|
137
|
-
Ceedling => #.#.#-<Short SHA>
|
|
138
|
-
----------------------
|
|
139
|
-
<Ceedling install path>
|
|
140
|
-
|
|
141
|
-
Build Frameworks
|
|
142
|
-
----------------------
|
|
143
|
-
CMock => #.#.#
|
|
144
|
-
Unity => #.#.#
|
|
145
|
-
CException => #.#.#
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
If the short SHA information is unavailable such as in local
|
|
149
|
-
development, the SHA is omitted. The source for this string is
|
|
150
|
-
generated and captured in the Ruby Gem at the time of Ceedling’s
|
|
151
|
-
automated build in CI.
|
|
152
|
-
|
|
153
|
-
## Build & plugin tasks
|
|
154
|
-
|
|
155
|
-
Build task are loaded from your project configuration. Unlike
|
|
156
|
-
application commands that are fixed, build tasks vary depending on your
|
|
157
|
-
project configuration and the files within your project structure.
|
|
158
|
-
|
|
159
|
-
Ultimately, build & plugin tasks are executed by the
|
|
160
|
-
[`build` application command](#ceedling-build-tasks)
|
|
161
|
-
(but the `build` keyword can be omitted — see above).
|
|
162
|
-
|
|
163
|
-
!!! warning "Quotes in shell command line parsing"
|
|
164
|
-
Quotes may be necessary around any tasks using bracket notation or that
|
|
165
|
-
can make use of wildcards or regexes. Your shell will likely need quotes
|
|
166
|
-
to distinguish the parameter’s characters from shell command line
|
|
167
|
-
operators.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
### [`ceedling paths:*`](../getting-started/command-line.md#ceedling-paths)
|
|
172
|
-
|
|
173
|
-
* `ceedling paths:header`
|
|
174
|
-
* `ceedling paths:source`
|
|
175
|
-
* `ceedling paths:support`
|
|
176
|
-
* `ceedling paths:test`
|
|
177
|
-
|
|
178
|
-
List all paths collected from `paths` entries in your YAML config
|
|
179
|
-
file where `*` is the name of any section contained in `paths`. This
|
|
180
|
-
task is helpful in verifying the expansion of path wildcards / globs
|
|
181
|
-
specified in the `paths` section of your config file.
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
### [`ceedling files:*`](../getting-started/command-line.md#ceedling-files)
|
|
186
|
-
|
|
187
|
-
* `ceedling files:header`
|
|
188
|
-
* `ceedling files:source`
|
|
189
|
-
* `ceedling files:support`
|
|
190
|
-
* `ceedling files:test`
|
|
191
|
-
* `ceedling files:assembly`
|
|
192
|
-
|
|
193
|
-
List all files and file counts collected from the relevant search
|
|
194
|
-
paths specified by the `paths` entries of your YAML config file.
|
|
195
|
-
|
|
196
|
-
The `files:assembly` task will only be available if assembly support
|
|
197
|
-
is enabled in the [`:release_build`](../configuration/reference/release-build.md)
|
|
198
|
-
or [`:test_build`](../configuration/reference/test-build.md)
|
|
199
|
-
sections of your configuration file.
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
### [`ceedling test:all`](../getting-started/command-line.md#ceedling-testall)
|
|
204
|
-
|
|
205
|
-
Run all unit tests.
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
### [`ceedling test:build_only`](../getting-started/command-line.md#ceedling-testbuild_only)
|
|
210
|
-
|
|
211
|
-
Build the entire test suite but do not execute it. This is a simple
|
|
212
|
-
validation of code and configuration via your toolchain.
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
### [`ceedling test:*`](../getting-started/command-line.md#ceedling-test)
|
|
217
|
-
|
|
218
|
-
Execute the named test file or the named source file that has an
|
|
219
|
-
accompanying test. No path. Examples: `ceedling test:foo`, `ceedling
|
|
220
|
-
test:foo.c` or `ceedling test:test_foo.c`
|
|
221
|
-
|
|
222
|
-
#### [`ceedling test:* --test-case=<test_case_name>`](../getting-started/command-line.md#ceedling-test-test-casetest_case_name)
|
|
223
|
-
Execute individual test cases which match `test_case_name`.
|
|
224
|
-
|
|
225
|
-
For instance, if you have a test file _test_gpio.c_ containing the following
|
|
226
|
-
test cases (test cases are simply `void test_name(void)`).
|
|
227
|
-
|
|
228
|
-
- `test_gpio_start`
|
|
229
|
-
- `test_gpio_configure_proper`
|
|
230
|
-
- `test_gpio_configure_fail_pin_not_allowed`
|
|
231
|
-
|
|
232
|
-
… and you want to run only _configure_ tests, you can call:
|
|
233
|
-
|
|
234
|
-
`ceedling test:gpio --test-case=configure`
|
|
235
|
-
|
|
236
|
-
!!! note
|
|
237
|
-
Test case matching is on sub-strings. `--test_case=configure` matches on
|
|
238
|
-
the test cases including the word _configure_, naturally.
|
|
239
|
-
`--test-case=gpio` would match all three test cases.
|
|
240
|
-
|
|
241
|
-
#### [`ceedling test:* --exclude_test_case=<test_case_name>`](../getting-started/command-line.md#ceedling-test-exclude_test_casetest_case_name)
|
|
242
|
-
Execute test cases which do not match `test_case_name`.
|
|
243
|
-
|
|
244
|
-
For instance, if you have file test_gpio.c with defined 3 tests:
|
|
245
|
-
|
|
246
|
-
- `test_gpio_start`
|
|
247
|
-
- `test_gpio_configure_proper`
|
|
248
|
-
- `test_gpio_configure_fail_pin_not_allowed`
|
|
249
|
-
|
|
250
|
-
… and you want to run only start tests, you can call:
|
|
251
|
-
|
|
252
|
-
`ceedling test:gpio --exclude_test_case=configure`
|
|
253
|
-
|
|
254
|
-
!!! note
|
|
255
|
-
Exclude matching follows the same sub-string logic as discussed in the
|
|
256
|
-
preceding section.
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
### [`ceedling test:pattern[*]`](../getting-started/command-line.md#ceedling-testpattern)
|
|
261
|
-
|
|
262
|
-
Execute any tests whose name and/or path match the regular expression
|
|
263
|
-
pattern (case sensitive). Example: `ceedling "test:pattern[(I|i)nit]"`
|
|
264
|
-
will execute all tests named for initialization testing.
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
### [`ceedling test:path[*]`](../getting-started/command-line.md#ceedling-testpath)
|
|
269
|
-
|
|
270
|
-
Execute any tests whose path contains the given string (case
|
|
271
|
-
sensitive). Example: `ceedling test:path[foo/bar]` will execute all tests
|
|
272
|
-
whose path contains foo/bar.
|
|
273
|
-
|
|
274
|
-
Both directory separator characters `/` and `\` are valid.
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
### [`ceedling release`](../getting-started/command-line.md#ceedling-release)
|
|
279
|
-
|
|
280
|
-
Build all source into a release artifact (if the release build option
|
|
281
|
-
is configured).
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
### [`ceedling release:compile:*`](../getting-started/command-line.md#ceedling-releasecompile)
|
|
286
|
-
|
|
287
|
-
Sometimes you just need to compile a single file dagnabit.
|
|
288
|
-
|
|
289
|
-
Example: `ceedling release:compile:foo.c`
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
### [`ceedling release:assemble:*`](../getting-started/command-line.md#ceedling-releaseassemble)
|
|
294
|
-
|
|
295
|
-
Sometimes you just need to assemble a single file doggonit. Example:
|
|
296
|
-
`ceedling release:assemble:foo.s`
|
|
297
|
-
|
|
298
|
-
---
|
|
299
|
-
|
|
300
|
-
### [`ceedling summary`](../getting-started/command-line.md#ceedling-summary)
|
|
301
|
-
|
|
302
|
-
If plugins are enabled, this task will execute the summary method of
|
|
303
|
-
any plugins supporting it. This task is intended to provide a quick
|
|
304
|
-
roundup of build artifact metrics without re-running any part of the
|
|
305
|
-
build.
|
|
306
|
-
|
|
307
|
-
---
|
|
308
|
-
|
|
309
|
-
### [`ceedling clean`](../getting-started/command-line.md#ceedling-clean)
|
|
310
|
-
|
|
311
|
-
Deletes all toolchain binary artifacts (object files, executables),
|
|
312
|
-
test results, and any temporary files. Clean produces no output at the
|
|
313
|
-
command line unless verbosity has been set to an appreciable level.
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
### [`ceedling clobber`](../getting-started/command-line.md#ceedling-clobber)
|
|
318
|
-
|
|
319
|
-
Extends clean task’s behavior to also remove generated files: test
|
|
320
|
-
runners, mocks, preprocessor output. Clobber produces no output at the
|
|
321
|
-
command line unless verbosity has been set to an appreciable level.
|
|
322
|
-
|
|
323
|
-
<br/><br/>
|