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
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
24
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.
|
|
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
|
|
|
@@ -332,7 +342,7 @@
|
|
|
332
342
|
|
|
333
343
|
|
|
334
344
|
<li class="md-tabs__item">
|
|
335
|
-
<a href="../project/
|
|
345
|
+
<a href="../project/index.html" class="md-tabs__link">
|
|
336
346
|
|
|
337
347
|
|
|
338
348
|
|
|
@@ -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
|
|
|
@@ -2412,6 +2452,8 @@
|
|
|
2412
2452
|
|
|
2413
2453
|
|
|
2414
2454
|
|
|
2455
|
+
|
|
2456
|
+
|
|
2415
2457
|
|
|
2416
2458
|
|
|
2417
2459
|
|
|
@@ -3049,16 +3091,116 @@
|
|
|
3049
3091
|
|
|
3050
3092
|
|
|
3051
3093
|
<li class="md-nav__item">
|
|
3052
|
-
<a href="
|
|
3094
|
+
<a href="sanitize.html" class="md-nav__link">
|
|
3053
3095
|
|
|
3054
3096
|
|
|
3055
3097
|
|
|
3056
3098
|
<span class="md-ellipsis">
|
|
3057
3099
|
|
|
3058
3100
|
|
|
3101
|
+
Sanitize (ASan, UBSan & Leaks)
|
|
3102
|
+
|
|
3103
|
+
|
|
3104
|
+
|
|
3105
|
+
</span>
|
|
3106
|
+
|
|
3107
|
+
|
|
3108
|
+
|
|
3109
|
+
</a>
|
|
3110
|
+
</li>
|
|
3111
|
+
|
|
3112
|
+
|
|
3113
|
+
|
|
3114
|
+
|
|
3115
|
+
|
|
3116
|
+
|
|
3117
|
+
|
|
3118
|
+
|
|
3119
|
+
|
|
3120
|
+
|
|
3121
|
+
|
|
3122
|
+
|
|
3123
|
+
|
|
3124
|
+
|
|
3125
|
+
|
|
3126
|
+
|
|
3127
|
+
|
|
3128
|
+
|
|
3129
|
+
|
|
3130
|
+
|
|
3131
|
+
|
|
3132
|
+
|
|
3133
|
+
|
|
3134
|
+
|
|
3135
|
+
|
|
3136
|
+
|
|
3137
|
+
|
|
3138
|
+
|
|
3139
|
+
|
|
3140
|
+
|
|
3141
|
+
|
|
3142
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
3143
|
+
|
|
3144
|
+
|
|
3145
|
+
|
|
3146
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_13" >
|
|
3147
|
+
|
|
3148
|
+
|
|
3149
|
+
<div class="md-nav__link md-nav__container">
|
|
3150
|
+
<a href="bullseye/index.html" class="md-nav__link ">
|
|
3151
|
+
|
|
3152
|
+
|
|
3153
|
+
|
|
3154
|
+
<span class="md-ellipsis">
|
|
3155
|
+
|
|
3156
|
+
|
|
3157
|
+
Bullseye (Coverage)
|
|
3158
|
+
|
|
3159
|
+
|
|
3160
|
+
|
|
3161
|
+
</span>
|
|
3162
|
+
|
|
3163
|
+
|
|
3164
|
+
|
|
3165
|
+
</a>
|
|
3166
|
+
|
|
3167
|
+
|
|
3168
|
+
<label class="md-nav__link " for="__nav_6_13" id="__nav_6_13_label" tabindex="">
|
|
3169
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3170
|
+
</label>
|
|
3171
|
+
|
|
3172
|
+
</div>
|
|
3173
|
+
|
|
3174
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_13_label" aria-expanded="false">
|
|
3175
|
+
<label class="md-nav__title" for="__nav_6_13">
|
|
3176
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3177
|
+
|
|
3178
|
+
|
|
3059
3179
|
Bullseye (Coverage)
|
|
3060
3180
|
|
|
3061
3181
|
|
|
3182
|
+
</label>
|
|
3183
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
3184
|
+
|
|
3185
|
+
|
|
3186
|
+
|
|
3187
|
+
|
|
3188
|
+
|
|
3189
|
+
|
|
3190
|
+
|
|
3191
|
+
|
|
3192
|
+
|
|
3193
|
+
<li class="md-nav__item">
|
|
3194
|
+
<a href="bullseye/licensing.html" class="md-nav__link">
|
|
3195
|
+
|
|
3196
|
+
|
|
3197
|
+
|
|
3198
|
+
<span class="md-ellipsis">
|
|
3199
|
+
|
|
3200
|
+
|
|
3201
|
+
Licensing
|
|
3202
|
+
|
|
3203
|
+
|
|
3062
3204
|
|
|
3063
3205
|
</span>
|
|
3064
3206
|
|
|
@@ -3070,6 +3212,14 @@
|
|
|
3070
3212
|
|
|
3071
3213
|
|
|
3072
3214
|
|
|
3215
|
+
</ul>
|
|
3216
|
+
</nav>
|
|
3217
|
+
|
|
3218
|
+
</li>
|
|
3219
|
+
|
|
3220
|
+
|
|
3221
|
+
|
|
3222
|
+
|
|
3073
3223
|
|
|
3074
3224
|
|
|
3075
3225
|
|
|
@@ -3282,11 +3432,33 @@
|
|
|
3282
3432
|
<nav class="md-nav" aria-label="Paths">
|
|
3283
3433
|
<ul class="md-nav__list">
|
|
3284
3434
|
|
|
3435
|
+
<li class="md-nav__item">
|
|
3436
|
+
<a href="#path-hints" class="md-nav__link">
|
|
3437
|
+
<span class="md-ellipsis">
|
|
3438
|
+
|
|
3439
|
+
Path hints
|
|
3440
|
+
|
|
3441
|
+
</span>
|
|
3442
|
+
</a>
|
|
3443
|
+
|
|
3444
|
+
</li>
|
|
3445
|
+
|
|
3285
3446
|
<li class="md-nav__item">
|
|
3286
3447
|
<a href="#adding-to-paths" class="md-nav__link">
|
|
3287
3448
|
<span class="md-ellipsis">
|
|
3288
3449
|
|
|
3289
|
-
Adding to
|
|
3450
|
+
Adding to paths
|
|
3451
|
+
|
|
3452
|
+
</span>
|
|
3453
|
+
</a>
|
|
3454
|
+
|
|
3455
|
+
</li>
|
|
3456
|
+
|
|
3457
|
+
<li class="md-nav__item">
|
|
3458
|
+
<a href="#same-named-files" class="md-nav__link">
|
|
3459
|
+
<span class="md-ellipsis">
|
|
3460
|
+
|
|
3461
|
+
Same-named files
|
|
3290
3462
|
|
|
3291
3463
|
</span>
|
|
3292
3464
|
</a>
|
|
@@ -3307,6 +3479,28 @@
|
|
|
3307
3479
|
</span>
|
|
3308
3480
|
</a>
|
|
3309
3481
|
|
|
3482
|
+
</li>
|
|
3483
|
+
|
|
3484
|
+
<li class="md-nav__item">
|
|
3485
|
+
<a href="#testing-from-headers" class="md-nav__link">
|
|
3486
|
+
<span class="md-ellipsis">
|
|
3487
|
+
|
|
3488
|
+
Testing from headers
|
|
3489
|
+
|
|
3490
|
+
</span>
|
|
3491
|
+
</a>
|
|
3492
|
+
|
|
3493
|
+
</li>
|
|
3494
|
+
|
|
3495
|
+
<li class="md-nav__item">
|
|
3496
|
+
<a href="#destroying" class="md-nav__link">
|
|
3497
|
+
<span class="md-ellipsis">
|
|
3498
|
+
|
|
3499
|
+
Destroying
|
|
3500
|
+
|
|
3501
|
+
</span>
|
|
3502
|
+
</a>
|
|
3503
|
+
|
|
3310
3504
|
</li>
|
|
3311
3505
|
|
|
3312
3506
|
<li class="md-nav__item">
|
|
@@ -3321,6 +3515,28 @@
|
|
|
3321
3515
|
<nav class="md-nav" aria-label="Configuration">
|
|
3322
3516
|
<ul class="md-nav__list">
|
|
3323
3517
|
|
|
3518
|
+
<li class="md-nav__item">
|
|
3519
|
+
<a href="#naming-convention" class="md-nav__link">
|
|
3520
|
+
<span class="md-ellipsis">
|
|
3521
|
+
|
|
3522
|
+
Naming convention
|
|
3523
|
+
|
|
3524
|
+
</span>
|
|
3525
|
+
</a>
|
|
3526
|
+
|
|
3527
|
+
</li>
|
|
3528
|
+
|
|
3529
|
+
<li class="md-nav__item">
|
|
3530
|
+
<a href="#default-paths" class="md-nav__link">
|
|
3531
|
+
<span class="md-ellipsis">
|
|
3532
|
+
|
|
3533
|
+
Default paths
|
|
3534
|
+
|
|
3535
|
+
</span>
|
|
3536
|
+
</a>
|
|
3537
|
+
|
|
3538
|
+
</li>
|
|
3539
|
+
|
|
3324
3540
|
<li class="md-nav__item">
|
|
3325
3541
|
<a href="#includes" class="md-nav__link">
|
|
3326
3542
|
<span class="md-ellipsis">
|
|
@@ -3341,13 +3557,24 @@
|
|
|
3341
3557
|
</span>
|
|
3342
3558
|
</a>
|
|
3343
3559
|
|
|
3560
|
+
</li>
|
|
3561
|
+
|
|
3562
|
+
<li class="md-nav__item">
|
|
3563
|
+
<a href="#boilerplate-files" class="md-nav__link">
|
|
3564
|
+
<span class="md-ellipsis">
|
|
3565
|
+
|
|
3566
|
+
Boilerplate files
|
|
3567
|
+
|
|
3568
|
+
</span>
|
|
3569
|
+
</a>
|
|
3570
|
+
|
|
3344
3571
|
</li>
|
|
3345
3572
|
|
|
3346
3573
|
<li class="md-nav__item">
|
|
3347
3574
|
<a href="#test-defines" class="md-nav__link">
|
|
3348
3575
|
<span class="md-ellipsis">
|
|
3349
3576
|
|
|
3350
|
-
Test
|
|
3577
|
+
Test defines
|
|
3351
3578
|
|
|
3352
3579
|
</span>
|
|
3353
3580
|
</a>
|
|
@@ -3355,10 +3582,10 @@
|
|
|
3355
3582
|
</li>
|
|
3356
3583
|
|
|
3357
3584
|
<li class="md-nav__item">
|
|
3358
|
-
<a href="#
|
|
3585
|
+
<a href="#test-guards" class="md-nav__link">
|
|
3359
3586
|
<span class="md-ellipsis">
|
|
3360
3587
|
|
|
3361
|
-
|
|
3588
|
+
Test guards
|
|
3362
3589
|
|
|
3363
3590
|
</span>
|
|
3364
3591
|
</a>
|
|
@@ -3708,6 +3935,12 @@
|
|
|
3708
3935
|
|
|
3709
3936
|
|
|
3710
3937
|
|
|
3938
|
+
|
|
3939
|
+
|
|
3940
|
+
|
|
3941
|
+
|
|
3942
|
+
|
|
3943
|
+
|
|
3711
3944
|
|
|
3712
3945
|
|
|
3713
3946
|
|
|
@@ -3727,8 +3960,9 @@
|
|
|
3727
3960
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
3728
3961
|
|
|
3729
3962
|
|
|
3730
|
-
<
|
|
3731
|
-
|
|
3963
|
+
<div class="md-nav__link md-nav__container">
|
|
3964
|
+
<a href="../project/index.html" class="md-nav__link ">
|
|
3965
|
+
|
|
3732
3966
|
|
|
3733
3967
|
|
|
3734
3968
|
<span class="md-ellipsis">
|
|
@@ -3742,8 +3976,14 @@
|
|
|
3742
3976
|
|
|
3743
3977
|
|
|
3744
3978
|
|
|
3745
|
-
|
|
3746
|
-
|
|
3979
|
+
</a>
|
|
3980
|
+
|
|
3981
|
+
|
|
3982
|
+
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
3983
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3984
|
+
</label>
|
|
3985
|
+
|
|
3986
|
+
</div>
|
|
3747
3987
|
|
|
3748
3988
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
3749
3989
|
<label class="md-nav__title" for="__nav_8">
|
|
@@ -3757,6 +3997,8 @@
|
|
|
3757
3997
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
3758
3998
|
|
|
3759
3999
|
|
|
4000
|
+
|
|
4001
|
+
|
|
3760
4002
|
|
|
3761
4003
|
|
|
3762
4004
|
|
|
@@ -3790,6 +4032,34 @@
|
|
|
3790
4032
|
|
|
3791
4033
|
|
|
3792
4034
|
|
|
4035
|
+
<li class="md-nav__item">
|
|
4036
|
+
<a href="../project/sbom.html" class="md-nav__link">
|
|
4037
|
+
|
|
4038
|
+
|
|
4039
|
+
|
|
4040
|
+
<span class="md-ellipsis">
|
|
4041
|
+
|
|
4042
|
+
|
|
4043
|
+
Software Bill of Materials
|
|
4044
|
+
|
|
4045
|
+
|
|
4046
|
+
|
|
4047
|
+
</span>
|
|
4048
|
+
|
|
4049
|
+
|
|
4050
|
+
|
|
4051
|
+
</a>
|
|
4052
|
+
</li>
|
|
4053
|
+
|
|
4054
|
+
|
|
4055
|
+
|
|
4056
|
+
|
|
4057
|
+
|
|
4058
|
+
|
|
4059
|
+
|
|
4060
|
+
|
|
4061
|
+
|
|
4062
|
+
|
|
3793
4063
|
<li class="md-nav__item">
|
|
3794
4064
|
<a href="../project/upgrade.html" class="md-nav__link">
|
|
3795
4065
|
|
|
@@ -3861,6 +4131,8 @@
|
|
|
3861
4131
|
|
|
3862
4132
|
|
|
3863
4133
|
|
|
4134
|
+
|
|
4135
|
+
|
|
3864
4136
|
|
|
3865
4137
|
|
|
3866
4138
|
|
|
@@ -3951,6 +4223,34 @@
|
|
|
3951
4223
|
|
|
3952
4224
|
|
|
3953
4225
|
|
|
4226
|
+
<li class="md-nav__item">
|
|
4227
|
+
<a href="../development/releases.html" class="md-nav__link">
|
|
4228
|
+
|
|
4229
|
+
|
|
4230
|
+
|
|
4231
|
+
<span class="md-ellipsis">
|
|
4232
|
+
|
|
4233
|
+
|
|
4234
|
+
Branching & Releases
|
|
4235
|
+
|
|
4236
|
+
|
|
4237
|
+
|
|
4238
|
+
</span>
|
|
4239
|
+
|
|
4240
|
+
|
|
4241
|
+
|
|
4242
|
+
</a>
|
|
4243
|
+
</li>
|
|
4244
|
+
|
|
4245
|
+
|
|
4246
|
+
|
|
4247
|
+
|
|
4248
|
+
|
|
4249
|
+
|
|
4250
|
+
|
|
4251
|
+
|
|
4252
|
+
|
|
4253
|
+
|
|
3954
4254
|
|
|
3955
4255
|
|
|
3956
4256
|
|
|
@@ -3977,7 +4277,7 @@
|
|
|
3977
4277
|
|
|
3978
4278
|
|
|
3979
4279
|
|
|
3980
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
4280
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_4" >
|
|
3981
4281
|
|
|
3982
4282
|
|
|
3983
4283
|
<div class="md-nav__link md-nav__container">
|
|
@@ -3999,14 +4299,14 @@
|
|
|
3999
4299
|
</a>
|
|
4000
4300
|
|
|
4001
4301
|
|
|
4002
|
-
<label class="md-nav__link " for="
|
|
4302
|
+
<label class="md-nav__link " for="__nav_10_4" id="__nav_10_4_label" tabindex="0">
|
|
4003
4303
|
<span class="md-nav__icon md-icon"></span>
|
|
4004
4304
|
</label>
|
|
4005
4305
|
|
|
4006
4306
|
</div>
|
|
4007
4307
|
|
|
4008
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
4009
|
-
<label class="md-nav__title" for="
|
|
4308
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_4_label" aria-expanded="false">
|
|
4309
|
+
<label class="md-nav__title" for="__nav_10_4">
|
|
4010
4310
|
<span class="md-nav__icon md-icon"></span>
|
|
4011
4311
|
|
|
4012
4312
|
|
|
@@ -4177,11 +4477,33 @@
|
|
|
4177
4477
|
<nav class="md-nav" aria-label="Paths">
|
|
4178
4478
|
<ul class="md-nav__list">
|
|
4179
4479
|
|
|
4480
|
+
<li class="md-nav__item">
|
|
4481
|
+
<a href="#path-hints" class="md-nav__link">
|
|
4482
|
+
<span class="md-ellipsis">
|
|
4483
|
+
|
|
4484
|
+
Path hints
|
|
4485
|
+
|
|
4486
|
+
</span>
|
|
4487
|
+
</a>
|
|
4488
|
+
|
|
4489
|
+
</li>
|
|
4490
|
+
|
|
4180
4491
|
<li class="md-nav__item">
|
|
4181
4492
|
<a href="#adding-to-paths" class="md-nav__link">
|
|
4182
4493
|
<span class="md-ellipsis">
|
|
4183
4494
|
|
|
4184
|
-
Adding to
|
|
4495
|
+
Adding to paths
|
|
4496
|
+
|
|
4497
|
+
</span>
|
|
4498
|
+
</a>
|
|
4499
|
+
|
|
4500
|
+
</li>
|
|
4501
|
+
|
|
4502
|
+
<li class="md-nav__item">
|
|
4503
|
+
<a href="#same-named-files" class="md-nav__link">
|
|
4504
|
+
<span class="md-ellipsis">
|
|
4505
|
+
|
|
4506
|
+
Same-named files
|
|
4185
4507
|
|
|
4186
4508
|
</span>
|
|
4187
4509
|
</a>
|
|
@@ -4202,6 +4524,28 @@
|
|
|
4202
4524
|
</span>
|
|
4203
4525
|
</a>
|
|
4204
4526
|
|
|
4527
|
+
</li>
|
|
4528
|
+
|
|
4529
|
+
<li class="md-nav__item">
|
|
4530
|
+
<a href="#testing-from-headers" class="md-nav__link">
|
|
4531
|
+
<span class="md-ellipsis">
|
|
4532
|
+
|
|
4533
|
+
Testing from headers
|
|
4534
|
+
|
|
4535
|
+
</span>
|
|
4536
|
+
</a>
|
|
4537
|
+
|
|
4538
|
+
</li>
|
|
4539
|
+
|
|
4540
|
+
<li class="md-nav__item">
|
|
4541
|
+
<a href="#destroying" class="md-nav__link">
|
|
4542
|
+
<span class="md-ellipsis">
|
|
4543
|
+
|
|
4544
|
+
Destroying
|
|
4545
|
+
|
|
4546
|
+
</span>
|
|
4547
|
+
</a>
|
|
4548
|
+
|
|
4205
4549
|
</li>
|
|
4206
4550
|
|
|
4207
4551
|
<li class="md-nav__item">
|
|
@@ -4216,6 +4560,28 @@
|
|
|
4216
4560
|
<nav class="md-nav" aria-label="Configuration">
|
|
4217
4561
|
<ul class="md-nav__list">
|
|
4218
4562
|
|
|
4563
|
+
<li class="md-nav__item">
|
|
4564
|
+
<a href="#naming-convention" class="md-nav__link">
|
|
4565
|
+
<span class="md-ellipsis">
|
|
4566
|
+
|
|
4567
|
+
Naming convention
|
|
4568
|
+
|
|
4569
|
+
</span>
|
|
4570
|
+
</a>
|
|
4571
|
+
|
|
4572
|
+
</li>
|
|
4573
|
+
|
|
4574
|
+
<li class="md-nav__item">
|
|
4575
|
+
<a href="#default-paths" class="md-nav__link">
|
|
4576
|
+
<span class="md-ellipsis">
|
|
4577
|
+
|
|
4578
|
+
Default paths
|
|
4579
|
+
|
|
4580
|
+
</span>
|
|
4581
|
+
</a>
|
|
4582
|
+
|
|
4583
|
+
</li>
|
|
4584
|
+
|
|
4219
4585
|
<li class="md-nav__item">
|
|
4220
4586
|
<a href="#includes" class="md-nav__link">
|
|
4221
4587
|
<span class="md-ellipsis">
|
|
@@ -4236,13 +4602,24 @@
|
|
|
4236
4602
|
</span>
|
|
4237
4603
|
</a>
|
|
4238
4604
|
|
|
4605
|
+
</li>
|
|
4606
|
+
|
|
4607
|
+
<li class="md-nav__item">
|
|
4608
|
+
<a href="#boilerplate-files" class="md-nav__link">
|
|
4609
|
+
<span class="md-ellipsis">
|
|
4610
|
+
|
|
4611
|
+
Boilerplate files
|
|
4612
|
+
|
|
4613
|
+
</span>
|
|
4614
|
+
</a>
|
|
4615
|
+
|
|
4239
4616
|
</li>
|
|
4240
4617
|
|
|
4241
4618
|
<li class="md-nav__item">
|
|
4242
4619
|
<a href="#test-defines" class="md-nav__link">
|
|
4243
4620
|
<span class="md-ellipsis">
|
|
4244
4621
|
|
|
4245
|
-
Test
|
|
4622
|
+
Test defines
|
|
4246
4623
|
|
|
4247
4624
|
</span>
|
|
4248
4625
|
</a>
|
|
@@ -4250,10 +4627,10 @@
|
|
|
4250
4627
|
</li>
|
|
4251
4628
|
|
|
4252
4629
|
<li class="md-nav__item">
|
|
4253
|
-
<a href="#
|
|
4630
|
+
<a href="#test-guards" class="md-nav__link">
|
|
4254
4631
|
<span class="md-ellipsis">
|
|
4255
4632
|
|
|
4256
|
-
|
|
4633
|
+
Test guards
|
|
4257
4634
|
|
|
4258
4635
|
</span>
|
|
4259
4636
|
</a>
|
|
@@ -4334,212 +4711,405 @@
|
|
|
4334
4711
|
|
|
4335
4712
|
|
|
4336
4713
|
<h1 id="module-generator">Module Generator</h1>
|
|
4337
|
-
<p>This plugin adds
|
|
4338
|
-
|
|
4714
|
+
<p>This plugin adds commands to Ceedling that create a module’s source, header, and test
|
|
4715
|
+
files from templates; remove them again; and stub a source file from its header. Files
|
|
4716
|
+
land in your project’s <a href="../configuration/reference/paths.html"><code>:paths</code></a>, guided by optional hints.</p>
|
|
4339
4717
|
<h2 id="overview">Overview</h2>
|
|
4340
|
-
<p>
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
<
|
|
4345
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>MadScience<span class="o">]</span>
|
|
4718
|
+
<p>Enable the plugin by adding <code>module_generator</code> to the enabled <a href="../configuration/reference/plugins.html">plugins</a> list in
|
|
4719
|
+
your project configuration:</p>
|
|
4720
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:plugins</span><span class="p">:</span>
|
|
4721
|
+
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4722
|
+
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">module_generator</span>
|
|
4346
4723
|
</code></pre></div>
|
|
4347
|
-
<p>
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
<code>MadScience.c</code>, <code>MadScience.h</code>, and <code>
|
|
4351
|
-
|
|
4724
|
+
<p>Then a single call creates a new module:</p>
|
|
4725
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[MadScience]"</span>
|
|
4726
|
+
</code></pre></div>
|
|
4727
|
+
<p>This creates <code>MadScience.c</code>, <code>MadScience.h</code>, and <code>test_MadScience.c</code>. The test file
|
|
4728
|
+
carries your project’s <a href="../configuration/reference/project.html#test_file_prefix"><code>:test_file_prefix</code></a>. Names keep the case you type unless you
|
|
4729
|
+
configure a <a href="#naming-convention">naming convention</a>.</p>
|
|
4730
|
+
<p>Several modules can be named in one call, separated by commas. Leave no spaces between
|
|
4731
|
+
the brackets or rely on surrounding quotes; your shell would otherwise split the command.</p>
|
|
4732
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[MadScience,EvilGenius,SecretLair]"</span>
|
|
4733
|
+
</code></pre></div>
|
|
4734
|
+
<p>The plugin’s three commands take the same arguments:</p>
|
|
4735
|
+
<table>
|
|
4736
|
+
<thead>
|
|
4737
|
+
<tr>
|
|
4738
|
+
<th>Command</th>
|
|
4739
|
+
<th>Does</th>
|
|
4740
|
+
</tr>
|
|
4741
|
+
</thead>
|
|
4742
|
+
<tbody>
|
|
4743
|
+
<tr>
|
|
4744
|
+
<td><code>module:create[...]</code></td>
|
|
4745
|
+
<td>Creates each module’s files, skipping any that already exist and stopping when all of them do</td>
|
|
4746
|
+
</tr>
|
|
4747
|
+
<tr>
|
|
4748
|
+
<td><code>module:destroy[...]</code></td>
|
|
4749
|
+
<td>Removes each module’s files</td>
|
|
4750
|
+
</tr>
|
|
4751
|
+
<tr>
|
|
4752
|
+
<td><code>module:stub[...]</code></td>
|
|
4753
|
+
<td>Writes a source file of function stubs from each module’s header</td>
|
|
4754
|
+
</tr>
|
|
4755
|
+
<tr>
|
|
4756
|
+
<td><code>module:test[...]</code></td>
|
|
4757
|
+
<td>Writes a test file with a test for each function in each module’s header</td>
|
|
4758
|
+
</tr>
|
|
4759
|
+
</tbody>
|
|
4760
|
+
</table>
|
|
4761
|
+
<p>A name that begins with your test file prefix asks for a test file alone.
|
|
4762
|
+
<code>"module:create[test_MadScience]"</code> creates only <code>test_MadScience.c</code>. When the prefix ends
|
|
4763
|
+
in a letter or digit, as a prefix of <code>Test</code> does, the character after the prefix must
|
|
4764
|
+
not be a lowercase letter or digit. An uppercase letter starts the module name, so
|
|
4765
|
+
<code>TestMadScience</code> is a test file for <code>MadScience</code>, while <code>Testimony</code> and <code>Test2Widget</code>
|
|
4766
|
+
are modules. A prefix ending in a separator, like the default <code>test_</code>,
|
|
4767
|
+
needs no such check.</p>
|
|
4352
4768
|
<h2 id="patterns">Patterns</h2>
|
|
4353
|
-
<p>
|
|
4354
|
-
|
|
4355
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>SecretLair,mch<span class="o">]</span>
|
|
4769
|
+
<p>A pattern creates a set of related modules at once. Name it after the module:</p>
|
|
4770
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[SecretLair,mch]"</span>
|
|
4356
4771
|
</code></pre></div>
|
|
4357
|
-
<p>
|
|
4358
|
-
|
|
4359
|
-
|
|
4772
|
+
<p>This creates nine files: a source, header, and test file each for <code>SecretLair_Model</code>,
|
|
4773
|
+
<code>SecretLair_Conductor</code>, and <code>SecretLair_Hardware</code>. With <code>:naming</code> set to <code>:bumpy</code>, the
|
|
4774
|
+
same call creates <code>SecretLairModel</code>, <code>SecretLairConductor</code>, and <code>SecretLairHardware</code>.
|
|
4775
|
+
Each generated module includes the headers its role depends on, and each test includes
|
|
4776
|
+
the mocks of those headers.</p>
|
|
4360
4777
|
<p>The module generator understands the following patterns:</p>
|
|
4361
4778
|
<ul>
|
|
4362
|
-
<li><code>src</code>
|
|
4363
|
-
<li><code>test</code>
|
|
4364
|
-
<li><code>
|
|
4365
|
-
<li><code>
|
|
4366
|
-
<li><code>
|
|
4367
|
-
<li><code>
|
|
4779
|
+
<li><code>src</code> — a source, header, and test file (the default)</li>
|
|
4780
|
+
<li><code>test</code> — only a test file</li>
|
|
4781
|
+
<li><code>mch</code> — 9 files for the <a href="https://cdn.prod.website-files.com/628fcc1631ad0b25b32f223e/62e43a26764867e95fe5a138_ESC-413Paper_KarleskyWilliams.pdf">model-conductor-hardware (pdf)</a> pattern (<a href="https://www.methodsandtools.com/archive/archive.php?id=59">html</a>)</li>
|
|
4782
|
+
<li><code>mvp</code> — 9 files for the <a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter">model-view-presenter</a> pattern</li>
|
|
4783
|
+
<li><code>dh</code> — 6 files for the driver-hardware pattern</li>
|
|
4784
|
+
<li><code>dih</code> — 9 files for the driver-interrupt-hardware pattern</li>
|
|
4368
4785
|
</ul>
|
|
4786
|
+
<p>The <code>dh</code> and <code>dih</code> patterns are alternate namings and conceptual organizations of the
|
|
4787
|
+
model-conductor-hardware pattern.</p>
|
|
4788
|
+
<p>A pattern applies to every module in the call, and a call takes one pattern. The first
|
|
4789
|
+
argument is always a module name, even one spelled like a pattern.</p>
|
|
4369
4790
|
<h2 id="paths">Paths</h2>
|
|
4370
|
-
<p>
|
|
4371
|
-
<
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
<a id="__codelineno-
|
|
4791
|
+
<p>Without any hint, each kind of file goes to the first path listed for it under
|
|
4792
|
+
<a href="../configuration/reference/paths.html"><code>:paths</code></a>. Source files go to the first <code>:source</code> path, headers to the first <code>:include</code>
|
|
4793
|
+
path, and tests to the first <code>:test</code> path. Headers go with the source when your project
|
|
4794
|
+
lists no include paths. To choose other default locations, configure them:</p>
|
|
4795
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
4796
|
+
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">:path_src</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/</span>
|
|
4797
|
+
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="nt">:path_inc</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">include/</span>
|
|
4798
|
+
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="nt">:path_tst</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test/</span>
|
|
4375
4799
|
</code></pre></div>
|
|
4376
|
-
<
|
|
4377
|
-
<p>
|
|
4378
|
-
|
|
4379
|
-
matches a common pattern. For example, let's say you issue this command:</p>
|
|
4380
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>lab:SecretLair,mch<span class="o">]</span>
|
|
4800
|
+
<h3 id="path-hints">Path hints</h3>
|
|
4801
|
+
<p>A hint before a colon steers a module toward matching paths:</p>
|
|
4802
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[lab:SecretLair,mch]"</span>
|
|
4381
4803
|
</code></pre></div>
|
|
4382
|
-
<p>
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
<
|
|
4388
|
-
<a id="__codelineno-
|
|
4389
|
-
<a id="__codelineno-
|
|
4390
|
-
<a id="__codelineno-
|
|
4391
|
-
<a id="__codelineno-4
|
|
4804
|
+
<p>The hint is matched separately against your source, include, and test paths, and each
|
|
4805
|
+
kind of file goes to the path the hint matches best. A path matches best when its
|
|
4806
|
+
trailing folders match the hint. When the hint matches nothing among one kind of path,
|
|
4807
|
+
those files go to the first path of that kind. When it matches nothing at all, the
|
|
4808
|
+
command stops with an error and creates nothing.</p>
|
|
4809
|
+
<p>Say your project lists these paths:</p>
|
|
4810
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="nt">:paths</span><span class="p">:</span>
|
|
4811
|
+
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
|
|
4812
|
+
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lab/src</span>
|
|
4813
|
+
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lair/src</span>
|
|
4814
|
+
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">other/src</span>
|
|
4815
|
+
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
|
|
4816
|
+
<a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lab/test</span>
|
|
4817
|
+
<a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lair/test</span>
|
|
4818
|
+
<a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">other/test</span>
|
|
4392
4819
|
</code></pre></div>
|
|
4393
|
-
<p>
|
|
4820
|
+
<p>The <code>lab:</code> hint places files here:</p>
|
|
4394
4821
|
<ul>
|
|
4395
|
-
<li>source files: <code>lab/src</code> (
|
|
4396
|
-
<li>include files: <code>lab/src</code> (
|
|
4397
|
-
<li>test files: <code>lab/test</code> (
|
|
4822
|
+
<li>source files: <code>lab/src</code> (a close match)</li>
|
|
4823
|
+
<li>include files: <code>lab/src</code> (no include paths are listed, so headers go with the source)</li>
|
|
4824
|
+
<li>test files: <code>lab/test</code> (a close match)</li>
|
|
4398
4825
|
</ul>
|
|
4399
|
-
<p>Instead,
|
|
4400
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
4401
|
-
<a id="__codelineno-
|
|
4402
|
-
<a id="__codelineno-
|
|
4403
|
-
<a id="__codelineno-
|
|
4404
|
-
<a id="__codelineno-
|
|
4405
|
-
<a id="__codelineno-
|
|
4406
|
-
<a id="__codelineno-
|
|
4826
|
+
<p>Instead, say your paths look like this:</p>
|
|
4827
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="nt">:paths</span><span class="p">:</span>
|
|
4828
|
+
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
|
|
4829
|
+
<a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/**</span><span class="w"> </span><span class="c1"># might contain subfolders lab, lair, and other</span>
|
|
4830
|
+
<a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="w"> </span><span class="nt">:include</span><span class="p">:</span>
|
|
4831
|
+
<a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">inc/**</span><span class="w"> </span><span class="c1"># might contain subfolders lab, lair, other, and shared</span>
|
|
4832
|
+
<a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
|
|
4833
|
+
<a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test</span>
|
|
4407
4834
|
</code></pre></div>
|
|
4408
|
-
<p>
|
|
4835
|
+
<p>Now the <code>lab:</code> hint places files here:</p>
|
|
4409
4836
|
<ul>
|
|
4410
|
-
<li>source files: <code>src/lab</code> (
|
|
4411
|
-
<li>include files: <code>inc/lab</code> (
|
|
4412
|
-
<li>test files: <code>test</code> (
|
|
4837
|
+
<li>source files: <code>src/lab</code> (a close match)</li>
|
|
4838
|
+
<li>include files: <code>inc/lab</code> (a close match)</li>
|
|
4839
|
+
<li>test files: <code>test</code> (no close match, so the first test path)</li>
|
|
4413
4840
|
</ul>
|
|
4414
|
-
<p>
|
|
4415
|
-
time... no worries... you can move the file after it's created... but if your project has any kind of
|
|
4416
|
-
consistent structure, the guessing engine does a good job of making it work.</p>
|
|
4417
|
-
<p>A few more quick notes about the path-matching:</p>
|
|
4841
|
+
<p>A few more notes about hints:</p>
|
|
4418
4842
|
<ol>
|
|
4419
|
-
<li>
|
|
4420
|
-
<
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
<li>
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
</li>
|
|
4427
|
-
<li>
|
|
4428
|
-
<p>If the matcher completely fails to find a good candidate, it will return an error, allowing you
|
|
4429
|
-
to rectify the situation.</p>
|
|
4430
|
-
</li>
|
|
4431
|
-
<li>
|
|
4432
|
-
<p>What path is "first" when you're using <code>**</code> pattern in your <code>:paths:</code> specifications? The parent
|
|
4433
|
-
folder is used first, then its children alphabetically, and so on. This is important when
|
|
4434
|
-
considering where files (or especially subfolders... see below) will be generated.</p>
|
|
4435
|
-
</li>
|
|
4843
|
+
<li>Several hints narrow the match through nested folders. <code>lab:secret:lair</code> places
|
|
4844
|
+
<code>lair.c</code> in a folder like <code>my/lab/secret/</code>.</li>
|
|
4845
|
+
<li>Among equally good matches, and without any hint, the order of your paths in the
|
|
4846
|
+
project file decides.</li>
|
|
4847
|
+
<li>With a <code>**</code> glob under <code>:paths</code>, the parent folder comes first, then its
|
|
4848
|
+
subfolders alphabetically, and so on.</li>
|
|
4849
|
+
<li>A hint may be an absolute path, including one with a Windows drive letter, as in
|
|
4850
|
+
<code>C:/project/lab:SecretLair</code>.</li>
|
|
4436
4851
|
</ol>
|
|
4437
|
-
<
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
<a id="__codelineno-
|
|
4444
|
-
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/**</span><span class="w"> </span><span class="c1">#this might contain subfolders lab, lair, and other</span>
|
|
4445
|
-
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="w"> </span><span class="nt">:include</span><span class="p">:</span>
|
|
4446
|
-
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">inc/**</span><span class="w"> </span><span class="c1">#again, this might contain subfolders lab, lair, other, and shared</span>
|
|
4447
|
-
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
|
|
4448
|
-
<a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test</span>
|
|
4449
|
-
</code></pre></div>
|
|
4450
|
-
<p>Then, use the following command:</p>
|
|
4451
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>newlab/SecretLair<span class="o">]</span>
|
|
4852
|
+
<p>More complicated structures will sometimes place a file in the wrong folder, and you
|
|
4853
|
+
can move it afterward. A project with a consistent structure gets good placement.</p>
|
|
4854
|
+
<h3 id="adding-to-paths">Adding to paths</h3>
|
|
4855
|
+
<p>A slash in the name, rather than a colon, names a subdirectory to use as given. The
|
|
4856
|
+
module generator creates it if it does not exist. With the second set of paths above,
|
|
4857
|
+
this call:</p>
|
|
4858
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[newlab/SecretLair]"</span>
|
|
4452
4859
|
</code></pre></div>
|
|
4453
|
-
<p>
|
|
4860
|
+
<p>creates these files:</p>
|
|
4454
4861
|
<ul>
|
|
4455
4862
|
<li><code>src/newlab/SecretLair.c</code></li>
|
|
4456
4863
|
<li><code>inc/newlab/SecretLair.h</code></li>
|
|
4457
|
-
<li><code>test/newlab/
|
|
4864
|
+
<li><code>test/newlab/test_SecretLair.c</code></li>
|
|
4458
4865
|
</ul>
|
|
4459
|
-
<p>
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
<code>
|
|
4466
|
-
a file
|
|
4866
|
+
<p>A hint and a slash can combine, as in <code>lab:newlab/SecretLair</code>. A hint picks among
|
|
4867
|
+
existing paths, and the slash then adds a subdirectory below the chosen path.</p>
|
|
4868
|
+
<p>The module generator does not check whether a new subdirectory is covered by your
|
|
4869
|
+
<code>:paths</code>. You can create files before updating your project file. You might also create
|
|
4870
|
+
a file Ceedling does not see until you add its folder to <code>:paths</code>.</p>
|
|
4871
|
+
<h3 id="same-named-files">Same-named files</h3>
|
|
4872
|
+
<p><code>module:create</code> warns about each existing source, header, or test file elsewhere in your
|
|
4873
|
+
project that shares a name with a file it is about to create, then creates the module.
|
|
4874
|
+
Ceedling distinguishes same-named files by their paths, so this is allowed. The warning
|
|
4875
|
+
catches the case where you meant to work with the existing module instead.</p>
|
|
4467
4876
|
<h2 id="stubbing">Stubbing</h2>
|
|
4468
|
-
<p>
|
|
4469
|
-
|
|
4470
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
4877
|
+
<p><code>module:stub</code> writes a source file containing a stub for each function its header
|
|
4878
|
+
declares:</p>
|
|
4879
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>ceedling<span class="w"> </span><span class="s2">"module:stub[SecretLair]"</span>
|
|
4880
|
+
</code></pre></div>
|
|
4881
|
+
<p>This reads <code>SecretLair.h</code> from your include path and writes <code>SecretLair.c</code> to your
|
|
4882
|
+
source path. If <code>SecretLair.c</code> already exists, only stubs for newly declared functions
|
|
4883
|
+
are added, and your existing code is left alone.</p>
|
|
4884
|
+
<p>Hints and slashes work as they do for <code>module:create</code>. <code>"module:stub[lab:rev/SecretLair]"</code>
|
|
4885
|
+
reads <code>rev/SecretLair.h</code> below the include path <code>lab:</code> matches and writes
|
|
4886
|
+
<code>rev/SecretLair.c</code> below the matching source path.</p>
|
|
4887
|
+
<p>Headers are parsed with your project’s <a href="../configuration/reference/cmock.html"><code>:cmock</code></a> settings, the same ones that generate
|
|
4888
|
+
your mocks, so options like <code>:strippables</code> and <code>:treat_as</code> apply to stubs too.</p>
|
|
4889
|
+
<h2 id="testing-from-headers">Testing from headers</h2>
|
|
4890
|
+
<p><code>module:test</code> writes a test file containing an ignored test for each function its
|
|
4891
|
+
module’s header declares, a starting point for testing a module that already exists:</p>
|
|
4892
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>ceedling<span class="w"> </span><span class="s2">"module:test[SecretLair]"</span>
|
|
4471
4893
|
</code></pre></div>
|
|
4472
|
-
<p>This
|
|
4473
|
-
|
|
4474
|
-
|
|
4894
|
+
<p>This reads <code>SecretLair.h</code> from your include path and writes <code>test_SecretLair.c</code> to your
|
|
4895
|
+
test path, with a <code>test_<function>_NeedToImplement</code> test for each function. Each test
|
|
4896
|
+
calls <code>TEST_IGNORE_MESSAGE()</code> until you fill it in.</p>
|
|
4897
|
+
<p>Run it again after adding functions to the header, and only tests for the new functions
|
|
4898
|
+
are added, ahead of the file’s closing <code>#endif</code>. A function already counts as tested by
|
|
4899
|
+
any test named <code>test_<function></code> or <code>test_<function>_<anything></code>, so your own
|
|
4900
|
+
descriptive test names are respected and your existing tests are left alone.</p>
|
|
4901
|
+
<p>Hints and slashes work as they do for <code>module:create</code>. The test file uses your
|
|
4902
|
+
configured <a href="#includes">includes</a>, <a href="#boilerplates">boilerplate</a>,
|
|
4903
|
+
<a href="#test-defines">test define</a>, and <a href="#test-guards">test guard</a>. Headers are parsed with
|
|
4904
|
+
your project’s <a href="../configuration/reference/cmock.html"><code>:cmock</code></a> settings, as for <a href="#stubbing">stubbing</a>.</p>
|
|
4905
|
+
<h2 id="destroying">Destroying</h2>
|
|
4906
|
+
<p><code>module:destroy</code> removes the files <code>module:create</code> would make for the same arguments,
|
|
4907
|
+
pattern and hints included:</p>
|
|
4908
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>ceedling<span class="w"> </span><span class="s2">"module:destroy[lab:SecretLair,mch]"</span>
|
|
4909
|
+
</code></pre></div>
|
|
4910
|
+
<p>A file that does not exist is reported and skipped.</p>
|
|
4475
4911
|
<h2 id="configuration">Configuration</h2>
|
|
4476
|
-
<p>
|
|
4477
|
-
|
|
4478
|
-
<
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
<
|
|
4483
|
-
<
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
<
|
|
4487
|
-
<
|
|
4488
|
-
<
|
|
4489
|
-
<a
|
|
4490
|
-
<
|
|
4491
|
-
|
|
4912
|
+
<p>The module generator runs as-is with its defaults. Every setting lives under
|
|
4913
|
+
<code>:module_generator</code> in your project file:</p>
|
|
4914
|
+
<table>
|
|
4915
|
+
<thead>
|
|
4916
|
+
<tr>
|
|
4917
|
+
<th>Setting</th>
|
|
4918
|
+
<th>Purpose</th>
|
|
4919
|
+
<th>Default</th>
|
|
4920
|
+
</tr>
|
|
4921
|
+
</thead>
|
|
4922
|
+
<tbody>
|
|
4923
|
+
<tr>
|
|
4924
|
+
<td><code>:naming</code></td>
|
|
4925
|
+
<td>File <a href="#naming-convention">naming convention</a></td>
|
|
4926
|
+
<td>none (names keep their case)</td>
|
|
4927
|
+
</tr>
|
|
4928
|
+
<tr>
|
|
4929
|
+
<td><code>:path_src</code>, <code>:path_inc</code>, <code>:path_tst</code></td>
|
|
4930
|
+
<td><a href="#default-paths">Default locations when no hint is given</a></td>
|
|
4931
|
+
<td>first path of each <code>:paths</code> list</td>
|
|
4932
|
+
</tr>
|
|
4933
|
+
<tr>
|
|
4934
|
+
<td><code>:includes</code></td>
|
|
4935
|
+
<td><a href="#includes">Headers every generated file includes</a></td>
|
|
4936
|
+
<td>none</td>
|
|
4937
|
+
</tr>
|
|
4938
|
+
<tr>
|
|
4939
|
+
<td><code>:boilerplates</code></td>
|
|
4940
|
+
<td><a href="#boilerplates">Text at the top of every generated file</a></td>
|
|
4941
|
+
<td>none</td>
|
|
4942
|
+
</tr>
|
|
4943
|
+
<tr>
|
|
4944
|
+
<td><code>:boilerplate_files</code></td>
|
|
4945
|
+
<td><a href="#boilerplate-files">Files holding that text instead</a></td>
|
|
4946
|
+
<td>none</td>
|
|
4947
|
+
</tr>
|
|
4948
|
+
<tr>
|
|
4949
|
+
<td><code>:test_define</code></td>
|
|
4950
|
+
<td><a href="#test-defines">Symbol guarding each test file</a></td>
|
|
4951
|
+
<td><code>TEST</code></td>
|
|
4952
|
+
</tr>
|
|
4953
|
+
<tr>
|
|
4954
|
+
<td><code>:test_guard</code></td>
|
|
4955
|
+
<td><a href="#test-guards"><code>#ifdef</code> or <code>#if</code> around each test file</a></td>
|
|
4956
|
+
<td><code>:ifdef</code></td>
|
|
4957
|
+
</tr>
|
|
4958
|
+
</tbody>
|
|
4959
|
+
</table>
|
|
4960
|
+
<h3 id="naming-convention">Naming convention</h3>
|
|
4961
|
+
<p>A naming convention keeps everyone’s file names consistent, whatever case a name is
|
|
4962
|
+
typed in. Words are found at underscores, spaces, and changes of case, so
|
|
4963
|
+
<code>mad_science</code> and <code>MadScience</code> name the same module.</p>
|
|
4964
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
4965
|
+
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="w"> </span><span class="nt">:naming</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:bumpy</span>
|
|
4492
4966
|
</code></pre></div>
|
|
4493
|
-
<p>
|
|
4967
|
+
<p>The options for <code>:naming</code>, and the source file each creates for this command:</p>
|
|
4968
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[mad_science]"</span>
|
|
4969
|
+
</code></pre></div>
|
|
4970
|
+
<table>
|
|
4971
|
+
<thead>
|
|
4972
|
+
<tr>
|
|
4973
|
+
<th><code>:naming</code></th>
|
|
4974
|
+
<th>Style</th>
|
|
4975
|
+
<th>Source file</th>
|
|
4976
|
+
</tr>
|
|
4977
|
+
</thead>
|
|
4978
|
+
<tbody>
|
|
4979
|
+
<tr>
|
|
4980
|
+
<td><code>:bumpy</code></td>
|
|
4981
|
+
<td>BumpyFilesLookLikeSo</td>
|
|
4982
|
+
<td><code>MadScience.c</code></td>
|
|
4983
|
+
</tr>
|
|
4984
|
+
<tr>
|
|
4985
|
+
<td><code>:camel</code></td>
|
|
4986
|
+
<td>camelFilesAreSimilarButStartLow</td>
|
|
4987
|
+
<td><code>madScience.c</code></td>
|
|
4988
|
+
</tr>
|
|
4989
|
+
<tr>
|
|
4990
|
+
<td><code>:snake</code></td>
|
|
4991
|
+
<td>snake_case_is_all_lower_and_uses_underscores</td>
|
|
4992
|
+
<td><code>mad_science.c</code></td>
|
|
4993
|
+
</tr>
|
|
4994
|
+
<tr>
|
|
4995
|
+
<td><code>:caps</code></td>
|
|
4996
|
+
<td>CAPS_FEELS_LIKE_YOU_ARE_SCREAMING</td>
|
|
4997
|
+
<td><code>MAD_SCIENCE.c</code></td>
|
|
4998
|
+
</tr>
|
|
4999
|
+
</tbody>
|
|
5000
|
+
</table>
|
|
5001
|
+
<p>The header and test file follow the same convention, as do a pattern’s module names.
|
|
5002
|
+
Without <code>:naming</code>, names keep the case you type.</p>
|
|
5003
|
+
<h3 id="default-paths">Default paths</h3>
|
|
5004
|
+
<p><code>:path_src</code>, <code>:path_inc</code>, and <code>:path_tst</code> choose where files go when a command gives no
|
|
5005
|
+
<a href="#path-hints">hint</a>. A hint still matches against your <code>:paths</code> and ignores these
|
|
5006
|
+
settings.</p>
|
|
5007
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
5008
|
+
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="w"> </span><span class="nt">:path_src</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/</span>
|
|
5009
|
+
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="w"> </span><span class="nt">:path_inc</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">include/</span>
|
|
5010
|
+
<a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="w"> </span><span class="nt">:path_tst</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test/</span>
|
|
5011
|
+
</code></pre></div>
|
|
5012
|
+
<p>With these settings, this command:</p>
|
|
5013
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[Widget]"</span>
|
|
5014
|
+
</code></pre></div>
|
|
5015
|
+
<p>creates <code>src/Widget.c</code>, <code>include/Widget.h</code>, and <code>test/test_Widget.c</code>.</p>
|
|
4494
5016
|
<h3 id="includes">Includes</h3>
|
|
4495
|
-
<p>
|
|
4496
|
-
|
|
4497
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
4498
|
-
<a id="__codelineno-
|
|
4499
|
-
<a id="__codelineno-
|
|
4500
|
-
<a id="__codelineno-
|
|
4501
|
-
<a id="__codelineno-
|
|
4502
|
-
<a id="__codelineno-
|
|
4503
|
-
<a id="__codelineno-
|
|
5017
|
+
<p>Every generated file of a kind can include a standard list of headers. <code>:src</code> lists
|
|
5018
|
+
those for source files, <code>:inc</code> for headers, and <code>:tst</code> for tests:</p>
|
|
5019
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
5020
|
+
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5021
|
+
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span><span class="nt">:src</span><span class="p">:</span>
|
|
5022
|
+
<a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">board.h</span>
|
|
5023
|
+
<a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a><span class="w"> </span><span class="nt">:inc</span><span class="p">:</span>
|
|
5024
|
+
<a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">types.h</span>
|
|
5025
|
+
<a id="__codelineno-16-7" name="__codelineno-16-7" href="#__codelineno-16-7"></a><span class="w"> </span><span class="nt">:tst</span><span class="p">:</span>
|
|
5026
|
+
<a id="__codelineno-16-8" name="__codelineno-16-8" href="#__codelineno-16-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">defs.h</span>
|
|
5027
|
+
<a id="__codelineno-16-9" name="__codelineno-16-9" href="#__codelineno-16-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">board.h</span>
|
|
4504
5028
|
</code></pre></div>
|
|
5029
|
+
<p>With these settings, this command:</p>
|
|
5030
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[Widget]"</span>
|
|
5031
|
+
</code></pre></div>
|
|
5032
|
+
<p>creates <code>Widget.c</code> including <code>board.h</code>, <code>Widget.h</code> including <code>types.h</code>, and
|
|
5033
|
+
<code>test_Widget.c</code> including <code>defs.h</code> and <code>board.h</code>, each ahead of the module’s own
|
|
5034
|
+
includes.</p>
|
|
4505
5035
|
<h3 id="boilerplates">Boilerplates</h3>
|
|
4506
|
-
<p>
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
<
|
|
4511
|
-
<a id="__codelineno-
|
|
4512
|
-
<a id="__codelineno-
|
|
4513
|
-
<a id="__codelineno-
|
|
4514
|
-
<a id="__codelineno-
|
|
4515
|
-
<a id="__codelineno-
|
|
4516
|
-
<a id="__codelineno-
|
|
4517
|
-
<a id="__codelineno-
|
|
4518
|
-
<a id="__codelineno-
|
|
4519
|
-
<a id="__codelineno-11
|
|
4520
|
-
<a id="__codelineno-
|
|
4521
|
-
<a id="__codelineno-
|
|
4522
|
-
<a id="__codelineno-
|
|
4523
|
-
<a id="__codelineno-
|
|
4524
|
-
<a id="__codelineno-
|
|
4525
|
-
<a id="__codelineno-11-16" name="__codelineno-11-16" href="#__codelineno-11-16"></a><span class="w"> </span><span class="no">***************************/</span>
|
|
5036
|
+
<p>A boilerplate is text placed at the top of each generated file, the handy place for a
|
|
5037
|
+
copyright notice. Each kind of file has its own. A boilerplate may contain <code>%1$s</code>, which
|
|
5038
|
+
is replaced with the module name.</p>
|
|
5039
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
5040
|
+
<a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="w"> </span><span class="nt">:boilerplates</span><span class="p">:</span>
|
|
5041
|
+
<a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="w"> </span><span class="nt">:src</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
|
|
5042
|
+
<a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="w"> </span><span class="no">/***************************</span>
|
|
5043
|
+
<a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a><span class="w"> </span><span class="no">* %1$s</span>
|
|
5044
|
+
<a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a><span class="w"> </span><span class="no">* This file is Awesome.</span>
|
|
5045
|
+
<a id="__codelineno-18-7" name="__codelineno-18-7" href="#__codelineno-18-7"></a><span class="w"> </span><span class="no">* That is All.</span>
|
|
5046
|
+
<a id="__codelineno-18-8" name="__codelineno-18-8" href="#__codelineno-18-8"></a><span class="w"> </span><span class="no">***************************/</span>
|
|
5047
|
+
<a id="__codelineno-18-9" name="__codelineno-18-9" href="#__codelineno-18-9"></a><span class="w"> </span><span class="nt">:inc</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
|
|
5048
|
+
<a id="__codelineno-18-10" name="__codelineno-18-10" href="#__codelineno-18-10"></a><span class="w"> </span><span class="no">/***************************</span>
|
|
5049
|
+
<a id="__codelineno-18-11" name="__codelineno-18-11" href="#__codelineno-18-11"></a><span class="w"> </span><span class="no">* Header. Woo. *</span>
|
|
5050
|
+
<a id="__codelineno-18-12" name="__codelineno-18-12" href="#__codelineno-18-12"></a><span class="w"> </span><span class="no">***************************/</span>
|
|
5051
|
+
<a id="__codelineno-18-13" name="__codelineno-18-13" href="#__codelineno-18-13"></a><span class="w"> </span><span class="nt">:tst</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
|
|
5052
|
+
<a id="__codelineno-18-14" name="__codelineno-18-14" href="#__codelineno-18-14"></a><span class="w"> </span><span class="no">/***************************</span>
|
|
5053
|
+
<a id="__codelineno-18-15" name="__codelineno-18-15" href="#__codelineno-18-15"></a><span class="w"> </span><span class="no">* My Awesome Test For %1$s</span>
|
|
5054
|
+
<a id="__codelineno-18-16" name="__codelineno-18-16" href="#__codelineno-18-16"></a><span class="w"> </span><span class="no">***************************/</span>
|
|
4526
5055
|
</code></pre></div>
|
|
4527
|
-
<
|
|
4528
|
-
<
|
|
4529
|
-
|
|
4530
|
-
<
|
|
4531
|
-
<
|
|
5056
|
+
<p>With these settings, this command:</p>
|
|
5057
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[Widget]"</span>
|
|
5058
|
+
</code></pre></div>
|
|
5059
|
+
<p>creates <code>Widget.c</code> beginning with the source boilerplate, its second line reading
|
|
5060
|
+
<code>* Widget</code>, and <code>test_Widget.c</code> beginning with <code>* My Awesome Test For Widget</code>.</p>
|
|
5061
|
+
<h3 id="boilerplate-files">Boilerplate files</h3>
|
|
5062
|
+
<p>A boilerplate can instead live in a file, which keeps long notices out of your project
|
|
5063
|
+
file. <code>:boilerplate_files</code> names a file for any kind, and that file’s contents replace
|
|
5064
|
+
the kind’s <code>:boilerplates</code> text. A named file that does not exist stops the command.</p>
|
|
5065
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
5066
|
+
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="w"> </span><span class="nt">:boilerplate_files</span><span class="p">:</span>
|
|
5067
|
+
<a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a><span class="w"> </span><span class="nt">:src</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">config/boilerplate_source.txt</span>
|
|
5068
|
+
<a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a><span class="w"> </span><span class="nt">:tst</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">config/boilerplate_test.txt</span>
|
|
5069
|
+
</code></pre></div>
|
|
5070
|
+
<p>With these settings, this command:</p>
|
|
5071
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[Widget]"</span>
|
|
5072
|
+
</code></pre></div>
|
|
5073
|
+
<p>creates <code>Widget.c</code> beginning with the contents of <code>config/boilerplate_source.txt</code> and
|
|
5074
|
+
<code>test_Widget.c</code> beginning with the contents of <code>config/boilerplate_test.txt</code>. <code>Widget.h</code>
|
|
5075
|
+
uses the <code>:inc</code> boilerplate, if any.</p>
|
|
5076
|
+
<h3 id="test-defines">Test defines</h3>
|
|
5077
|
+
<p>Each generated test file is wrapped in <code>#ifdef TEST</code>. <code>:test_define</code> names a
|
|
5078
|
+
different symbol.</p>
|
|
5079
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
5080
|
+
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="w"> </span><span class="nt">:test_define</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CEEDLING_TEST</span>
|
|
5081
|
+
</code></pre></div>
|
|
5082
|
+
<p>With this setting, this command:</p>
|
|
5083
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[Widget]"</span>
|
|
5084
|
+
</code></pre></div>
|
|
5085
|
+
<p>creates <code>test_Widget.c</code> wrapped in <code>#ifdef CEEDLING_TEST</code> and <code>#endif // CEEDLING_TEST</code>.</p>
|
|
5086
|
+
<p>The symbol must be defined for your test builds, or every generated test compiles to
|
|
5087
|
+
nothing. Add it under <a href="../configuration/reference/defines.html"><code>:defines</code></a> ↳ <code>:test</code>:</p>
|
|
5088
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="nt">:defines</span><span class="p">:</span>
|
|
5089
|
+
<a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
|
|
5090
|
+
<a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CEEDLING_TEST</span>
|
|
5091
|
+
</code></pre></div>
|
|
5092
|
+
<p><code>module:create</code> and <code>module:test</code> warn about each generated test file whose build would
|
|
5093
|
+
not define the symbol. Each file is checked as a test build would compile it, so a symbol
|
|
5094
|
+
under a per-test matcher counts only for the test files that matcher matches.</p>
|
|
5095
|
+
<h3 id="test-guards">Test guards</h3>
|
|
5096
|
+
<p>Each generated test file is guarded with <code>#ifdef</code>. Some coding standards forbid <code>#ifdef</code>
|
|
5097
|
+
in favor of <code>#if</code>, and <code>:test_guard</code> set to <code>:if</code> uses <code>#if</code> instead. The options are
|
|
5098
|
+
<code>:ifdef</code> (the default) and <code>:if</code>.</p>
|
|
5099
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a><span class="nt">:defines</span><span class="p">:</span>
|
|
5100
|
+
<a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
|
|
5101
|
+
<a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">UNIT_TEST</span>
|
|
5102
|
+
<a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a>
|
|
5103
|
+
<a id="__codelineno-25-5" name="__codelineno-25-5" href="#__codelineno-25-5"></a><span class="nt">:module_generator</span><span class="p">:</span>
|
|
5104
|
+
<a id="__codelineno-25-6" name="__codelineno-25-6" href="#__codelineno-25-6"></a><span class="w"> </span><span class="nt">:test_define</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">UNIT_TEST</span>
|
|
5105
|
+
<a id="__codelineno-25-7" name="__codelineno-25-7" href="#__codelineno-25-7"></a><span class="w"> </span><span class="nt">:test_guard</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:if</span>
|
|
4532
5106
|
</code></pre></div>
|
|
4533
|
-
<
|
|
4534
|
-
<
|
|
4535
|
-
with something like <code>MyNewModule</code>, if they have the naming convention set to <code>:caps</code>, it will
|
|
4536
|
-
generate files like <code>MY_NEW_MODULE.c</code>. This keeps everyone on your team behaving the same way.</p>
|
|
4537
|
-
<p>Your options for <code>:naming:</code> are as follows:</p>
|
|
4538
|
-
<div class="highlight"><pre><span></span><code>- `:bumpy` - BumpyFilesLooksLikeSo
|
|
4539
|
-
- `:camel` - camelFilesAreSimilarButStartLow
|
|
4540
|
-
- `:snake` - snake_case_is_all_lower_and_uses_underscores
|
|
4541
|
-
- `:caps` - CAPS_FEELS_LIKE_YOU_ARE_SCREAMING
|
|
5107
|
+
<p>With these settings, this command:</p>
|
|
5108
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>ceedling<span class="w"> </span><span class="s2">"module:create[Widget]"</span>
|
|
4542
5109
|
</code></pre></div>
|
|
5110
|
+
<p>creates <code>test_Widget.c</code> wrapped in <code>#if UNIT_TEST</code> and <code>#endif // UNIT_TEST</code>. With
|
|
5111
|
+
<code>#if</code>, the symbol must be defined to a nonzero value. A bare <code>UNIT_TEST</code> under <code>:defines</code>
|
|
5112
|
+
is defined as <code>1</code>.</p>
|
|
4543
5113
|
<p><br/><br/></p>
|
|
4544
5114
|
|
|
4545
5115
|
|
|
@@ -4608,10 +5178,10 @@ generate files like <code>MY_NEW_MODULE.c</code>. This keeps everyone on your te
|
|
|
4608
5178
|
|
|
4609
5179
|
|
|
4610
5180
|
|
|
4611
|
-
<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.
|
|
5181
|
+
<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>
|
|
4612
5182
|
|
|
4613
5183
|
|
|
4614
|
-
<script src="../assets/javascripts/bundle.
|
|
5184
|
+
<script src="../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4615
5185
|
|
|
4616
5186
|
|
|
4617
5187
|
</body>
|