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
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
<link rel="prev" href="index.html">
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
<link rel="next" href="
|
|
17
|
+
<link rel="next" href="releases.html">
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
24
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.
|
|
24
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<link rel="stylesheet" href="../assets/stylesheets/main.
|
|
32
|
+
<link rel="stylesheet" href="../assets/stylesheets/main.57a0d79d.min.css">
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
<link rel="stylesheet" href="../assets/stylesheets/palette.
|
|
35
|
+
<link rel="stylesheet" href="../assets/stylesheets/palette.fb2fffe2.min.css">
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
@@ -93,6 +93,16 @@
|
|
|
93
93
|
|
|
94
94
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
95
95
|
|
|
96
|
+
<aside class="md-banner md-banner--warning">
|
|
97
|
+
<div class="md-banner__inner md-grid md-typeset">
|
|
98
|
+
You are not viewing the latest version.
|
|
99
|
+
<a href="../..">
|
|
100
|
+
<strong>Click here to go to latest.</strong>
|
|
101
|
+
</a>
|
|
102
|
+
</div>
|
|
103
|
+
<script>var el=document.querySelector("[data-md-component=outdated]"),base=new URL(".."),outdated=__md_get("__outdated",sessionStorage,base);!0===outdated&&el&&(el.hidden=!1)</script>
|
|
104
|
+
</aside>
|
|
105
|
+
|
|
96
106
|
</div>
|
|
97
107
|
|
|
98
108
|
|
|
@@ -330,7 +340,7 @@
|
|
|
330
340
|
|
|
331
341
|
|
|
332
342
|
<li class="md-tabs__item">
|
|
333
|
-
<a href="../project/
|
|
343
|
+
<a href="../project/index.html" class="md-tabs__link">
|
|
334
344
|
|
|
335
345
|
|
|
336
346
|
|
|
@@ -641,6 +651,8 @@
|
|
|
641
651
|
|
|
642
652
|
|
|
643
653
|
|
|
654
|
+
|
|
655
|
+
|
|
644
656
|
|
|
645
657
|
|
|
646
658
|
|
|
@@ -788,6 +800,34 @@
|
|
|
788
800
|
|
|
789
801
|
|
|
790
802
|
|
|
803
|
+
<li class="md-nav__item">
|
|
804
|
+
<a href="../getting-started/builds.html" class="md-nav__link">
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
<span class="md-ellipsis">
|
|
809
|
+
|
|
810
|
+
|
|
811
|
+
Builds
|
|
812
|
+
|
|
813
|
+
|
|
814
|
+
|
|
815
|
+
</span>
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
</a>
|
|
820
|
+
</li>
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
|
|
791
831
|
|
|
792
832
|
|
|
793
833
|
|
|
@@ -814,7 +854,7 @@
|
|
|
814
854
|
|
|
815
855
|
|
|
816
856
|
|
|
817
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
857
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6" >
|
|
818
858
|
|
|
819
859
|
|
|
820
860
|
<div class="md-nav__link md-nav__container">
|
|
@@ -836,14 +876,14 @@
|
|
|
836
876
|
</a>
|
|
837
877
|
|
|
838
878
|
|
|
839
|
-
<label class="md-nav__link " for="
|
|
879
|
+
<label class="md-nav__link " for="__nav_3_6" id="__nav_3_6_label" tabindex="0">
|
|
840
880
|
<span class="md-nav__icon md-icon"></span>
|
|
841
881
|
</label>
|
|
842
882
|
|
|
843
883
|
</div>
|
|
844
884
|
|
|
845
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
846
|
-
<label class="md-nav__title" for="
|
|
885
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_6_label" aria-expanded="false">
|
|
886
|
+
<label class="md-nav__title" for="__nav_3_6">
|
|
847
887
|
<span class="md-nav__icon md-icon"></span>
|
|
848
888
|
|
|
849
889
|
|
|
@@ -2410,6 +2450,8 @@
|
|
|
2410
2450
|
|
|
2411
2451
|
|
|
2412
2452
|
|
|
2453
|
+
|
|
2454
|
+
|
|
2413
2455
|
|
|
2414
2456
|
|
|
2415
2457
|
|
|
@@ -3041,8 +3083,61 @@
|
|
|
3041
3083
|
|
|
3042
3084
|
|
|
3043
3085
|
<li class="md-nav__item">
|
|
3044
|
-
<a href="../plugins/
|
|
3086
|
+
<a href="../plugins/sanitize.html" class="md-nav__link">
|
|
3087
|
+
|
|
3088
|
+
|
|
3089
|
+
|
|
3090
|
+
<span class="md-ellipsis">
|
|
3091
|
+
|
|
3092
|
+
|
|
3093
|
+
Sanitize (ASan, UBSan & Leaks)
|
|
3094
|
+
|
|
3095
|
+
|
|
3096
|
+
|
|
3097
|
+
</span>
|
|
3098
|
+
|
|
3099
|
+
|
|
3100
|
+
|
|
3101
|
+
</a>
|
|
3102
|
+
</li>
|
|
3103
|
+
|
|
3104
|
+
|
|
3105
|
+
|
|
3106
|
+
|
|
3107
|
+
|
|
3108
|
+
|
|
3109
|
+
|
|
3110
|
+
|
|
3111
|
+
|
|
3112
|
+
|
|
3113
|
+
|
|
3114
|
+
|
|
3115
|
+
|
|
3116
|
+
|
|
3117
|
+
|
|
3118
|
+
|
|
3119
|
+
|
|
3120
|
+
|
|
3121
|
+
|
|
3122
|
+
|
|
3123
|
+
|
|
3124
|
+
|
|
3125
|
+
|
|
3126
|
+
|
|
3127
|
+
|
|
3128
|
+
|
|
3129
|
+
|
|
3130
|
+
|
|
3131
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
3132
|
+
|
|
3133
|
+
|
|
3134
|
+
|
|
3135
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_13" >
|
|
3045
3136
|
|
|
3137
|
+
|
|
3138
|
+
<div class="md-nav__link md-nav__container">
|
|
3139
|
+
<a href="../plugins/bullseye/index.html" class="md-nav__link ">
|
|
3140
|
+
|
|
3046
3141
|
|
|
3047
3142
|
|
|
3048
3143
|
<span class="md-ellipsis">
|
|
@@ -3052,6 +3147,50 @@
|
|
|
3052
3147
|
|
|
3053
3148
|
|
|
3054
3149
|
|
|
3150
|
+
</span>
|
|
3151
|
+
|
|
3152
|
+
|
|
3153
|
+
|
|
3154
|
+
</a>
|
|
3155
|
+
|
|
3156
|
+
|
|
3157
|
+
<label class="md-nav__link " for="__nav_6_13" id="__nav_6_13_label" tabindex="0">
|
|
3158
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3159
|
+
</label>
|
|
3160
|
+
|
|
3161
|
+
</div>
|
|
3162
|
+
|
|
3163
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_13_label" aria-expanded="false">
|
|
3164
|
+
<label class="md-nav__title" for="__nav_6_13">
|
|
3165
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3166
|
+
|
|
3167
|
+
|
|
3168
|
+
Bullseye (Coverage)
|
|
3169
|
+
|
|
3170
|
+
|
|
3171
|
+
</label>
|
|
3172
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
3173
|
+
|
|
3174
|
+
|
|
3175
|
+
|
|
3176
|
+
|
|
3177
|
+
|
|
3178
|
+
|
|
3179
|
+
|
|
3180
|
+
|
|
3181
|
+
|
|
3182
|
+
<li class="md-nav__item">
|
|
3183
|
+
<a href="../plugins/bullseye/licensing.html" class="md-nav__link">
|
|
3184
|
+
|
|
3185
|
+
|
|
3186
|
+
|
|
3187
|
+
<span class="md-ellipsis">
|
|
3188
|
+
|
|
3189
|
+
|
|
3190
|
+
Licensing
|
|
3191
|
+
|
|
3192
|
+
|
|
3193
|
+
|
|
3055
3194
|
</span>
|
|
3056
3195
|
|
|
3057
3196
|
|
|
@@ -3062,6 +3201,14 @@
|
|
|
3062
3201
|
|
|
3063
3202
|
|
|
3064
3203
|
|
|
3204
|
+
</ul>
|
|
3205
|
+
</nav>
|
|
3206
|
+
|
|
3207
|
+
</li>
|
|
3208
|
+
|
|
3209
|
+
|
|
3210
|
+
|
|
3211
|
+
|
|
3065
3212
|
|
|
3066
3213
|
|
|
3067
3214
|
|
|
@@ -3531,6 +3678,12 @@
|
|
|
3531
3678
|
|
|
3532
3679
|
|
|
3533
3680
|
|
|
3681
|
+
|
|
3682
|
+
|
|
3683
|
+
|
|
3684
|
+
|
|
3685
|
+
|
|
3686
|
+
|
|
3534
3687
|
|
|
3535
3688
|
|
|
3536
3689
|
|
|
@@ -3550,8 +3703,9 @@
|
|
|
3550
3703
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
3551
3704
|
|
|
3552
3705
|
|
|
3553
|
-
<
|
|
3554
|
-
|
|
3706
|
+
<div class="md-nav__link md-nav__container">
|
|
3707
|
+
<a href="../project/index.html" class="md-nav__link ">
|
|
3708
|
+
|
|
3555
3709
|
|
|
3556
3710
|
|
|
3557
3711
|
<span class="md-ellipsis">
|
|
@@ -3565,8 +3719,14 @@
|
|
|
3565
3719
|
|
|
3566
3720
|
|
|
3567
3721
|
|
|
3568
|
-
|
|
3569
|
-
|
|
3722
|
+
</a>
|
|
3723
|
+
|
|
3724
|
+
|
|
3725
|
+
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
3726
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3727
|
+
</label>
|
|
3728
|
+
|
|
3729
|
+
</div>
|
|
3570
3730
|
|
|
3571
3731
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
3572
3732
|
<label class="md-nav__title" for="__nav_8">
|
|
@@ -3580,6 +3740,8 @@
|
|
|
3580
3740
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
3581
3741
|
|
|
3582
3742
|
|
|
3743
|
+
|
|
3744
|
+
|
|
3583
3745
|
|
|
3584
3746
|
|
|
3585
3747
|
|
|
@@ -3613,6 +3775,34 @@
|
|
|
3613
3775
|
|
|
3614
3776
|
|
|
3615
3777
|
|
|
3778
|
+
<li class="md-nav__item">
|
|
3779
|
+
<a href="../project/sbom.html" class="md-nav__link">
|
|
3780
|
+
|
|
3781
|
+
|
|
3782
|
+
|
|
3783
|
+
<span class="md-ellipsis">
|
|
3784
|
+
|
|
3785
|
+
|
|
3786
|
+
Software Bill of Materials
|
|
3787
|
+
|
|
3788
|
+
|
|
3789
|
+
|
|
3790
|
+
</span>
|
|
3791
|
+
|
|
3792
|
+
|
|
3793
|
+
|
|
3794
|
+
</a>
|
|
3795
|
+
</li>
|
|
3796
|
+
|
|
3797
|
+
|
|
3798
|
+
|
|
3799
|
+
|
|
3800
|
+
|
|
3801
|
+
|
|
3802
|
+
|
|
3803
|
+
|
|
3804
|
+
|
|
3805
|
+
|
|
3616
3806
|
<li class="md-nav__item">
|
|
3617
3807
|
<a href="../project/upgrade.html" class="md-nav__link">
|
|
3618
3808
|
|
|
@@ -3685,6 +3875,8 @@
|
|
|
3685
3875
|
|
|
3686
3876
|
|
|
3687
3877
|
|
|
3878
|
+
|
|
3879
|
+
|
|
3688
3880
|
|
|
3689
3881
|
|
|
3690
3882
|
|
|
@@ -3811,6 +4003,17 @@
|
|
|
3811
4003
|
</label>
|
|
3812
4004
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
3813
4005
|
|
|
4006
|
+
<li class="md-nav__item">
|
|
4007
|
+
<a href="#code-organization" class="md-nav__link">
|
|
4008
|
+
<span class="md-ellipsis">
|
|
4009
|
+
|
|
4010
|
+
Code organization
|
|
4011
|
+
|
|
4012
|
+
</span>
|
|
4013
|
+
</a>
|
|
4014
|
+
|
|
4015
|
+
</li>
|
|
4016
|
+
|
|
3814
4017
|
<li class="md-nav__item">
|
|
3815
4018
|
<a href="#installation-options" class="md-nav__link">
|
|
3816
4019
|
<span class="md-ellipsis">
|
|
@@ -3915,6 +4118,28 @@
|
|
|
3915
4118
|
</span>
|
|
3916
4119
|
</a>
|
|
3917
4120
|
|
|
4121
|
+
</li>
|
|
4122
|
+
|
|
4123
|
+
<li class="md-nav__item">
|
|
4124
|
+
<a href="#recording-a-dependencys-license" class="md-nav__link">
|
|
4125
|
+
<span class="md-ellipsis">
|
|
4126
|
+
|
|
4127
|
+
Recording a dependency’s license
|
|
4128
|
+
|
|
4129
|
+
</span>
|
|
4130
|
+
</a>
|
|
4131
|
+
|
|
4132
|
+
</li>
|
|
4133
|
+
|
|
4134
|
+
<li class="md-nav__item">
|
|
4135
|
+
<a href="#updating-a-vendored-component" class="md-nav__link">
|
|
4136
|
+
<span class="md-ellipsis">
|
|
4137
|
+
|
|
4138
|
+
Updating a vendored component
|
|
4139
|
+
|
|
4140
|
+
</span>
|
|
4141
|
+
</a>
|
|
4142
|
+
|
|
3918
4143
|
</li>
|
|
3919
4144
|
|
|
3920
4145
|
</ul>
|
|
@@ -3934,58 +4159,270 @@
|
|
|
3934
4159
|
</li>
|
|
3935
4160
|
|
|
3936
4161
|
<li class="md-nav__item">
|
|
3937
|
-
<a href="#
|
|
4162
|
+
<a href="#troubleshooting-system-tests" class="md-nav__link">
|
|
3938
4163
|
<span class="md-ellipsis">
|
|
3939
4164
|
|
|
3940
|
-
|
|
4165
|
+
Troubleshooting system tests
|
|
3941
4166
|
|
|
3942
4167
|
</span>
|
|
3943
4168
|
</a>
|
|
3944
4169
|
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
4170
|
+
<nav class="md-nav" aria-label="Troubleshooting system tests">
|
|
4171
|
+
<ul class="md-nav__list">
|
|
4172
|
+
|
|
4173
|
+
<li class="md-nav__item">
|
|
4174
|
+
<a href="#retained-artifacts" class="md-nav__link">
|
|
3949
4175
|
<span class="md-ellipsis">
|
|
3950
4176
|
|
|
3951
|
-
|
|
4177
|
+
Retained artifacts
|
|
3952
4178
|
|
|
3953
4179
|
</span>
|
|
3954
4180
|
</a>
|
|
3955
4181
|
|
|
3956
4182
|
</li>
|
|
4183
|
+
|
|
4184
|
+
<li class="md-nav__item">
|
|
4185
|
+
<a href="#failure-output-at-the-console" class="md-nav__link">
|
|
4186
|
+
<span class="md-ellipsis">
|
|
3957
4187
|
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
</nav>
|
|
4188
|
+
Failure output at the console
|
|
3961
4189
|
|
|
3962
|
-
</
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
4190
|
+
</span>
|
|
4191
|
+
</a>
|
|
3972
4192
|
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
4193
|
+
</li>
|
|
3978
4194
|
|
|
4195
|
+
<li class="md-nav__item">
|
|
4196
|
+
<a href="#artifacts-from-a-failed-ci-run" class="md-nav__link">
|
|
4197
|
+
<span class="md-ellipsis">
|
|
3979
4198
|
|
|
3980
|
-
|
|
4199
|
+
Artifacts from a failed CI run
|
|
3981
4200
|
|
|
4201
|
+
</span>
|
|
4202
|
+
</a>
|
|
4203
|
+
|
|
4204
|
+
</li>
|
|
3982
4205
|
|
|
4206
|
+
</ul>
|
|
4207
|
+
</nav>
|
|
4208
|
+
|
|
4209
|
+
</li>
|
|
3983
4210
|
|
|
3984
|
-
|
|
4211
|
+
<li class="md-nav__item">
|
|
4212
|
+
<a href="#linting" class="md-nav__link">
|
|
4213
|
+
<span class="md-ellipsis">
|
|
3985
4214
|
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
4215
|
+
Linting
|
|
4216
|
+
|
|
4217
|
+
</span>
|
|
4218
|
+
</a>
|
|
4219
|
+
|
|
4220
|
+
<nav class="md-nav" aria-label="Linting">
|
|
4221
|
+
<ul class="md-nav__list">
|
|
4222
|
+
|
|
4223
|
+
<li class="md-nav__item">
|
|
4224
|
+
<a href="#the-offense-backlog" class="md-nav__link">
|
|
4225
|
+
<span class="md-ellipsis">
|
|
4226
|
+
|
|
4227
|
+
The offense backlog
|
|
4228
|
+
|
|
4229
|
+
</span>
|
|
4230
|
+
</a>
|
|
4231
|
+
|
|
4232
|
+
</li>
|
|
4233
|
+
|
|
4234
|
+
<li class="md-nav__item">
|
|
4235
|
+
<a href="#linting-in-continuous-integration" class="md-nav__link">
|
|
4236
|
+
<span class="md-ellipsis">
|
|
4237
|
+
|
|
4238
|
+
Linting in continuous integration
|
|
4239
|
+
|
|
4240
|
+
</span>
|
|
4241
|
+
</a>
|
|
4242
|
+
|
|
4243
|
+
</li>
|
|
4244
|
+
|
|
4245
|
+
</ul>
|
|
4246
|
+
</nav>
|
|
4247
|
+
|
|
4248
|
+
</li>
|
|
4249
|
+
|
|
4250
|
+
<li class="md-nav__item">
|
|
4251
|
+
<a href="#profiling" class="md-nav__link">
|
|
4252
|
+
<span class="md-ellipsis">
|
|
4253
|
+
|
|
4254
|
+
Profiling
|
|
4255
|
+
|
|
4256
|
+
</span>
|
|
4257
|
+
</a>
|
|
4258
|
+
|
|
4259
|
+
<nav class="md-nav" aria-label="Profiling">
|
|
4260
|
+
<ul class="md-nav__list">
|
|
4261
|
+
|
|
4262
|
+
<li class="md-nav__item">
|
|
4263
|
+
<a href="#reports" class="md-nav__link">
|
|
4264
|
+
<span class="md-ellipsis">
|
|
4265
|
+
|
|
4266
|
+
Reports
|
|
4267
|
+
|
|
4268
|
+
</span>
|
|
4269
|
+
</a>
|
|
4270
|
+
|
|
4271
|
+
</li>
|
|
4272
|
+
|
|
4273
|
+
<li class="md-nav__item">
|
|
4274
|
+
<a href="#reading-a-report" class="md-nav__link">
|
|
4275
|
+
<span class="md-ellipsis">
|
|
4276
|
+
|
|
4277
|
+
Reading a report
|
|
4278
|
+
|
|
4279
|
+
</span>
|
|
4280
|
+
</a>
|
|
4281
|
+
|
|
4282
|
+
</li>
|
|
4283
|
+
|
|
4284
|
+
</ul>
|
|
4285
|
+
</nav>
|
|
4286
|
+
|
|
4287
|
+
</li>
|
|
4288
|
+
|
|
4289
|
+
<li class="md-nav__item">
|
|
4290
|
+
<a href="#building-the-gem" class="md-nav__link">
|
|
4291
|
+
<span class="md-ellipsis">
|
|
4292
|
+
|
|
4293
|
+
Building the gem
|
|
4294
|
+
|
|
4295
|
+
</span>
|
|
4296
|
+
</a>
|
|
4297
|
+
|
|
4298
|
+
<nav class="md-nav" aria-label="Building the gem">
|
|
4299
|
+
<ul class="md-nav__list">
|
|
4300
|
+
|
|
4301
|
+
<li class="md-nav__item">
|
|
4302
|
+
<a href="#generating-the-bill-of-materials" class="md-nav__link">
|
|
4303
|
+
<span class="md-ellipsis">
|
|
4304
|
+
|
|
4305
|
+
Generating the Bill of Materials
|
|
4306
|
+
|
|
4307
|
+
</span>
|
|
4308
|
+
</a>
|
|
4309
|
+
|
|
4310
|
+
</li>
|
|
4311
|
+
|
|
4312
|
+
</ul>
|
|
4313
|
+
</nav>
|
|
4314
|
+
|
|
4315
|
+
</li>
|
|
4316
|
+
|
|
4317
|
+
<li class="md-nav__item">
|
|
4318
|
+
<a href="#documentation" class="md-nav__link">
|
|
4319
|
+
<span class="md-ellipsis">
|
|
4320
|
+
|
|
4321
|
+
Documentation
|
|
4322
|
+
|
|
4323
|
+
</span>
|
|
4324
|
+
</a>
|
|
4325
|
+
|
|
4326
|
+
<nav class="md-nav" aria-label="Documentation">
|
|
4327
|
+
<ul class="md-nav__list">
|
|
4328
|
+
|
|
4329
|
+
<li class="md-nav__item">
|
|
4330
|
+
<a href="#developer-documentation" class="md-nav__link">
|
|
4331
|
+
<span class="md-ellipsis">
|
|
4332
|
+
|
|
4333
|
+
Developer documentation
|
|
4334
|
+
|
|
4335
|
+
</span>
|
|
4336
|
+
</a>
|
|
4337
|
+
|
|
4338
|
+
</li>
|
|
4339
|
+
|
|
4340
|
+
<li class="md-nav__item">
|
|
4341
|
+
<a href="#user-documentation" class="md-nav__link">
|
|
4342
|
+
<span class="md-ellipsis">
|
|
4343
|
+
|
|
4344
|
+
User documentation
|
|
4345
|
+
|
|
4346
|
+
</span>
|
|
4347
|
+
</a>
|
|
4348
|
+
|
|
4349
|
+
</li>
|
|
4350
|
+
|
|
4351
|
+
</ul>
|
|
4352
|
+
</nav>
|
|
4353
|
+
|
|
4354
|
+
</li>
|
|
4355
|
+
|
|
4356
|
+
<li class="md-nav__item">
|
|
4357
|
+
<a href="#bin-vs-lib" class="md-nav__link">
|
|
4358
|
+
<span class="md-ellipsis">
|
|
4359
|
+
|
|
4360
|
+
bin/ vs. lib/
|
|
4361
|
+
|
|
4362
|
+
</span>
|
|
4363
|
+
</a>
|
|
4364
|
+
|
|
4365
|
+
</li>
|
|
4366
|
+
|
|
4367
|
+
</ul>
|
|
4368
|
+
|
|
4369
|
+
</nav>
|
|
4370
|
+
|
|
4371
|
+
</li>
|
|
4372
|
+
|
|
4373
|
+
|
|
4374
|
+
|
|
4375
|
+
|
|
4376
|
+
|
|
4377
|
+
|
|
4378
|
+
|
|
4379
|
+
|
|
4380
|
+
|
|
4381
|
+
|
|
4382
|
+
<li class="md-nav__item">
|
|
4383
|
+
<a href="releases.html" class="md-nav__link">
|
|
4384
|
+
|
|
4385
|
+
|
|
4386
|
+
|
|
4387
|
+
<span class="md-ellipsis">
|
|
4388
|
+
|
|
4389
|
+
|
|
4390
|
+
Branching & Releases
|
|
4391
|
+
|
|
4392
|
+
|
|
4393
|
+
|
|
4394
|
+
</span>
|
|
4395
|
+
|
|
4396
|
+
|
|
4397
|
+
|
|
4398
|
+
</a>
|
|
4399
|
+
</li>
|
|
4400
|
+
|
|
4401
|
+
|
|
4402
|
+
|
|
4403
|
+
|
|
4404
|
+
|
|
4405
|
+
|
|
4406
|
+
|
|
4407
|
+
|
|
4408
|
+
|
|
4409
|
+
|
|
4410
|
+
|
|
4411
|
+
|
|
4412
|
+
|
|
4413
|
+
|
|
4414
|
+
|
|
4415
|
+
|
|
4416
|
+
|
|
4417
|
+
|
|
4418
|
+
|
|
4419
|
+
|
|
4420
|
+
|
|
4421
|
+
|
|
4422
|
+
|
|
4423
|
+
|
|
4424
|
+
|
|
4425
|
+
|
|
3989
4426
|
|
|
3990
4427
|
|
|
3991
4428
|
|
|
@@ -3999,7 +4436,7 @@
|
|
|
3999
4436
|
|
|
4000
4437
|
|
|
4001
4438
|
|
|
4002
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
4439
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_4" >
|
|
4003
4440
|
|
|
4004
4441
|
|
|
4005
4442
|
<div class="md-nav__link md-nav__container">
|
|
@@ -4021,14 +4458,14 @@
|
|
|
4021
4458
|
</a>
|
|
4022
4459
|
|
|
4023
4460
|
|
|
4024
|
-
<label class="md-nav__link " for="
|
|
4461
|
+
<label class="md-nav__link " for="__nav_10_4" id="__nav_10_4_label" tabindex="">
|
|
4025
4462
|
<span class="md-nav__icon md-icon"></span>
|
|
4026
4463
|
</label>
|
|
4027
4464
|
|
|
4028
4465
|
</div>
|
|
4029
4466
|
|
|
4030
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
4031
|
-
<label class="md-nav__title" for="
|
|
4467
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_4_label" aria-expanded="false">
|
|
4468
|
+
<label class="md-nav__title" for="__nav_10_4">
|
|
4032
4469
|
<span class="md-nav__icon md-icon"></span>
|
|
4033
4470
|
|
|
4034
4471
|
|
|
@@ -4165,6 +4602,17 @@
|
|
|
4165
4602
|
</label>
|
|
4166
4603
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
4167
4604
|
|
|
4605
|
+
<li class="md-nav__item">
|
|
4606
|
+
<a href="#code-organization" class="md-nav__link">
|
|
4607
|
+
<span class="md-ellipsis">
|
|
4608
|
+
|
|
4609
|
+
Code organization
|
|
4610
|
+
|
|
4611
|
+
</span>
|
|
4612
|
+
</a>
|
|
4613
|
+
|
|
4614
|
+
</li>
|
|
4615
|
+
|
|
4168
4616
|
<li class="md-nav__item">
|
|
4169
4617
|
<a href="#installation-options" class="md-nav__link">
|
|
4170
4618
|
<span class="md-ellipsis">
|
|
@@ -4269,6 +4717,28 @@
|
|
|
4269
4717
|
</span>
|
|
4270
4718
|
</a>
|
|
4271
4719
|
|
|
4720
|
+
</li>
|
|
4721
|
+
|
|
4722
|
+
<li class="md-nav__item">
|
|
4723
|
+
<a href="#recording-a-dependencys-license" class="md-nav__link">
|
|
4724
|
+
<span class="md-ellipsis">
|
|
4725
|
+
|
|
4726
|
+
Recording a dependency’s license
|
|
4727
|
+
|
|
4728
|
+
</span>
|
|
4729
|
+
</a>
|
|
4730
|
+
|
|
4731
|
+
</li>
|
|
4732
|
+
|
|
4733
|
+
<li class="md-nav__item">
|
|
4734
|
+
<a href="#updating-a-vendored-component" class="md-nav__link">
|
|
4735
|
+
<span class="md-ellipsis">
|
|
4736
|
+
|
|
4737
|
+
Updating a vendored component
|
|
4738
|
+
|
|
4739
|
+
</span>
|
|
4740
|
+
</a>
|
|
4741
|
+
|
|
4272
4742
|
</li>
|
|
4273
4743
|
|
|
4274
4744
|
</ul>
|
|
@@ -4285,6 +4755,162 @@
|
|
|
4285
4755
|
</span>
|
|
4286
4756
|
</a>
|
|
4287
4757
|
|
|
4758
|
+
</li>
|
|
4759
|
+
|
|
4760
|
+
<li class="md-nav__item">
|
|
4761
|
+
<a href="#troubleshooting-system-tests" class="md-nav__link">
|
|
4762
|
+
<span class="md-ellipsis">
|
|
4763
|
+
|
|
4764
|
+
Troubleshooting system tests
|
|
4765
|
+
|
|
4766
|
+
</span>
|
|
4767
|
+
</a>
|
|
4768
|
+
|
|
4769
|
+
<nav class="md-nav" aria-label="Troubleshooting system tests">
|
|
4770
|
+
<ul class="md-nav__list">
|
|
4771
|
+
|
|
4772
|
+
<li class="md-nav__item">
|
|
4773
|
+
<a href="#retained-artifacts" class="md-nav__link">
|
|
4774
|
+
<span class="md-ellipsis">
|
|
4775
|
+
|
|
4776
|
+
Retained artifacts
|
|
4777
|
+
|
|
4778
|
+
</span>
|
|
4779
|
+
</a>
|
|
4780
|
+
|
|
4781
|
+
</li>
|
|
4782
|
+
|
|
4783
|
+
<li class="md-nav__item">
|
|
4784
|
+
<a href="#failure-output-at-the-console" class="md-nav__link">
|
|
4785
|
+
<span class="md-ellipsis">
|
|
4786
|
+
|
|
4787
|
+
Failure output at the console
|
|
4788
|
+
|
|
4789
|
+
</span>
|
|
4790
|
+
</a>
|
|
4791
|
+
|
|
4792
|
+
</li>
|
|
4793
|
+
|
|
4794
|
+
<li class="md-nav__item">
|
|
4795
|
+
<a href="#artifacts-from-a-failed-ci-run" class="md-nav__link">
|
|
4796
|
+
<span class="md-ellipsis">
|
|
4797
|
+
|
|
4798
|
+
Artifacts from a failed CI run
|
|
4799
|
+
|
|
4800
|
+
</span>
|
|
4801
|
+
</a>
|
|
4802
|
+
|
|
4803
|
+
</li>
|
|
4804
|
+
|
|
4805
|
+
</ul>
|
|
4806
|
+
</nav>
|
|
4807
|
+
|
|
4808
|
+
</li>
|
|
4809
|
+
|
|
4810
|
+
<li class="md-nav__item">
|
|
4811
|
+
<a href="#linting" class="md-nav__link">
|
|
4812
|
+
<span class="md-ellipsis">
|
|
4813
|
+
|
|
4814
|
+
Linting
|
|
4815
|
+
|
|
4816
|
+
</span>
|
|
4817
|
+
</a>
|
|
4818
|
+
|
|
4819
|
+
<nav class="md-nav" aria-label="Linting">
|
|
4820
|
+
<ul class="md-nav__list">
|
|
4821
|
+
|
|
4822
|
+
<li class="md-nav__item">
|
|
4823
|
+
<a href="#the-offense-backlog" class="md-nav__link">
|
|
4824
|
+
<span class="md-ellipsis">
|
|
4825
|
+
|
|
4826
|
+
The offense backlog
|
|
4827
|
+
|
|
4828
|
+
</span>
|
|
4829
|
+
</a>
|
|
4830
|
+
|
|
4831
|
+
</li>
|
|
4832
|
+
|
|
4833
|
+
<li class="md-nav__item">
|
|
4834
|
+
<a href="#linting-in-continuous-integration" class="md-nav__link">
|
|
4835
|
+
<span class="md-ellipsis">
|
|
4836
|
+
|
|
4837
|
+
Linting in continuous integration
|
|
4838
|
+
|
|
4839
|
+
</span>
|
|
4840
|
+
</a>
|
|
4841
|
+
|
|
4842
|
+
</li>
|
|
4843
|
+
|
|
4844
|
+
</ul>
|
|
4845
|
+
</nav>
|
|
4846
|
+
|
|
4847
|
+
</li>
|
|
4848
|
+
|
|
4849
|
+
<li class="md-nav__item">
|
|
4850
|
+
<a href="#profiling" class="md-nav__link">
|
|
4851
|
+
<span class="md-ellipsis">
|
|
4852
|
+
|
|
4853
|
+
Profiling
|
|
4854
|
+
|
|
4855
|
+
</span>
|
|
4856
|
+
</a>
|
|
4857
|
+
|
|
4858
|
+
<nav class="md-nav" aria-label="Profiling">
|
|
4859
|
+
<ul class="md-nav__list">
|
|
4860
|
+
|
|
4861
|
+
<li class="md-nav__item">
|
|
4862
|
+
<a href="#reports" class="md-nav__link">
|
|
4863
|
+
<span class="md-ellipsis">
|
|
4864
|
+
|
|
4865
|
+
Reports
|
|
4866
|
+
|
|
4867
|
+
</span>
|
|
4868
|
+
</a>
|
|
4869
|
+
|
|
4870
|
+
</li>
|
|
4871
|
+
|
|
4872
|
+
<li class="md-nav__item">
|
|
4873
|
+
<a href="#reading-a-report" class="md-nav__link">
|
|
4874
|
+
<span class="md-ellipsis">
|
|
4875
|
+
|
|
4876
|
+
Reading a report
|
|
4877
|
+
|
|
4878
|
+
</span>
|
|
4879
|
+
</a>
|
|
4880
|
+
|
|
4881
|
+
</li>
|
|
4882
|
+
|
|
4883
|
+
</ul>
|
|
4884
|
+
</nav>
|
|
4885
|
+
|
|
4886
|
+
</li>
|
|
4887
|
+
|
|
4888
|
+
<li class="md-nav__item">
|
|
4889
|
+
<a href="#building-the-gem" class="md-nav__link">
|
|
4890
|
+
<span class="md-ellipsis">
|
|
4891
|
+
|
|
4892
|
+
Building the gem
|
|
4893
|
+
|
|
4894
|
+
</span>
|
|
4895
|
+
</a>
|
|
4896
|
+
|
|
4897
|
+
<nav class="md-nav" aria-label="Building the gem">
|
|
4898
|
+
<ul class="md-nav__list">
|
|
4899
|
+
|
|
4900
|
+
<li class="md-nav__item">
|
|
4901
|
+
<a href="#generating-the-bill-of-materials" class="md-nav__link">
|
|
4902
|
+
<span class="md-ellipsis">
|
|
4903
|
+
|
|
4904
|
+
Generating the Bill of Materials
|
|
4905
|
+
|
|
4906
|
+
</span>
|
|
4907
|
+
</a>
|
|
4908
|
+
|
|
4909
|
+
</li>
|
|
4910
|
+
|
|
4911
|
+
</ul>
|
|
4912
|
+
</nav>
|
|
4913
|
+
|
|
4288
4914
|
</li>
|
|
4289
4915
|
|
|
4290
4916
|
<li class="md-nav__item">
|
|
@@ -4296,6 +4922,34 @@
|
|
|
4296
4922
|
</span>
|
|
4297
4923
|
</a>
|
|
4298
4924
|
|
|
4925
|
+
<nav class="md-nav" aria-label="Documentation">
|
|
4926
|
+
<ul class="md-nav__list">
|
|
4927
|
+
|
|
4928
|
+
<li class="md-nav__item">
|
|
4929
|
+
<a href="#developer-documentation" class="md-nav__link">
|
|
4930
|
+
<span class="md-ellipsis">
|
|
4931
|
+
|
|
4932
|
+
Developer documentation
|
|
4933
|
+
|
|
4934
|
+
</span>
|
|
4935
|
+
</a>
|
|
4936
|
+
|
|
4937
|
+
</li>
|
|
4938
|
+
|
|
4939
|
+
<li class="md-nav__item">
|
|
4940
|
+
<a href="#user-documentation" class="md-nav__link">
|
|
4941
|
+
<span class="md-ellipsis">
|
|
4942
|
+
|
|
4943
|
+
User documentation
|
|
4944
|
+
|
|
4945
|
+
</span>
|
|
4946
|
+
</a>
|
|
4947
|
+
|
|
4948
|
+
</li>
|
|
4949
|
+
|
|
4950
|
+
</ul>
|
|
4951
|
+
</nav>
|
|
4952
|
+
|
|
4299
4953
|
</li>
|
|
4300
4954
|
|
|
4301
4955
|
<li class="md-nav__item">
|
|
@@ -4378,6 +5032,23 @@
|
|
|
4378
5032
|
|
|
4379
5033
|
|
|
4380
5034
|
<h1 id="ceedling-development">Ceedling development</h1>
|
|
5035
|
+
<h2 id="code-organization">Code organization</h2>
|
|
5036
|
+
<p>There are two top-level code directories:</p>
|
|
5037
|
+
<ol>
|
|
5038
|
+
<li><code>bin/</code> This is the “bootloader” that encompasses the command line
|
|
5039
|
+
handler and loading the project configuration including merging
|
|
5040
|
+
Mixins. All applications commands are executed from within this
|
|
5041
|
+
code (<a href="../getting-started/command-line.html">application commands are distinct from build/plugin tasks</a>).</li>
|
|
5042
|
+
<li><code>lib/ceedling/</code> This is the application itself. Major subsystems
|
|
5043
|
+
are organized in subdirectories. Configuration processing happens
|
|
5044
|
+
in the main application.</li>
|
|
5045
|
+
</ol>
|
|
5046
|
+
<p>The handoff from (1) to (2) involves:</p>
|
|
5047
|
+
<ol>
|
|
5048
|
+
<li>Triggering the loaded and merged configuration to undergo
|
|
5049
|
+
processing, validation, and plugin loading.</li>
|
|
5050
|
+
<li>Triggering the build/plugin task named at the command line.</li>
|
|
5051
|
+
</ol>
|
|
4381
5052
|
<h2 id="installation-options">Installation options</h2>
|
|
4382
5053
|
<h3 id="local-installation">Local installation</h3>
|
|
4383
5054
|
<p>After installing Ruby…</p>
|
|
@@ -4517,7 +5188,7 @@ flag must be passed explicitly every time.</p>
|
|
|
4517
5188
|
<p class="admonition-title">Tip</p>
|
|
4518
5189
|
<p>If you'd rather not remember the <code>--prefer-local</code>, add a shell alias,
|
|
4519
5190
|
e.g. in <code>~/.bashrc</code> / <code>~/.zshrc</code>:</p>
|
|
4520
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="nb">alias</span><span class="w"> </span>bundle-install-local<span class="o">=</span><span class="s2"
|
|
5191
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="nb">alias</span><span class="w"> </span>bundle-install-local<span class="o">=</span><span class="s2">"bundle install --prefer-local"</span>
|
|
4521
5192
|
</code></pre></div>
|
|
4522
5193
|
</div>
|
|
4523
5194
|
<h3 id="checking-your-environment-without-installing-anything">Checking your environment without installing anything</h3>
|
|
@@ -4536,25 +5207,303 @@ automatically; if you ever invoke an RSpec or Ruby command directly
|
|
|
4536
5207
|
instead of through a Rake task, prefix it with <code>bundle exec</code>:</p>
|
|
4537
5208
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="w"> </span>><span class="w"> </span>bundle<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>rspec<span class="w"> </span>spec/some_spec.rb
|
|
4538
5209
|
</code></pre></div>
|
|
5210
|
+
<h3 id="recording-a-dependencys-license">Recording a dependency’s license</h3>
|
|
5211
|
+
<p>Changing a runtime dependency means recording its license. The generated
|
|
5212
|
+
<a href="../project/sbom.html">Software Bill of Materials</a> carries a license for every gem a user
|
|
5213
|
+
installs, and that comes from a curated list in <code>tools/sbom/gem_licenses.rb</code>
|
|
5214
|
+
rather than from <code>Gemfile.lock</code>.</p>
|
|
5215
|
+
<p>The list is curated because nothing else is accurate. <code>Gemfile.lock</code> records
|
|
5216
|
+
no license at all. A gem’s own gemspec is unreliable, and project license
|
|
5217
|
+
statements and conventions are often messy.</p>
|
|
5218
|
+
<p>Each curated entry records three things. The license is an SPDX identifier
|
|
5219
|
+
or expression. <code>verified_for</code> is the version the license was read against.
|
|
5220
|
+
<code>source</code> names where it was read.</p>
|
|
5221
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="s1">'rake'</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="p">{</span>
|
|
5222
|
+
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="w"> </span><span class="ss">license</span><span class="p">:</span><span class="w"> </span><span class="s1">'MIT'</span><span class="p">,</span>
|
|
5223
|
+
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="w"> </span><span class="ss">verified_for</span><span class="p">:</span><span class="w"> </span><span class="s1">'13.2.1'</span><span class="p">,</span>
|
|
5224
|
+
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span><span class="ss">source</span><span class="p">:</span><span class="w"> </span><span class="s2">"the gem's own gemspec"</span>
|
|
5225
|
+
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="p">},</span>
|
|
5226
|
+
</code></pre></div>
|
|
5227
|
+
<p><code>rake sbom:build</code> refuses to run when the list and the resolved dependencies
|
|
5228
|
+
disagree. It reports three kinds of disagreement and names the remedy for each.</p>
|
|
5229
|
+
<ul>
|
|
5230
|
+
<li>A dependency arrived with no entry. Read its license and add one.</li>
|
|
5231
|
+
<li>An entry outlived its dependency. Remove it.</li>
|
|
5232
|
+
<li>A version moved away from the one its entry was verified against. Read the
|
|
5233
|
+
license again, then update <code>license</code> and <code>verified_for</code> together.</li>
|
|
5234
|
+
</ul>
|
|
5235
|
+
<p>That third check is why <code>verified_for</code> exists. A license cannot be re-read
|
|
5236
|
+
without reaching the network, so a version change stands in for “worth reading
|
|
5237
|
+
again”. Because <code>Gemfile.lock</code> is generally curated by hand in this project,
|
|
5238
|
+
a version change is already a deliberate act, and this failure lands while
|
|
5239
|
+
you are editing dependencies.</p>
|
|
5240
|
+
<p>One kind of drift escapes all three checks. A gem may change its license
|
|
5241
|
+
without changing version. <code>rake sbom:licenses:audit</code> compares the list against
|
|
5242
|
+
gems installed locally and reports anything that disagrees. It reads your
|
|
5243
|
+
machine rather than the repository, so it is advisory and deliberately outside
|
|
5244
|
+
<code>sbom:build</code>.</p>
|
|
5245
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>sbom:licenses:audit
|
|
5246
|
+
</code></pre></div>
|
|
5247
|
+
<h3 id="updating-a-vendored-component">Updating a vendored component</h3>
|
|
5248
|
+
<p>Updating Unity, CMock, or CException needs no bookkeeping beyond the submodule
|
|
5249
|
+
itself. Each is identified in the SBOM by the commit it is pinned at, read from
|
|
5250
|
+
<code>git submodule status --recursive</code> at generation time.</p>
|
|
5251
|
+
<p>Vendored DIY and vendored fff are different, being plain directories rather than
|
|
5252
|
+
submodules. DIY’s version is read from its source. fff has no version of any
|
|
5253
|
+
kind upstream, and its lineage is recorded as constants in
|
|
5254
|
+
<code>tools/sbom/inventory.rb</code>. Changing either means updating those.</p>
|
|
4539
5255
|
<h2 id="running-self-tests">Running self-tests</h2>
|
|
4540
5256
|
<p>Ceedling uses <a href="https://rspec.info">RSpec</a> for its tests.</p>
|
|
4541
5257
|
<p>To execute tests you may run the following from the root of your local
|
|
4542
5258
|
Ceedling repository. This test suite build option balances test coverage
|
|
4543
5259
|
with suite execution time.</p>
|
|
4544
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5260
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>spec
|
|
4545
5261
|
</code></pre></div>
|
|
4546
5262
|
<p>To run individual test files (Ceedling’s Ruby-based tests, that is) and
|
|
4547
5263
|
perform other tasks, use the available Rake tasks. From the root of your
|
|
4548
5264
|
local Ceedling repo, list those task like this:</p>
|
|
4549
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5265
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>-T
|
|
5266
|
+
</code></pre></div>
|
|
5267
|
+
<h2 id="troubleshooting-system-tests">Troubleshooting system tests</h2>
|
|
5268
|
+
<p>System test failures are diagnosed from retained artifacts rather than from spec
|
|
5269
|
+
output alone. Each system spec deploys a real Ceedling installation into a
|
|
5270
|
+
temporary directory and runs real builds there. The RSpec failure reports which
|
|
5271
|
+
expectation failed. It does not report what the build under test actually did.</p>
|
|
5272
|
+
<p>Nothing is retained by default. A normal run deletes every temporary directory as
|
|
5273
|
+
it finishes, so a failure leaves no evidence behind.</p>
|
|
5274
|
+
<p>Two Rake tasks turn retention on.</p>
|
|
5275
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>specs:system:debug
|
|
5276
|
+
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>spec:system:debug:cli_surface
|
|
4550
5277
|
</code></pre></div>
|
|
5278
|
+
<p><code>specs:system:debug</code> runs the whole suite and keeps failures only. Passing project
|
|
5279
|
+
directories are deleted as they finish, and passing logs are never written. This
|
|
5280
|
+
is the mode CI uses.</p>
|
|
5281
|
+
<p><code>spec:system:debug:<name></code> runs one spec and keeps everything, pass and fail
|
|
5282
|
+
alike. Reach for it while working on a single spec.</p>
|
|
5283
|
+
<div class="admonition tip">
|
|
5284
|
+
<p class="admonition-title">Tip</p>
|
|
5285
|
+
<p><code>rake -T</code> advertises the family as <code>spec:system:debug:*</code>. Replace the wildcard
|
|
5286
|
+
with a spec name. <code>rake -AT spec:system:debug</code> lists every name it accepts.</p>
|
|
5287
|
+
</div>
|
|
5288
|
+
<p>Both tasks set <code>CEEDLING_SYSTEM_TEST_KEEP</code> on your behalf. Set it to <code>all</code> or
|
|
5289
|
+
<code>failures</code> yourself when driving RSpec directly.</p>
|
|
5290
|
+
<h3 id="retained-artifacts">Retained artifacts</h3>
|
|
5291
|
+
<p>Everything retained lands under <code>specout/</code> in the repository root.</p>
|
|
5292
|
+
<table>
|
|
5293
|
+
<thead>
|
|
5294
|
+
<tr>
|
|
5295
|
+
<th>Path</th>
|
|
5296
|
+
<th>Contents</th>
|
|
5297
|
+
</tr>
|
|
5298
|
+
</thead>
|
|
5299
|
+
<tbody>
|
|
5300
|
+
<tr>
|
|
5301
|
+
<td><code>specout/proj/fail/</code></td>
|
|
5302
|
+
<td>Deployed project directory for each failing spec</td>
|
|
5303
|
+
</tr>
|
|
5304
|
+
<tr>
|
|
5305
|
+
<td><code>specout/proj/pass/</code></td>
|
|
5306
|
+
<td>The same for passing specs, in <code>all</code> mode only</td>
|
|
5307
|
+
</tr>
|
|
5308
|
+
<tr>
|
|
5309
|
+
<td><code>specout/fail.<description>.<pid>-<timestamp>.log</code></td>
|
|
5310
|
+
<td>Captured console output of a failing spec</td>
|
|
5311
|
+
</tr>
|
|
5312
|
+
<tr>
|
|
5313
|
+
<td><code>specout/pass.<description>.<pid>-<timestamp>.log</code></td>
|
|
5314
|
+
<td>The same for passing specs, in <code>all</code> mode only</td>
|
|
5315
|
+
</tr>
|
|
5316
|
+
</tbody>
|
|
5317
|
+
</table>
|
|
5318
|
+
<p>Each log opens with the command that produced it, followed by that command's
|
|
5319
|
+
combined stdout and stderr.</p>
|
|
5320
|
+
<p>Each retained project directory is a complete deployment, including the vendored
|
|
5321
|
+
Ceedling the spec installed. This is where to reproduce a failure by hand. Change
|
|
5322
|
+
into it and run the same <code>ceedling</code> command the log names.</p>
|
|
5323
|
+
<h3 id="failure-output-at-the-console">Failure output at the console</h3>
|
|
5324
|
+
<p>A failing spec prints a diagnostic block to stderr before the suite continues. The
|
|
5325
|
+
block names the temporary directory, names the log file, and summarizes the
|
|
5326
|
+
captured output.</p>
|
|
5327
|
+
<p>The summary carries only what is worth reading first. It collects every line
|
|
5328
|
+
containing <code>ERROR</code> or <code>EXCEPTION</code>, the whole of stderr, any debug backtrace, and
|
|
5329
|
+
the failed and overall test summaries. Full output stays in the log file.</p>
|
|
5330
|
+
<h3 id="artifacts-from-a-failed-ci-run">Artifacts from a failed CI run</h3>
|
|
5331
|
+
<p>CI uploads the same directory whenever a test job fails. Download it from the
|
|
5332
|
+
workflow run's summary page.</p>
|
|
5333
|
+
<p>Artifacts are named <code>specout-failures-<os>-ruby-<version></code>. The two specialized
|
|
5334
|
+
jobs add <code>specout-failures-locale-ruby-3.3</code> and
|
|
5335
|
+
<code>specout-failures-encoding-stress-ruby-3.3</code>.</p>
|
|
5336
|
+
<p>CI runs in <code>failures</code> mode, so an artifact holds only failure data.</p>
|
|
5337
|
+
<h2 id="linting">Linting</h2>
|
|
5338
|
+
<p>Ceedling lints its own Ruby with <a href="https://rubocop.org">RuboCop</a>. Four departments are enforced. Lint
|
|
5339
|
+
and Security catch defects. Metrics tracks complexity. Performance flags
|
|
5340
|
+
avoidable allocations and slower idioms.</p>
|
|
5341
|
+
<p>Style, Layout, and Naming are deliberately not enforced. Those departments encode
|
|
5342
|
+
taste rather than defects, and applying them would rewrite nearly every call site
|
|
5343
|
+
in the project to no benefit. ThrowTheSwitch's house style is described in prose
|
|
5344
|
+
in the coding standard instead.</p>
|
|
5345
|
+
<p>Configuration lives in <code>.rubocop.yml</code> at the root of the repository. Every
|
|
5346
|
+
decision in that file is commented, including the cops deliberately turned down
|
|
5347
|
+
and the reasoning for each.</p>
|
|
5348
|
+
<p>The linting gems are not installed by an ordinary <code>bundle install</code>. Install them
|
|
5349
|
+
once with the setup task.</p>
|
|
5350
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint:setup
|
|
5351
|
+
</code></pre></div>
|
|
5352
|
+
<p>Then lint the whole project, or only the files your branch changed.</p>
|
|
5353
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint
|
|
5354
|
+
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint:changed
|
|
5355
|
+
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2">"lint:changed[master]"</span>
|
|
5356
|
+
</code></pre></div>
|
|
5357
|
+
<p><code>lint:changed</code> is the faster loop while working on a branch. It compares against
|
|
5358
|
+
<code>next_version</code> unless you name another branch or revision. Quote the task name so
|
|
5359
|
+
your shell does not interpret the brackets.</p>
|
|
5360
|
+
<p>Changed files include both commits on your branch and uncommitted work in your
|
|
5361
|
+
tree. Naming a branch that does not exist is an error rather than an empty
|
|
5362
|
+
result.</p>
|
|
5363
|
+
<p>RuboCop can correct some offenses itself. Only safe corrections are applied.
|
|
5364
|
+
Review the resulting diff before keeping it.</p>
|
|
5365
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint:fix
|
|
5366
|
+
</code></pre></div>
|
|
5367
|
+
<p>Metrics offenses are never autocorrectable, so this task mostly touches
|
|
5368
|
+
Performance cops.</p>
|
|
5369
|
+
<h3 id="the-offense-backlog">The offense backlog</h3>
|
|
5370
|
+
<p>A passing <code>rake lint</code> means no <em>new</em> offenses rather than zero offenses.</p>
|
|
5371
|
+
<p><code>.rubocop_todo.yml</code> records the offenses that already existed when RuboCop was
|
|
5372
|
+
adopted. Without that file every run would report all of them and bury anything
|
|
5373
|
+
newly introduced.</p>
|
|
5374
|
+
<p>The file is generated, and it is meant to shrink. Removing records as the
|
|
5375
|
+
underlying code improves is the entire point of baselining. Regenerate the file
|
|
5376
|
+
after an improvement rather than editing it by hand.</p>
|
|
5377
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint:todo
|
|
5378
|
+
</code></pre></div>
|
|
5379
|
+
<p>A decision to live with a cop permanently does not belong in the backlog. Those
|
|
5380
|
+
belong in <code>.rubocop.yml</code>, with a comment explaining why the cop is wrong for this
|
|
5381
|
+
project.</p>
|
|
5382
|
+
<h3 id="linting-in-continuous-integration">Linting in continuous integration</h3>
|
|
5383
|
+
<p>CI runs <code>rake lint</code> on every pull request. Findings appear as annotations
|
|
5384
|
+
directly on the changed lines of the diff.</p>
|
|
5385
|
+
<p>The job is advisory. It reports findings without failing the build.</p>
|
|
5386
|
+
<p>That is a starting position rather than the intent. The backlog is still large
|
|
5387
|
+
enough that a new offense is unremarkable, so blocking would obstruct more than
|
|
5388
|
+
it would protect. The job becomes blocking once the backlog has shrunk far enough
|
|
5389
|
+
that any finding is a genuine surprise.</p>
|
|
5390
|
+
<h2 id="profiling">Profiling</h2>
|
|
5391
|
+
<p>Profiling answers where a Ceedling build spends its time. It samples a real build
|
|
5392
|
+
of a real example project with <a href="https://github.com/tmm1/stackprof">StackProf</a> and renders a flame graph.</p>
|
|
5393
|
+
<p>The profiling gem is not installed by an ordinary <code>bundle install</code>. Install it
|
|
5394
|
+
once with the setup task.</p>
|
|
5395
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>profile:setup
|
|
5396
|
+
</code></pre></div>
|
|
5397
|
+
<p>Then profile any example project against any Ceedling build task.</p>
|
|
5398
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2">"profile:run[temp_sensor,test:all]"</span>
|
|
5399
|
+
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2">"profile:run[temp_sensor,clobber test:all]"</span>
|
|
5400
|
+
</code></pre></div>
|
|
5401
|
+
<p>The first argument names a project under <code>examples/</code>. The choices are
|
|
5402
|
+
<code>cipher_quest</code>, <code>temp_sensor</code>, and <code>wondrous_forest</code>. The second argument is
|
|
5403
|
+
whatever you would type after <code>ceedling</code>. Quote the task name so your shell does
|
|
5404
|
+
not interpret the brackets.</p>
|
|
5405
|
+
<h3 id="reports">Reports</h3>
|
|
5406
|
+
<p>Three files land in <code>tmp/profiling/<project>/reports/</code>, each named by timestamp.</p>
|
|
5407
|
+
<table>
|
|
5408
|
+
<thead>
|
|
5409
|
+
<tr>
|
|
5410
|
+
<th>Extension</th>
|
|
5411
|
+
<th>Contents</th>
|
|
5412
|
+
</tr>
|
|
5413
|
+
</thead>
|
|
5414
|
+
<tbody>
|
|
5415
|
+
<tr>
|
|
5416
|
+
<td><code>.txt</code></td>
|
|
5417
|
+
<td>Ranked list of the hottest frames</td>
|
|
5418
|
+
</tr>
|
|
5419
|
+
<tr>
|
|
5420
|
+
<td><code>.html</code></td>
|
|
5421
|
+
<td>Interactive flame graph</td>
|
|
5422
|
+
</tr>
|
|
5423
|
+
<tr>
|
|
5424
|
+
<td><code>.dump</code></td>
|
|
5425
|
+
<td>Raw StackProf data, for your own queries</td>
|
|
5426
|
+
</tr>
|
|
5427
|
+
</tbody>
|
|
5428
|
+
</table>
|
|
5429
|
+
<p>Timestamps keep successive runs from overwriting one another. A full build followed
|
|
5430
|
+
by a no-op rebuild produces two comparable sets.</p>
|
|
5431
|
+
<h3 id="reading-a-report">Reading a report</h3>
|
|
5432
|
+
<p>Profiling runs single threaded, and that is deliberate. The task pins both thread
|
|
5433
|
+
counts to 1 so the work stays on the thread StackProf samples. A multi-threaded run
|
|
5434
|
+
would hide most of the build in worker threads the profiler never sees. No flame
|
|
5435
|
+
graph this task produces says anything about thread contention.</p>
|
|
5436
|
+
<p>Expect <code>Kernel#sleep</code> and <code>Thread#value</code> to dominate every report. They represent
|
|
5437
|
+
time spent waiting on child processes rather than work done in Ruby. Read past
|
|
5438
|
+
them to the frames underneath.</p>
|
|
5439
|
+
<p>The scaffolded project persists between runs. <code>profile:run</code> copies the example into
|
|
5440
|
+
<code>tmp/profiling/<project>/</code> on first use and leaves it there, build directory and
|
|
5441
|
+
dependency cache included. A second run against the same project therefore
|
|
5442
|
+
profiles a real incremental build. Delete <code>tmp/profiling/<project>/</code> to start from
|
|
5443
|
+
a clean scaffold.</p>
|
|
5444
|
+
<div class="admonition note">
|
|
5445
|
+
<p class="admonition-title">Note</p>
|
|
5446
|
+
<p>Profiling is unavailable on Windows. StackProf builds a native extension that
|
|
5447
|
+
does not compile there, so <code>profile:setup</code> declines with a message rather than
|
|
5448
|
+
attempting it.</p>
|
|
5449
|
+
</div>
|
|
5450
|
+
<h2 id="building-the-gem">Building the gem</h2>
|
|
5451
|
+
<p>Building the gem locally shows what a release would actually contain. The gemspec
|
|
5452
|
+
assembles its file list by sweeping the working tree, so a local build reflects
|
|
5453
|
+
whatever happens to be lying around.</p>
|
|
5454
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>gem:build
|
|
5455
|
+
<a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>gem:clean
|
|
5456
|
+
</code></pre></div>
|
|
5457
|
+
<p><code>gem:build</code> runs the same <code>gem build ceedling.gemspec</code> that CI runs and leaves
|
|
5458
|
+
<code>ceedling-<version>.gem</code> in the repository root. <code>gem:clean</code> removes built gems.</p>
|
|
5459
|
+
<p>The version carries a <code>.dev</code> suffix, so a local build is named
|
|
5460
|
+
<code>ceedling-<version>.dev.gem</code>. <code>lib/version.rb</code> appends that marker to every build
|
|
5461
|
+
the release pipeline did not produce, which is also why <code>ceedling version</code> reports
|
|
5462
|
+
it. See <a href="releases.html">Branching & Releases</a> for how a release build clears it.</p>
|
|
5463
|
+
<p><code>gem:build</code> depends on <code>gem:clean</code>, which matters more than it appears to. The
|
|
5464
|
+
gemspec has no exclusion for <code>.gem</code> files, so a gem left from an earlier build
|
|
5465
|
+
would be packaged inside the next one.</p>
|
|
5466
|
+
<div class="admonition note">
|
|
5467
|
+
<p class="admonition-title">Note</p>
|
|
5468
|
+
<p>A local build omits the offline documentation bundle unless <code>site-local/</code>
|
|
5469
|
+
already exists. CI builds that bundle first. Run <code>rake docs:build:local</code> to
|
|
5470
|
+
match it.</p>
|
|
5471
|
+
</div>
|
|
5472
|
+
<h3 id="generating-the-bill-of-materials">Generating the Bill of Materials</h3>
|
|
5473
|
+
<p><code>rake sbom:build</code> writes both <a href="../project/sbom.html">Software Bill of Materials</a> documents into
|
|
5474
|
+
the repository root. A release generates them the same way.</p>
|
|
5475
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>sbom:build
|
|
5476
|
+
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>sbom:specs
|
|
5477
|
+
</code></pre></div>
|
|
5478
|
+
<p>The documents are never committed, and two mechanisms keep them out. <code>.gitignore</code>
|
|
5479
|
+
covers them, and the gemspec rejects them so a local build cannot package one
|
|
5480
|
+
into the gem it describes.</p>
|
|
5481
|
+
<p>A local document names a development version, for the same reason a locally built
|
|
5482
|
+
gem does. The release version is stamped during the release build.</p>
|
|
5483
|
+
<p>Unpack the result to inspect it.</p>
|
|
5484
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a><span class="w"> </span>><span class="w"> </span>gem<span class="w"> </span>unpack<span class="w"> </span>ceedling-1.2.0.gem
|
|
5485
|
+
</code></pre></div>
|
|
5486
|
+
<p>The packaged gem deliberately carries <code>spec/</code>, <code>Gemfile</code>, <code>Gemfile.lock</code>, and
|
|
5487
|
+
<code>.rspec</code>. External tooling runs Ceedling's own suites against the released gem
|
|
5488
|
+
as part of validating installations and environments. These files make that
|
|
5489
|
+
possible.</p>
|
|
5490
|
+
<p>Development-only tasks refuse to run from an unpacked gem. Profiling, linting, and
|
|
5491
|
+
the gem tasks each need repository files the gem does not carry, so they report
|
|
5492
|
+
that rather than failing on a missing file. The <code>specs:*</code> tasks and
|
|
5493
|
+
<code>coverage:report</code> work as normal.</p>
|
|
4551
5494
|
<h2 id="documentation">Documentation</h2>
|
|
4552
|
-
<
|
|
5495
|
+
<h3 id="developer-documentation">Developer documentation</h3>
|
|
5496
|
+
<p>The Ceedling codebase is <a href="#code-organization">organized in directories</a>.</p>
|
|
5497
|
+
<p>Major subsystems are organized in directories. Most directories include detailed
|
|
5498
|
+
Markdown documents that provide both high-level overviews and detailed breakdowns
|
|
5499
|
+
of the subsystem.</p>
|
|
5500
|
+
<h3 id="user-documentation">User documentation</h3>
|
|
5501
|
+
<p>Ceedling’s user documentation is built with <a href="https://www.mkdocs.org">MkDocs</a> + <a href="https://squidfunk.github.io/mkdocs-material/">Material theme</a> and versioned
|
|
4553
5502
|
with <a href="https://github.com/jimporter/mike">mike</a>. All Markdown source lives under <code>docs/mkdocs/</code>. The public site
|
|
4554
5503
|
configuration is in <code>mkdocs.yml</code> while the local site bundle configuration is in
|
|
4555
5504
|
<code>mkdocs.local.yml</code>.</p>
|
|
4556
5505
|
<p><strong>First-time setup</strong> (installs MkDocs, Material, and mike into the container):</p>
|
|
4557
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5506
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>docs:install
|
|
4558
5507
|
</code></pre></div>
|
|
4559
5508
|
<p><strong>Available Rake tasks:</strong></p>
|
|
4560
5509
|
<table>
|
|
@@ -4578,12 +5527,28 @@ configuration is in <code>mkdocs.yml</code> while the local site bundle configur
|
|
|
4578
5527
|
<td>Build the site to be served in strict mode — fails on broken links or warnings</td>
|
|
4579
5528
|
</tr>
|
|
4580
5529
|
<tr>
|
|
5530
|
+
<td><code>rake docs:build:prerelease</code></td>
|
|
5531
|
+
<td>Build the prerelease site in strict mode, for local validation</td>
|
|
5532
|
+
</tr>
|
|
5533
|
+
<tr>
|
|
4581
5534
|
<td><code>rake docs:serve</code></td>
|
|
4582
5535
|
<td>Serve plain MkDocs site locally on port 8000</td>
|
|
4583
5536
|
</tr>
|
|
4584
5537
|
<tr>
|
|
4585
|
-
<td><code>rake docs:
|
|
4586
|
-
<td>
|
|
5538
|
+
<td><code>rake docs:serve:prerelease</code></td>
|
|
5539
|
+
<td>Serve the prerelease site locally on port 8000, for docs development</td>
|
|
5540
|
+
</tr>
|
|
5541
|
+
<tr>
|
|
5542
|
+
<td><code>rake docs:deploy:prerelease[version]</code></td>
|
|
5543
|
+
<td>Deploy a prerelease build to Github Pages under <code>version</code> (usage: <code>rake docs:deploy:prerelease[1.2.0]</code>)</td>
|
|
5544
|
+
</tr>
|
|
5545
|
+
<tr>
|
|
5546
|
+
<td><code>rake docs:deploy:release[version]</code></td>
|
|
5547
|
+
<td>Deploy a release build to Github Pages under <code>version</code>, without changing <code>latest</code> (usage: <code>rake docs:deploy:release[1.1.0]</code>)</td>
|
|
5548
|
+
</tr>
|
|
5549
|
+
<tr>
|
|
5550
|
+
<td><code>rake docs:deploy:release:latest[version]</code></td>
|
|
5551
|
+
<td>Deploy a release build to Github Pages under <code>version</code> and set it as <code>latest</code> (usage: <code>rake docs:deploy:release:latest[1.2.0]</code>)</td>
|
|
4587
5552
|
</tr>
|
|
4588
5553
|
<tr>
|
|
4589
5554
|
<td><code>rake docs:preview</code></td>
|
|
@@ -4594,7 +5559,7 @@ configuration is in <code>mkdocs.yml</code> while the local site bundle configur
|
|
|
4594
5559
|
<p><strong>Browser preview in VS Code:</strong> When <code>mkdocs serve</code> or <code>mike serve</code> binds to
|
|
4595
5560
|
port 8000, VS Code detects it and shows a notification. The <strong>Ports</strong> panel also
|
|
4596
5561
|
provides an <strong>Open in Browser</strong> button.</p>
|
|
4597
|
-
<p><strong>Hosted site:</strong> <a href="https://throwtheswitch.
|
|
5562
|
+
<p><strong>Hosted site:</strong> <a href="https://docs.throwtheswitch.org/Ceedling/">https://docs.throwtheswitch.org/Ceedling/</a></p>
|
|
4598
5563
|
<h2 id="bin-vs-lib"><code>bin/</code> vs. <code>lib/</code></h2>
|
|
4599
5564
|
<p>Most of Ceedling’s functionality is contained in the application code residing
|
|
4600
5565
|
in <code>lib/</code>. Ceedling’s command line handling, startup configuration, project
|
|
@@ -4684,10 +5649,10 @@ working on.</p>
|
|
|
4684
5649
|
|
|
4685
5650
|
|
|
4686
5651
|
|
|
4687
|
-
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.
|
|
5652
|
+
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.a7633da7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
|
|
4688
5653
|
|
|
4689
5654
|
|
|
4690
|
-
<script src="../assets/javascripts/bundle.
|
|
5655
|
+
<script src="../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4691
5656
|
|
|
4692
5657
|
|
|
4693
5658
|
</body>
|