ceedling 1.0.1 → 1.1.0
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/GIT_COMMIT_SHA +1 -1
- data/Gemfile +7 -1
- data/Gemfile.lock +19 -12
- data/README.md +140 -156
- data/Rakefile +189 -9
- data/assets/example_file.c +1 -1
- data/assets/example_file.h +1 -1
- data/assets/example_file_call.c +1 -1
- data/assets/example_file_call.h +1 -1
- data/assets/example_file_with_statics.c +10 -0
- data/assets/example_file_with_stdio.c +13 -0
- data/assets/example_file_with_stdio.h +15 -0
- data/assets/project.yml +20 -18
- data/assets/test_example_file.c +1 -1
- data/assets/test_example_file_boom.c +1 -1
- data/assets/test_example_file_crash_assert.c +25 -0
- data/assets/{test_example_file_crash.c → test_example_file_crash_sigsegv.c} +4 -3
- data/assets/test_example_file_source_include.c +17 -0
- data/assets/test_example_file_success.c +1 -1
- data/assets/test_example_file_unity_printf.c +1 -1
- data/assets/test_example_file_verbose.c +1 -1
- data/assets/test_example_file_with_mock.c +1 -1
- data/assets/test_example_file_with_stdio.c +18 -0
- data/assets/test_example_with_parameterized_tests.c +1 -1
- data/assets/tests_with_defines/src/adc_hardware.c +1 -1
- data/assets/tests_with_defines/src/adc_hardware.h +1 -1
- data/assets/tests_with_defines/src/adc_hardware_configurator.c +1 -1
- data/assets/tests_with_defines/src/adc_hardware_configurator.h +1 -1
- data/assets/tests_with_defines/test/test_adc_hardware.c +1 -1
- data/assets/tests_with_defines/test/test_adc_hardware_special.c +1 -1
- data/assets/tests_with_encoding/src/unicoder.c +12 -0
- data/assets/tests_with_encoding/src/unicoder.h +14 -0
- data/assets/tests_with_encoding/test/test_unicoder.c +15 -0
- data/assets/tests_with_encoding/test/test_unicoder_partial.c +17 -0
- data/assets/tests_with_fallback_conditionals/src/conditional_module.c +18 -0
- data/assets/tests_with_fallback_conditionals/src/conditional_module.h +13 -0
- data/assets/tests_with_fallback_conditionals/src/optional_dep.h +12 -0
- data/assets/tests_with_fallback_conditionals/test/test_conditionals.c +49 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareA.c +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareA.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareB.c +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareB.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareC.c +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareC.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +1 -1
- data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +1 -1
- data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +1 -1
- data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +1 -1
- data/assets/uncovered_example_file.c +1 -1
- data/bin/actions_wrapper.rb +1 -1
- data/bin/app_cfg.rb +1 -1
- data/bin/ceedling +14 -3
- data/bin/cli.rb +110 -38
- data/bin/cli_handler.rb +167 -68
- data/bin/cli_helper.rb +179 -55
- data/bin/configinator.rb +71 -12
- data/bin/merginator.rb +82 -0
- data/bin/mixin_standardizer.rb +127 -0
- data/bin/mixinator.rb +199 -33
- data/bin/mixins.rb +4 -2
- data/bin/objects.yml +22 -1
- data/bin/path_validator.rb +1 -1
- data/bin/projectinator.rb +29 -20
- data/bin/rake_patches.rb +31 -0
- data/bin/recursive_merger.rb +128 -0
- data/bin/versionator.rb +2 -2
- data/ceedling.gemspec +31 -14
- data/config/test_environment.rb +1 -1
- data/docs/BreakingChanges.md +16 -3
- data/docs/Changelog.md +177 -6
- data/docs/KnownIssues.md +26 -0
- data/docs/ReleaseNotes.md +133 -19
- data/docs/mkdocs/assets/images/ceedling-logo-circle.png +0 -0
- data/docs/mkdocs/assets/images/ceedling.svg +90 -0
- data/docs/mkdocs/assets/images/favicon.png +0 -0
- data/docs/mkdocs/assets/stylesheets/admonitions.css +152 -0
- data/docs/mkdocs/assets/stylesheets/fixes-local.css +15 -0
- data/docs/mkdocs/assets/stylesheets/styling.css +102 -0
- data/docs/mkdocs/configuration/environment-vars.md +14 -0
- data/docs/mkdocs/configuration/global-collections.md +156 -0
- data/docs/mkdocs/configuration/index.md +75 -0
- data/docs/mkdocs/configuration/loading.md +89 -0
- data/docs/mkdocs/configuration/mixins.md +607 -0
- data/docs/mkdocs/configuration/parallel-builds.md +97 -0
- data/docs/mkdocs/configuration/project-file.md +198 -0
- data/docs/mkdocs/configuration/reference/cexception.md +35 -0
- data/docs/mkdocs/configuration/reference/cmock.md +106 -0
- data/docs/mkdocs/configuration/reference/defines.md +352 -0
- data/docs/mkdocs/configuration/reference/environment.md +55 -0
- data/docs/mkdocs/configuration/reference/extension.md +63 -0
- data/docs/mkdocs/configuration/reference/files.md +154 -0
- data/docs/mkdocs/configuration/reference/flags.md +296 -0
- data/docs/mkdocs/configuration/reference/index.md +168 -0
- data/docs/mkdocs/configuration/reference/libraries.md +82 -0
- data/docs/mkdocs/configuration/reference/mixins.md +24 -0
- data/docs/mkdocs/configuration/reference/paths.md +276 -0
- data/docs/mkdocs/configuration/reference/plugins.md +60 -0
- data/docs/mkdocs/configuration/reference/project.md +333 -0
- data/docs/mkdocs/configuration/reference/release-build.md +62 -0
- data/docs/mkdocs/configuration/reference/test-build.md +55 -0
- data/docs/mkdocs/configuration/reference/test-runner.md +61 -0
- data/docs/mkdocs/configuration/reference/tools.md +457 -0
- data/docs/mkdocs/configuration/reference/unity.md +49 -0
- data/docs/mkdocs/configuration/which-ceedling.md +77 -0
- data/docs/mkdocs/development/index.md +50 -0
- data/docs/mkdocs/development/plugins/configuration.md +164 -0
- data/docs/mkdocs/development/plugins/index.md +84 -0
- data/docs/{PluginDevelopmentGuide.md → mkdocs/development/plugins/plugin-subclass.md} +61 -312
- data/docs/mkdocs/development/plugins/rake-tasks.md +54 -0
- data/docs/mkdocs/development/workflow.md +284 -0
- data/docs/mkdocs/getting-started/command-line.md +477 -0
- data/docs/mkdocs/getting-started/example-projects/cipher-quest.md +65 -0
- data/docs/mkdocs/getting-started/example-projects/index.md +49 -0
- data/docs/mkdocs/getting-started/example-projects/temp-sensor.md +60 -0
- data/docs/mkdocs/getting-started/example-projects/wondrous-forest.md +45 -0
- data/docs/mkdocs/getting-started/index.md +41 -0
- data/docs/mkdocs/getting-started/installation.md +172 -0
- data/docs/mkdocs/getting-started/quick-start.md +65 -0
- data/docs/mkdocs/help.md +49 -0
- data/docs/mkdocs/index.md +215 -0
- data/docs/mkdocs/overview/build-system.md +115 -0
- data/docs/mkdocs/overview/index.md +29 -0
- data/docs/mkdocs/overview/test-environments.md +33 -0
- data/docs/mkdocs/overview/tools-and-frameworks.md +115 -0
- data/{plugins/beep/README.md → docs/mkdocs/plugins/beep.md} +10 -9
- data/{plugins/bullseye/README.md → docs/mkdocs/plugins/bullseye.md} +8 -12
- data/{plugins/command_hooks/README.md → docs/mkdocs/plugins/command-hooks.md} +69 -47
- data/{plugins/compile_commands_json_db/README.md → docs/mkdocs/plugins/compile-commands-json-db.md} +7 -5
- data/docs/mkdocs/plugins/cppcheck.md +377 -0
- data/{plugins/dependencies/README.md → docs/mkdocs/plugins/dependencies.md} +39 -50
- data/{plugins/fff/README.md → docs/mkdocs/plugins/fff.md} +42 -37
- data/docs/mkdocs/plugins/gcov/examples.md +92 -0
- data/docs/mkdocs/plugins/gcov/gcovr.md +251 -0
- data/docs/mkdocs/plugins/gcov/index.md +68 -0
- data/docs/mkdocs/plugins/gcov/overview.md +145 -0
- data/docs/mkdocs/plugins/gcov/reportgenerator.md +58 -0
- data/docs/mkdocs/plugins/gcov/reporting.md +147 -0
- data/docs/mkdocs/plugins/gcov/setup.md +232 -0
- data/docs/mkdocs/plugins/gcov/tool-versions.md +60 -0
- data/docs/mkdocs/plugins/gcov/troubleshooting.md +78 -0
- data/docs/mkdocs/plugins/index.md +221 -0
- data/{plugins/module_generator/README.md → docs/mkdocs/plugins/module-generator.md} +44 -44
- data/{plugins/report_build_warnings_log/README.md → docs/mkdocs/plugins/report-build-warnings-log.md} +6 -4
- data/{plugins/report_tests_gtestlike_stdout/README.md → docs/mkdocs/plugins/report-tests-gtestlike-stdout.md} +9 -7
- data/{plugins/report_tests_ide_stdout/README.md → docs/mkdocs/plugins/report-tests-ide-stdout.md} +8 -7
- data/{plugins/report_tests_log_factory/README.md → docs/mkdocs/plugins/report-tests-log-factory.md} +44 -36
- data/{plugins/report_tests_pretty_stdout/README.md → docs/mkdocs/plugins/report-tests-pretty-stdout.md} +8 -6
- data/{plugins/report_tests_raw_output_log/README.md → docs/mkdocs/plugins/report-tests-raw-output-log.md} +9 -7
- data/{plugins/report_tests_teamcity_stdout/README.md → docs/mkdocs/plugins/report-tests-teamcity-stdout.md} +8 -6
- data/docs/mkdocs/plugins/sample_html_report.png +0 -0
- data/docs/mkdocs/plugins/valgrind.md +192 -0
- data/docs/mkdocs/project/release-history.md +61 -0
- data/docs/{CeedlingUpgrade.md → mkdocs/project/upgrade.md} +9 -7
- data/docs/mkdocs/reference/build-directives.md +37 -0
- data/docs/mkdocs/reference/command-line.md +323 -0
- data/docs/mkdocs/reference/environment-vars.md +60 -0
- data/docs/mkdocs/reference/gcov-plugin.md +577 -0
- data/docs/mkdocs/reference/global-collections.md +160 -0
- data/docs/mkdocs/reference/index.md +65 -0
- data/docs/mkdocs/reference/partials-macros.md +79 -0
- data/docs/mkdocs/reference/project-configuration.md +46 -0
- data/docs/mkdocs/snapshot/assets/project.yml +404 -0
- data/docs/mkdocs/snapshot/examples/cipher_quest/README.md +210 -0
- data/docs/mkdocs/snapshot/examples/temp_sensor/README.md +283 -0
- data/docs/mkdocs/snapshot/examples/wondrous_forest/README.md +92 -0
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +33 -0
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
- data/docs/mkdocs/snapshot.yml +20 -0
- data/docs/mkdocs/testing-guide/build-directives.md +153 -0
- data/docs/mkdocs/testing-guide/conventions.md +616 -0
- data/docs/mkdocs/testing-guide/frameworks.md +192 -0
- data/docs/mkdocs/testing-guide/index.md +80 -0
- data/docs/mkdocs/testing-guide/partials/configuration.md +67 -0
- data/docs/mkdocs/testing-guide/partials/conventions.md +68 -0
- data/docs/mkdocs/testing-guide/partials/directives.md +212 -0
- data/docs/mkdocs/testing-guide/partials/example.md +149 -0
- data/docs/mkdocs/testing-guide/partials/index.md +79 -0
- data/docs/mkdocs/testing-guide/partials/overview.md +81 -0
- data/docs/mkdocs/testing-guide/partials/variables.md +244 -0
- data/docs/mkdocs/testing-guide/test-cases.md +194 -0
- data/docs/mkdocs/testing-guide/test-sample.md +94 -0
- data/docs/mkdocs/testing-guide/test-suite-anatomy.md +58 -0
- data/examples/cipher_quest/README.md +210 -0
- data/examples/cipher_quest/mixin/release_analyze.yml +28 -0
- data/examples/cipher_quest/mixin/release_caesar.yml +28 -0
- data/examples/cipher_quest/mixin/release_full.yml +30 -0
- data/examples/cipher_quest/mixin/release_rot13.yml +28 -0
- data/examples/cipher_quest/project.yml +108 -0
- data/examples/cipher_quest/src/analyzer.c +83 -0
- data/examples/cipher_quest/src/analyzer.h +29 -0
- data/examples/cipher_quest/src/cipher.c +59 -0
- data/examples/cipher_quest/src/cipher.h +27 -0
- data/examples/cipher_quest/src/main.c +151 -0
- data/examples/cipher_quest/src/text_utils.c +119 -0
- data/examples/cipher_quest/src/text_utils.h +23 -0
- data/examples/cipher_quest/test/TestAnalyzer.c +133 -0
- data/examples/cipher_quest/test/TestCipherCaesar.c +81 -0
- data/examples/cipher_quest/test/TestCipherRot13.c +74 -0
- data/examples/cipher_quest/test/TestTextUtils.c +184 -0
- data/examples/temp_sensor/README.md +279 -14
- data/examples/temp_sensor/mixin/add_gcov.yml +1 -1
- data/examples/temp_sensor/mixin/add_unity_helper.yml +1 -1
- data/examples/temp_sensor/project.yml +4 -15
- data/examples/temp_sensor/src/AdcConductor.c +5 -1
- data/examples/temp_sensor/src/AdcConductor.h +1 -1
- data/examples/temp_sensor/src/AdcHardware.c +1 -1
- data/examples/temp_sensor/src/AdcHardware.h +1 -1
- data/examples/temp_sensor/src/AdcHardwareConfigurator.c +2 -1
- data/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
- data/examples/temp_sensor/src/AdcModel.c +2 -2
- data/examples/temp_sensor/src/AdcModel.h +1 -1
- data/examples/temp_sensor/src/AdcTemperatureSensor.c +2 -1
- data/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
- data/examples/temp_sensor/src/Executor.c +1 -1
- data/examples/temp_sensor/src/Executor.h +1 -1
- data/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
- data/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
- data/examples/temp_sensor/src/Main.c +3 -3
- data/examples/temp_sensor/src/Main.h +1 -1
- data/examples/temp_sensor/src/Model.c +1 -1
- data/examples/temp_sensor/src/Model.h +1 -1
- data/examples/temp_sensor/src/ModelConfig.h +1 -1
- data/examples/temp_sensor/src/TaskScheduler.c +1 -1
- data/examples/temp_sensor/src/TaskScheduler.h +1 -1
- data/examples/temp_sensor/src/TemperatureFilter.c +1 -1
- data/examples/temp_sensor/src/TemperatureFilter.h +1 -1
- data/examples/temp_sensor/src/TimerConductor.c +1 -1
- data/examples/temp_sensor/src/TimerConductor.h +1 -1
- data/examples/temp_sensor/src/TimerConfigurator.c +2 -1
- data/examples/temp_sensor/src/TimerConfigurator.h +1 -1
- data/examples/temp_sensor/src/TimerHardware.c +1 -1
- data/examples/temp_sensor/src/TimerHardware.h +1 -1
- data/examples/temp_sensor/src/TimerInterruptConfigurator.c +2 -1
- data/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
- data/examples/temp_sensor/src/TimerInterruptHandler.c +2 -1
- data/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
- data/examples/temp_sensor/src/TimerModel.c +1 -1
- data/examples/temp_sensor/src/TimerModel.h +1 -1
- data/examples/temp_sensor/src/Types.h +5 -2
- data/examples/temp_sensor/src/UsartConductor.c +1 -1
- data/examples/temp_sensor/src/UsartConductor.h +1 -1
- data/examples/temp_sensor/src/UsartConfigurator.c +2 -1
- data/examples/temp_sensor/src/UsartConfigurator.h +1 -1
- data/examples/temp_sensor/src/UsartHardware.c +1 -1
- data/examples/temp_sensor/src/UsartHardware.h +1 -1
- data/examples/temp_sensor/src/UsartModel.c +2 -2
- data/examples/temp_sensor/src/UsartModel.h +1 -1
- data/examples/temp_sensor/src/UsartPutChar.c +2 -1
- data/examples/temp_sensor/src/UsartPutChar.h +1 -1
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +2 -1
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
- data/examples/temp_sensor/src/{TemperatureCalculator.c → calculators/TemperatureCalculator.c} +1 -1
- data/examples/temp_sensor/src/{TemperatureCalculator.h → calculators/TemperatureCalculator.h} +1 -1
- data/examples/temp_sensor/src/{UsartBaudRateRegisterCalculator.c → calculators/UsartBaudRateRegisterCalculator.c} +1 -1
- data/examples/temp_sensor/src/{UsartBaudRateRegisterCalculator.h → calculators/UsartBaudRateRegisterCalculator.h} +1 -1
- data/examples/temp_sensor/test/TestExecutor.c +1 -1
- data/examples/temp_sensor/test/TestMain.c +5 -1
- data/examples/temp_sensor/test/TestModel.c +1 -1
- data/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +2 -2
- data/examples/temp_sensor/test/TestTemperatureFilter.c +5 -2
- data/examples/temp_sensor/test/TestTimerConductor.c +1 -1
- data/examples/temp_sensor/test/TestTimerHardware.c +1 -1
- data/examples/temp_sensor/test/TestTimerIntegrated.c +8 -4
- data/examples/temp_sensor/test/TestTimerModel.c +1 -1
- data/examples/temp_sensor/test/TestTimerPlatformStandin.c +154 -0
- data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
- data/examples/temp_sensor/test/TestUsartConductor.c +1 -1
- data/examples/temp_sensor/test/TestUsartHardware.c +1 -1
- data/examples/temp_sensor/test/TestUsartIntegrated.c +9 -5
- data/examples/temp_sensor/test/TestUsartModel.c +2 -2
- data/examples/temp_sensor/test/TestUsartPlatformStandin.c +145 -0
- data/examples/temp_sensor/test/adc/TestAdcConductor.c +1 -1
- data/examples/temp_sensor/test/adc/TestAdcHardware.c +1 -1
- data/examples/temp_sensor/test/adc/TestAdcModel.c +1 -1
- data/examples/temp_sensor/test/adc/TestAdcPlatformStandin.c +100 -0
- data/examples/temp_sensor/test/platform/at91sam7s256.c +25 -0
- data/examples/temp_sensor/test/platform/at91sam7s256.h +183 -0
- data/examples/temp_sensor/test/support/UnityHelper.c +1 -1
- data/examples/temp_sensor/test/support/UnityHelper.h +1 -1
- data/examples/wondrous_forest/README.md +92 -0
- data/{lib/ceedling/release_invoker_helper.rb → examples/wondrous_forest/mixin/add_gcov.yml} +14 -4
- data/examples/wondrous_forest/project.yml +86 -0
- data/examples/wondrous_forest/src/AlertManager.c +125 -0
- data/examples/wondrous_forest/src/AlertManager.h +30 -0
- data/examples/wondrous_forest/src/EventQueue.c +73 -0
- data/examples/wondrous_forest/src/EventQueue.h +22 -0
- data/examples/wondrous_forest/src/ForestMonitor.c +88 -0
- data/examples/wondrous_forest/src/ForestMonitor.h +18 -0
- data/examples/wondrous_forest/src/HumiditySensor.c +57 -0
- data/examples/wondrous_forest/src/HumiditySensor.h +17 -0
- data/examples/wondrous_forest/src/LightSensor.c +51 -0
- data/examples/wondrous_forest/src/LightSensor.h +18 -0
- data/examples/wondrous_forest/src/SensorHal.c +62 -0
- data/examples/wondrous_forest/src/SensorHal.h +19 -0
- data/examples/wondrous_forest/src/SoilMoisture.c +61 -0
- data/examples/wondrous_forest/src/SoilMoisture.h +19 -0
- data/examples/wondrous_forest/src/TemperatureSensor.c +67 -0
- data/examples/wondrous_forest/src/TemperatureSensor.h +18 -0
- data/examples/wondrous_forest/src/Types.h +84 -0
- data/examples/wondrous_forest/src/UartDriver.c +55 -0
- data/examples/wondrous_forest/src/UartDriver.h +18 -0
- data/examples/wondrous_forest/test/TestAlertManager.c +105 -0
- data/examples/wondrous_forest/test/TestEventQueue.c +117 -0
- data/examples/wondrous_forest/test/TestForestMonitor.c +118 -0
- data/examples/wondrous_forest/test/TestHumiditySensor.c +85 -0
- data/examples/wondrous_forest/test/TestLightSensor.c +79 -0
- data/examples/wondrous_forest/test/TestSensorHal.c +58 -0
- data/examples/wondrous_forest/test/TestSoilMoisture.c +96 -0
- data/examples/wondrous_forest/test/TestTemperatureSensor.c +100 -0
- data/examples/wondrous_forest/test/TestUartDriver.c +55 -0
- data/lib/ceedling/application.rb +1 -1
- data/lib/ceedling/array_patches.rb +28 -0
- data/lib/ceedling/batchinator.rb +76 -0
- data/lib/ceedling/c_extractor/c_extractor.rb +340 -0
- data/lib/ceedling/c_extractor/c_extractor_code_text.rb +283 -0
- data/lib/ceedling/c_extractor/c_extractor_constants.rb +38 -0
- data/lib/ceedling/c_extractor/c_extractor_declarations.rb +415 -0
- data/lib/ceedling/c_extractor/c_extractor_definitions.rb +157 -0
- data/lib/ceedling/c_extractor/c_extractor_functions.rb +402 -0
- data/lib/ceedling/c_extractor/c_extractor_preprocessing.rb +262 -0
- data/lib/ceedling/c_extractor/c_extractor_types.rb +122 -0
- data/lib/ceedling/cacheinator.rb +1 -1
- data/lib/ceedling/cacheinator_helper.rb +23 -4
- data/lib/ceedling/ceedling.h +40 -0
- data/lib/ceedling/{config_matchinator.rb → config/config_matchinator.rb} +67 -5
- data/lib/ceedling/{config_walkinator.rb → config/config_walkinator.rb} +1 -1
- data/lib/ceedling/{configurator.rb → config/configurator.rb} +269 -107
- data/lib/ceedling/{configurator_builder.rb → config/configurator_builder.rb} +25 -6
- data/lib/ceedling/{configurator_plugins.rb → config/configurator_plugins.rb} +2 -4
- data/lib/ceedling/{configurator_setup.rb → config/configurator_setup.rb} +39 -71
- data/lib/ceedling/{configurator_validator.rb → config/configurator_validator.rb} +1 -1
- data/lib/ceedling/constants.rb +59 -18
- data/lib/ceedling/defaults.rb +31 -44
- data/lib/ceedling/defineinator.rb +2 -2
- data/lib/ceedling/dependinator.rb +1 -1
- data/lib/ceedling/encodinator.rb +1 -1
- data/lib/ceedling/erb_wrapper.rb +1 -1
- data/lib/ceedling/exceptions.rb +23 -3
- data/lib/ceedling/file_finder.rb +39 -10
- data/lib/ceedling/file_finder_helper.rb +2 -2
- data/lib/ceedling/file_path_collection_utils.rb +37 -23
- data/lib/ceedling/file_path_utils.rb +183 -26
- data/lib/ceedling/file_system_wrapper.rb +1 -1
- data/lib/ceedling/file_wrapper.rb +14 -1
- data/lib/ceedling/flaginator.rb +1 -1
- data/lib/ceedling/{generator.rb → generators/generator.rb} +86 -23
- data/lib/ceedling/{generator_helper.rb → generators/generator_helper.rb} +17 -11
- data/lib/ceedling/{generator_mocks.rb → generators/generator_mocks.rb} +1 -1
- data/lib/ceedling/generators/generator_partials.rb +177 -0
- data/lib/ceedling/{generator_test_results.rb → generators/generator_test_results.rb} +43 -17
- data/lib/ceedling/generators/generator_test_results_backtrace.rb +290 -0
- data/lib/ceedling/{generator_test_results_sanity_checker.rb → generators/generator_test_results_sanity_checker.rb} +1 -1
- data/lib/ceedling/generators/generator_test_runner.rb +97 -0
- data/lib/ceedling/includes/include_factory.rb +43 -0
- data/lib/ceedling/{include_pathinator.rb → includes/include_pathinator.rb} +1 -1
- data/lib/ceedling/includes/includes.rb +341 -0
- data/lib/ceedling/loginator.rb +115 -12
- data/lib/ceedling/makefile.rb +1 -1
- data/lib/ceedling/objects.yml +145 -43
- data/lib/ceedling/parsing_parcels.rb +35 -9
- data/lib/ceedling/partials/partializer.rb +444 -0
- data/lib/ceedling/partials/partializer_config.rb +217 -0
- data/lib/ceedling/partials/partializer_helper.rb +344 -0
- data/lib/ceedling/partials/partializer_runtime.rb +29 -0
- data/lib/ceedling/partials/partializer_utils.rb +222 -0
- data/lib/ceedling/partials/partials.rb +82 -0
- data/lib/ceedling/{plugin.rb → plugins/plugin.rb} +1 -1
- data/lib/ceedling/{plugin_manager.rb → plugins/plugin_manager.rb} +47 -21
- data/lib/ceedling/{plugin_manager_helper.rb → plugins/plugin_manager_helper.rb} +1 -1
- data/lib/ceedling/{plugin_reportinator.rb → plugins/plugin_reportinator.rb} +10 -18
- data/lib/ceedling/{plugin_reportinator_helper.rb → plugins/plugin_reportinator_helper.rb} +22 -26
- data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +88 -0
- data/lib/ceedling/preprocess/README.md +184 -0
- data/lib/ceedling/preprocess/c_comment_scanner.rb +194 -0
- data/lib/ceedling/preprocess/c_preprocessor_conditionals.rb +170 -0
- data/lib/ceedling/preprocess/preprocessinator.rb +605 -0
- data/lib/ceedling/preprocess/preprocessinator_bare_includes_extractor.rb +69 -0
- data/lib/ceedling/preprocess/preprocessinator_code_finder.rb +150 -0
- data/lib/ceedling/preprocess/preprocessinator_comment_stripper.rb +80 -0
- data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +378 -0
- data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +224 -0
- data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +215 -0
- data/lib/ceedling/preprocess/preprocessinator_reconstructor.rb +398 -0
- data/lib/ceedling/rake_app/rake_invocation_tracker.rb +39 -0
- data/lib/ceedling/rake_app/rake_task_registry.rb +210 -0
- data/lib/ceedling/{rake_utils.rb → rake_app/rake_utils.rb} +1 -1
- data/lib/ceedling/{rake_wrapper.rb → rake_app/rake_wrapper.rb} +1 -1
- data/lib/ceedling/rake_app/rakefile_component_resolver.rb +77 -0
- data/lib/ceedling/rakefile.rb +16 -8
- data/lib/ceedling/release_invoker.rb +48 -4
- data/lib/ceedling/reportinator.rb +39 -18
- data/lib/ceedling/ruby_expandinator.rb +61 -0
- data/lib/ceedling/rules_release.rake +4 -2
- data/lib/ceedling/rules_tests.rake +1 -23
- data/lib/ceedling/setupinator.rb +23 -11
- data/lib/ceedling/stream_wrapper.rb +1 -1
- data/lib/ceedling/system_utils.rb +1 -1
- data/lib/ceedling/system_wrapper.rb +18 -21
- data/lib/ceedling/tasks_base.rake +3 -3
- data/lib/ceedling/tasks_filesystem.rake +22 -12
- data/lib/ceedling/tasks_release.rake +11 -18
- data/lib/ceedling/tasks_tests.rake +1 -1
- data/lib/ceedling/test_context_extractor.rb +178 -109
- data/lib/ceedling/test_invoker/test_build_executor.rb +661 -0
- data/lib/ceedling/test_invoker/test_build_planner.rb +277 -0
- data/lib/ceedling/test_invoker/test_build_setup.rb +441 -0
- data/lib/ceedling/test_invoker/test_invoker.rb +251 -0
- data/lib/ceedling/test_invoker/test_invoker_types.rb +56 -0
- data/lib/ceedling/test_runner_manager.rb +1 -1
- data/lib/ceedling/tool_executor.rb +29 -19
- data/lib/ceedling/tool_executor_helper.rb +7 -15
- data/lib/ceedling/tool_validator.rb +24 -8
- data/lib/ceedling/verbosinator.rb +1 -1
- data/lib/ceedling/yaml_wrapper.rb +72 -12
- data/lib/ceedling.rb +1 -1
- data/lib/snapshot.rb +43 -0
- data/lib/version.rb +2 -2
- data/license.txt +1 -1
- data/mkdocs.local.yml +45 -0
- data/mkdocs.yml +202 -0
- data/plugins/beep/config/defaults.yml +1 -1
- data/plugins/beep/config/defaults_beep.rb +1 -1
- data/plugins/beep/lib/beep.rb +7 -5
- data/plugins/bullseye/assets/template.erb +1 -1
- data/plugins/bullseye/bullseye.rake +1 -1
- data/plugins/bullseye/config/defaults.yml +1 -1
- data/plugins/bullseye/lib/bullseye.rb +9 -9
- data/plugins/command_hooks/lib/command_hooks.rb +43 -38
- data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +2 -2
- data/plugins/cppcheck/AUTHORS.md +8 -0
- data/plugins/cppcheck/config/defaults.yml +44 -0
- data/plugins/cppcheck/config/defaults_cppcheck.rb +32 -0
- data/plugins/cppcheck/cppcheck.rake +54 -0
- data/plugins/cppcheck/lib/cppcheck.rb +247 -0
- data/plugins/cppcheck/lib/cppcheck_constants.rb +20 -0
- data/plugins/cppcheck/lib/cppcheck_reports.rb +160 -0
- data/plugins/dependencies/Rakefile +1 -1
- data/plugins/dependencies/config/defaults.yml +1 -1
- data/plugins/dependencies/dependencies.rake +3 -3
- data/plugins/dependencies/example/boss/project.yml +1 -3
- data/plugins/dependencies/example/boss/src/boss.c +1 -1
- data/plugins/dependencies/example/boss/src/boss.h +1 -1
- data/plugins/dependencies/example/boss/src/main.c +1 -1
- data/plugins/dependencies/example/boss/test/test_boss.c +1 -1
- data/plugins/dependencies/example/supervisor/project.yml +1 -3
- data/plugins/dependencies/example/supervisor/src/supervisor.c +1 -1
- data/plugins/dependencies/example/supervisor/src/supervisor.h +1 -1
- data/plugins/dependencies/example/supervisor/test/test_supervisor.c +1 -1
- data/plugins/dependencies/lib/dependencies.rb +14 -2
- data/plugins/fff/Rakefile +1 -1
- data/plugins/fff/config/fff.yml +1 -1
- data/plugins/fff/examples/fff_example/project.yml +2 -2
- data/plugins/fff/examples/fff_example/src/bar.c +1 -1
- data/plugins/fff/examples/fff_example/src/bar.h +1 -1
- data/plugins/fff/examples/fff_example/src/custom_types.h +1 -1
- data/plugins/fff/examples/fff_example/src/display.c +1 -1
- data/plugins/fff/examples/fff_example/src/display.h +1 -1
- data/plugins/fff/examples/fff_example/src/event_processor.c +1 -1
- data/plugins/fff/examples/fff_example/src/event_processor.h +1 -1
- data/plugins/fff/examples/fff_example/src/foo.c +1 -1
- data/plugins/fff/examples/fff_example/src/foo.h +1 -1
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +1 -1
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +1 -1
- data/plugins/fff/examples/fff_example/test/test_event_processor.c +1 -1
- data/plugins/fff/examples/fff_example/test/test_foo.c +1 -1
- data/plugins/fff/lib/fff.rb +10 -5
- data/plugins/fff/lib/fff_mock_generator.rb +1 -1
- data/plugins/fff/spec/fff_mock_header_generator_spec.rb +1 -1
- data/plugins/fff/spec/fff_mock_source_generator_spec.rb +1 -1
- data/plugins/fff/spec/header_generator.rb +1 -1
- data/plugins/fff/spec/spec_helper.rb +1 -1
- data/plugins/fff/src/fff_unity_helper.h +1 -1
- data/plugins/gcov/config/defaults.yml +4 -1
- data/plugins/gcov/config/defaults_gcov.rb +40 -13
- data/plugins/gcov/gcov.rake +31 -1
- data/plugins/gcov/lib/console_reportinator.rb +180 -0
- data/plugins/gcov/lib/gcov.rb +189 -103
- data/plugins/gcov/lib/gcov_constants.rb +16 -4
- data/plugins/gcov/lib/gcov_reportinator.rb +63 -0
- data/{spec/configurator_helper_spec.rb → plugins/gcov/lib/gcov_types.rb} +2 -6
- data/plugins/gcov/lib/gcovr_reportinator.rb +237 -136
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +242 -116
- data/plugins/module_generator/Rakefile +1 -1
- data/plugins/module_generator/assets/stubby1.h +1 -1
- data/plugins/module_generator/assets/stubby2.h +1 -1
- data/plugins/module_generator/config/module_generator.yml +1 -1
- data/plugins/module_generator/example/project.yml +1 -3
- data/plugins/module_generator/lib/module_generator.rb +2 -2
- data/plugins/module_generator/module_generator.rake +1 -1
- data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +14 -20
- data/plugins/report_tests_gtestlike_stdout/assets/template.erb +3 -3
- data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +1 -1
- data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +4 -61
- data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +1 -1
- data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +7 -60
- data/plugins/report_tests_log_factory/config/defaults.yml +1 -1
- data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +5 -5
- data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +302 -133
- data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +9 -7
- data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +6 -5
- data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +72 -36
- data/plugins/report_tests_log_factory/lib/tests_reporter.rb +8 -8
- data/plugins/report_tests_pretty_stdout/assets/template.erb +1 -2
- data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +1 -1
- data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +4 -65
- data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +4 -4
- data/plugins/report_tests_teamcity_stdout/config/defaults.yml +1 -1
- data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +1 -1
- data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +2 -2
- data/plugins/valgrind/config/defaults.yml +19 -0
- data/plugins/valgrind/config/defaults_valgrind.rb +20 -0
- data/plugins/valgrind/lib/valgrind.rb +132 -0
- data/plugins/valgrind/lib/valgrind_constants.rb +13 -0
- data/plugins/valgrind/valgrind.rake +87 -0
- data/site-local/404.html +4002 -0
- data/site-local/assets/images/ceedling-logo-circle.png +0 -0
- data/site-local/assets/images/ceedling.svg +90 -0
- data/site-local/assets/images/favicon.png +0 -0
- data/site-local/assets/javascripts/bundle.79ae519e.min.js +16 -0
- data/site-local/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
- data/site-local/assets/javascripts/lunr/tinyseg.js +206 -0
- data/site-local/assets/javascripts/lunr/wordcut.js +6708 -0
- data/site-local/assets/javascripts/workers/search.2c215733.min.js +42 -0
- data/site-local/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
- data/site-local/assets/stylesheets/admonitions.css +152 -0
- data/site-local/assets/stylesheets/fixes-local.css +15 -0
- data/site-local/assets/stylesheets/main.484c7ddc.min.css +1 -0
- data/site-local/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
- data/site-local/assets/stylesheets/styling.css +102 -0
- data/site-local/configuration/environment-vars.html +4102 -0
- data/site-local/configuration/global-collections.html +4248 -0
- data/site-local/configuration/index.html +4169 -0
- data/site-local/configuration/loading.html +4348 -0
- data/site-local/configuration/mixins.html +5060 -0
- data/site-local/configuration/parallel-builds.html +4347 -0
- data/site-local/configuration/project-file.html +4474 -0
- data/site-local/configuration/reference/cexception.html +4225 -0
- data/site-local/configuration/reference/cmock.html +4401 -0
- data/site-local/configuration/reference/defines.html +4734 -0
- data/site-local/configuration/reference/environment.html +4242 -0
- data/site-local/configuration/reference/extension.html +4387 -0
- data/site-local/configuration/reference/files.html +4541 -0
- data/site-local/configuration/reference/flags.html +4681 -0
- data/site-local/configuration/reference/index.html +4290 -0
- data/site-local/configuration/reference/libraries.html +4365 -0
- data/site-local/configuration/reference/mixins.html +4195 -0
- data/site-local/configuration/reference/paths.html +4714 -0
- data/site-local/configuration/reference/plugins.html +4262 -0
- data/site-local/configuration/reference/project.html +4777 -0
- data/site-local/configuration/reference/release-build.html +4287 -0
- data/site-local/configuration/reference/test-build.html +4264 -0
- data/site-local/configuration/reference/test-runner.html +4289 -0
- data/site-local/configuration/reference/tools.html +5120 -0
- data/site-local/configuration/reference/unity.html +4255 -0
- data/site-local/configuration/which-ceedling.html +4269 -0
- data/site-local/development/index.html +4148 -0
- data/site-local/development/plugins/configuration.html +4446 -0
- data/site-local/development/plugins/index.html +4212 -0
- data/site-local/development/plugins/plugin-subclass.html +5068 -0
- data/site-local/development/plugins/rake-tasks.html +4236 -0
- data/site-local/development/workflow.html +4664 -0
- data/site-local/getting-started/command-line.html +5498 -0
- data/site-local/getting-started/example-projects/cipher-quest.html +4272 -0
- data/site-local/getting-started/example-projects/index.html +4173 -0
- data/site-local/getting-started/example-projects/temp-sensor.html +4322 -0
- data/site-local/getting-started/example-projects/wondrous-forest.html +4290 -0
- data/site-local/getting-started/index.html +4116 -0
- data/site-local/getting-started/installation.html +4452 -0
- data/site-local/getting-started/quick-start.html +4262 -0
- data/site-local/help.html +4081 -0
- data/site-local/index.html +4364 -0
- data/site-local/overview/build-system.html +4288 -0
- data/site-local/overview/index.html +4103 -0
- data/site-local/overview/test-environments.html +4116 -0
- data/site-local/overview/tools-and-frameworks.html +4433 -0
- data/site-local/plugins/beep.html +4413 -0
- data/site-local/plugins/bullseye.html +4249 -0
- data/site-local/plugins/command-hooks.html +5023 -0
- data/site-local/plugins/compile-commands-json-db.html +4243 -0
- data/site-local/plugins/cppcheck.html +4851 -0
- data/site-local/plugins/dependencies.html +4828 -0
- data/site-local/plugins/fff.html +4661 -0
- data/site-local/plugins/gcov/examples.html +4293 -0
- data/site-local/plugins/gcov/gcovr.html +4512 -0
- data/site-local/plugins/gcov/index.html +4150 -0
- data/site-local/plugins/gcov/overview.html +4410 -0
- data/site-local/plugins/gcov/reportgenerator.html +4164 -0
- data/site-local/plugins/gcov/reporting.html +4336 -0
- data/site-local/plugins/gcov/setup.html +4597 -0
- data/site-local/plugins/gcov/tool-versions.html +4269 -0
- data/site-local/plugins/gcov/troubleshooting.html +4313 -0
- data/site-local/plugins/index.html +4348 -0
- data/site-local/plugins/module-generator.html +4588 -0
- data/site-local/plugins/report-build-warnings-log.html +4229 -0
- data/site-local/plugins/report-tests-gtestlike-stdout.html +4357 -0
- data/site-local/plugins/report-tests-ide-stdout.html +4270 -0
- data/site-local/plugins/report-tests-log-factory.html +4792 -0
- data/site-local/plugins/report-tests-pretty-stdout.html +4265 -0
- data/site-local/plugins/report-tests-raw-output-log.html +4292 -0
- data/site-local/plugins/report-tests-teamcity-stdout.html +4291 -0
- data/site-local/plugins/sample_html_report.png +0 -0
- data/site-local/plugins/valgrind.html +4605 -0
- data/site-local/project/release-history.html +4225 -0
- data/site-local/project/upgrade.html +4314 -0
- data/site-local/reference/build-directives.html +4210 -0
- data/site-local/reference/command-line.html +4989 -0
- data/site-local/reference/environment-vars.html +4278 -0
- data/site-local/reference/gcov-plugin.html +5886 -0
- data/site-local/reference/global-collections.html +4385 -0
- data/site-local/reference/index.html +4126 -0
- data/site-local/reference/partials-macros.html +4326 -0
- data/site-local/reference/project-configuration.html +4253 -0
- data/site-local/sitemap.xml +3 -0
- data/site-local/sitemap.xml.gz +0 -0
- data/site-local/snapshot/assets/project.yml +404 -0
- data/site-local/snapshot/examples/cipher_quest/index.html +4292 -0
- data/site-local/snapshot/examples/temp_sensor/index.html +4416 -0
- data/site-local/snapshot/examples/wondrous_forest/index.html +4200 -0
- data/site-local/snapshot/plugins/gcov/config/defaults.yml +33 -0
- data/site-local/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
- data/site-local/testing-guide/build-directives.html +4481 -0
- data/site-local/testing-guide/conventions.html +5233 -0
- data/site-local/testing-guide/frameworks.html +4488 -0
- data/site-local/testing-guide/index.html +4174 -0
- data/site-local/testing-guide/partials/configuration.html +4347 -0
- data/site-local/testing-guide/partials/conventions.html +4327 -0
- data/site-local/testing-guide/partials/directives.html +4680 -0
- data/site-local/testing-guide/partials/example.html +4448 -0
- data/site-local/testing-guide/partials/index.html +4167 -0
- data/site-local/testing-guide/partials/overview.html +4322 -0
- data/site-local/testing-guide/partials/variables.html +4548 -0
- data/site-local/testing-guide/test-cases.html +4436 -0
- data/site-local/testing-guide/test-sample.html +4265 -0
- data/site-local/testing-guide/test-suite-anatomy.html +4249 -0
- data/spec/manual/stress_test.rb +1 -1
- data/spec/support/other_target.yml +1 -1
- data/spec/support/spec_helper.rb +20 -0
- data/spec/support/system/gem_dir_layout.rb +20 -0
- data/spec/support/system/spec_system_helper.rb +206 -0
- data/spec/support/system/system_context.rb +310 -0
- data/spec/support/system/system_test_output.rb +28 -0
- data/spec/support/target.yml +1 -1
- data/spec/system/cppcheck_deployment_spec.rb +49 -0
- data/spec/system/deployment_as_gem_spec.rb +86 -48
- data/spec/system/deployment_as_vendor_spec.rb +141 -79
- data/spec/system/encoding_stress_spec.rb +153 -0
- data/spec/system/example_cipher_quest_spec.rb +186 -0
- data/spec/system/example_temp_sensor_spec.rb +41 -35
- data/spec/system/example_wondrous_forest_spec.rb +117 -0
- data/spec/{gcov → system}/gcov_deployment_spec.rb +55 -26
- data/spec/system/mixin_ordering_spec.rb +548 -0
- data/spec/system/preprocessing_encoding_spec.rb +114 -0
- data/spec/system/preprocessing_fallback_conditionals_spec.rb +166 -0
- data/spec/system/preprocessing_locale_spec.rb +153 -0
- data/spec/system/preprocessing_parameterized_tests_spec.rb +183 -0
- data/spec/system/ruby_replacement_spec.rb +141 -0
- data/spec/{spec_system_helper.rb → system/support/common_test_cases.rb} +301 -350
- data/spec/system/support/cppcheck_common_test_cases.rb +98 -0
- data/spec/system/support/cppcheck_helpers.rb +27 -0
- data/spec/{gcov/gcov_test_cases_spec.rb → system/support/gcov_common_test_cases.rb} +224 -111
- data/spec/system/support/gcov_helpers.rb +81 -0
- data/spec/system/support/valgrind_common_test_cases.rb +120 -0
- data/spec/system/support/valgrind_helpers.rb +21 -0
- data/spec/system/upgrade_as_vendor_spec.rb +74 -39
- data/spec/system/valgrind_deployment_spec.rb +53 -0
- data/spec/units/bin/cli_helper_spec.rb +69 -0
- data/spec/units/bin/merginator_spec.rb +279 -0
- data/spec/units/bin/mixin_standardizer_spec.rb +231 -0
- data/spec/units/bin/mixinator_spec.rb +583 -0
- data/spec/units/bin/projectinator_mixin_spec.rb +362 -0
- data/spec/units/bin/recursive_merger_spec.rb +241 -0
- data/spec/units/c_extractor/c_extractor_code_text_spec.rb +2091 -0
- data/spec/units/c_extractor/c_extractor_declarations_spec.rb +746 -0
- data/spec/units/c_extractor/c_extractor_definitions_spec.rb +417 -0
- data/spec/units/c_extractor/c_extractor_functions_spec.rb +2742 -0
- data/spec/units/c_extractor/c_extractor_integration_spec.rb +935 -0
- data/spec/units/c_extractor/c_extractor_preprocessing_spec.rb +497 -0
- data/spec/units/c_extractor/c_extractor_spec.rb +356 -0
- data/spec/units/config_matchinator_spec.rb +401 -0
- data/spec/{config_walkinator_spec.rb → units/config_walkinator_spec.rb} +2 -2
- data/spec/{configurator_builder_spec.rb → units/configurator_builder_spec.rb} +1 -1
- data/spec/units/configurator_spec.rb +187 -0
- data/spec/{file_finder_helper_spec.rb → units/file_finder_helper_spec.rb} +1 -1
- data/spec/units/file_path_collection_utils_spec.rb +222 -0
- data/spec/units/file_path_utils_spec.rb +274 -0
- data/spec/units/generators/generator_helper_spec.rb +112 -0
- data/spec/units/generators/generator_partials_spec.rb +795 -0
- data/spec/units/generators/generator_test_results_backtrace_spec.rb +492 -0
- data/spec/{generator_test_results_sanity_checker_spec.rb → units/generators/generator_test_results_sanity_checker_spec.rb} +5 -4
- data/spec/units/generators/generator_test_results_spec.rb +412 -0
- data/spec/units/generators/generator_test_runner_spec.rb +120 -0
- data/spec/units/includes/include_spec.rb +716 -0
- data/spec/units/includes/includes_spec.rb +1069 -0
- data/spec/units/parsing_parcels_spec.rb +139 -0
- data/spec/units/partials/partializer_config_spec.rb +388 -0
- data/spec/units/partials/partializer_helper_spec.rb +992 -0
- data/spec/units/partials/partializer_spec.rb +1629 -0
- data/spec/units/partials/partializer_utils_spec.rb +587 -0
- data/spec/units/plugin_manager_spec.rb +48 -0
- data/spec/units/plugins/cppcheck_spec.rb +557 -0
- data/spec/units/preprocess/c_comment_scanner_spec.rb +409 -0
- data/spec/units/preprocess/c_preprocessor_conditionals_spec.rb +396 -0
- data/spec/units/preprocess/preprocessinator_code_finder_spec.rb +361 -0
- data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +580 -0
- data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +263 -0
- data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +337 -0
- data/spec/{preprocessinator_extractor_spec.rb → units/preprocess/preprocessinator_reconstructor_spec.rb} +297 -5
- data/spec/units/reportinator_spec.rb +251 -0
- data/spec/units/ruby_expandinator_spec.rb +91 -0
- data/spec/{system_utils_spec.rb → units/system_utils_spec.rb} +4 -4
- data/spec/units/test_context_extractor_spec.rb +437 -0
- data/spec/{tool_executor_helper_spec.rb → units/tool_executor_helper_spec.rb} +19 -33
- data/spec/units/tool_executor_spec.rb +83 -0
- data/spec/units/tool_validator_spec.rb +60 -0
- data/spec/units/yaml_wrapper_spec.rb +108 -0
- data/vendor/cmock/Gemfile +4 -1
- data/vendor/cmock/LICENSE.txt +1 -1
- data/vendor/cmock/config/production_environment.rb +1 -1
- data/vendor/cmock/config/test_environment.rb +1 -1
- data/vendor/cmock/docs/CMockChangeLog.md +47 -0
- data/vendor/cmock/docs/CMockKnownIssues.md +0 -1
- data/vendor/cmock/docs/CMock_ArgumentValidation.md +180 -25
- data/vendor/cmock/docs/CMock_Summary.md +158 -16
- data/vendor/cmock/examples/make_example/Makefile +1 -1
- data/vendor/cmock/examples/make_example/src/foo.c +1 -1
- data/vendor/cmock/examples/make_example/src/foo.h +1 -1
- data/vendor/cmock/examples/make_example/src/main.c +1 -1
- data/vendor/cmock/examples/make_example/test/test_foo.c +1 -1
- data/vendor/cmock/examples/make_example/test/test_main.c +2 -2
- data/vendor/cmock/examples/temp_sensor/project.yml +75 -0
- data/vendor/cmock/examples/temp_sensor/rakefile.rb +3 -3
- data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +163 -119
- data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +3 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Executor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Executor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Main.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Main.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Model.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Model.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +10 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Types.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestMain.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +2 -2
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -5
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +3 -2
- data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +1 -1
- data/vendor/cmock/lib/cmock.rb +1 -1
- data/vendor/cmock/lib/cmock_config.rb +8 -2
- data/vendor/cmock/lib/cmock_file_writer.rb +38 -1
- data/vendor/cmock/lib/cmock_generator.rb +44 -27
- data/vendor/cmock/lib/cmock_generator_plugin_array.rb +68 -15
- data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +13 -3
- data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +12 -3
- data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +33 -15
- data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +13 -8
- data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +15 -10
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +4 -2
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +15 -10
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +53 -3
- data/vendor/cmock/lib/cmock_generator_utils.rb +159 -43
- data/vendor/cmock/lib/cmock_header_parser.rb +217 -26
- data/vendor/cmock/lib/cmock_plugin_manager.rb +1 -1
- data/vendor/cmock/lib/cmock_unityhelper_parser.rb +7 -2
- data/vendor/cmock/lib/cmock_version.rb +1 -1
- data/vendor/cmock/scripts/create_makefile.rb +7 -5
- data/vendor/cmock/src/cmock.c +132 -129
- data/vendor/cmock/src/cmock.h +7 -13
- data/vendor/cmock/src/cmock_internals.h +73 -39
- data/vendor/cmock/test/c/TestCMockC.c +1 -7
- data/vendor/cmock/test/c/TestCMockC.yml +1 -1
- data/vendor/cmock/test/c/TestCMockCDynamic.c +1 -7
- data/vendor/cmock/test/c/TestCMockCDynamic.yml +1 -1
- data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +1 -7
- data/vendor/cmock/test/c/TestCMockC_Runner.c +1 -7
- data/vendor/cmock/{vendor/unity/test/targets/gcc_manual_math.yml → test/gcc_64_valgrind.yml} +8 -17
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +1 -1
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +1 -1
- data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +1 -1
- data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +1 -1
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +1 -1
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +1 -1
- data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +1 -1
- data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +1 -1
- data/vendor/cmock/test/project.yml +32 -0
- data/vendor/cmock/test/rakefile +74 -58
- data/vendor/cmock/test/rakefile_helper.rb +359 -152
- data/vendor/cmock/test/system/systest_generator.rb +2 -2
- data/vendor/cmock/test/system/test_compilation/callingconv.h +1 -7
- data/vendor/cmock/test/system/test_compilation/config.yml +10 -1
- data/vendor/cmock/test/system/test_compilation/const.h +7 -13
- data/vendor/cmock/test/system/test_compilation/inline.h +1 -2
- data/vendor/cmock/test/system/test_compilation/osek.h +1 -7
- data/vendor/cmock/test/system/test_compilation/parsing.h +37 -7
- data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +5 -13
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +5 -5
- data/vendor/cmock/test/system/test_interactions/array_handling.yml +758 -0
- data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +2 -2
- data/vendor/cmock/test/system/test_interactions/char_string_array_plugin.yml +113 -0
- data/vendor/cmock/test/system/test_interactions/const_custom_type.yml +68 -0
- data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +4 -3
- data/vendor/cmock/test/system/test_interactions/const_ptr_return_and_arg.yml +89 -0
- data/vendor/cmock/test/system/test_interactions/debug_output.yml +235 -0
- data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +16 -16
- data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +3 -3
- data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +3 -3
- data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +2 -2
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -4
- data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -8
- data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/parsing_challenges_with_func_pointers.yml +88 -0
- data/vendor/cmock/test/system/test_interactions/pointer_handling.yml +465 -0
- data/vendor/cmock/test/system/test_interactions/{return_thru_ptr_and_expect_any_args.yml → return_thru_ptr_expect_any_args.yml} +9 -13
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore.yml +142 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +13 -9
- data/vendor/cmock/test/system/test_interactions/skeleton.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +14 -2
- data/vendor/cmock/test/system/test_interactions/teardown_mock_calls.yml +57 -0
- data/vendor/cmock/test/system/test_interactions/teardown_mock_expectations.yml +59 -0
- data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +9 -9
- data/vendor/cmock/test/system/test_interactions/void_pointer_no_array_plugin.yml +133 -0
- data/vendor/cmock/test/system/test_interactions/void_pointer_treat_as_void_array_plugin.yml +102 -0
- data/vendor/cmock/test/system/test_interactions/volatile_pointer_handling.yml +291 -0
- data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +9 -1
- data/vendor/cmock/test/targets/iar_arm.yml +14 -0
- data/vendor/cmock/test/targets/tiny.yml +36 -0
- data/vendor/cmock/test/test_helper.rb +1 -2
- data/vendor/cmock/test/unit/cmock_config_test.rb +1 -2
- data/vendor/cmock/test/unit/cmock_config_test.yml +1 -1
- data/vendor/cmock/test/unit/cmock_file_writer_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +6 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_array_test.rb +90 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_any_args_test.rb +38 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_test.rb +55 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_stateless_test.rb +42 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_test.rb +42 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +63 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +24 -6
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +118 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +2 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +4 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +2 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +2 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +2 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +135 -3
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +177 -9
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +705 -109
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +4 -2
- data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +1 -1
- data/vendor/cmock/vendor/unity/CMakeLists.txt +10 -0
- data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
- data/vendor/cmock/vendor/unity/README.md +2 -2
- data/vendor/cmock/vendor/unity/auto/__init__.py +1 -1
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +1 -1
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -1
- data/vendor/cmock/vendor/unity/auto/extract_version.py +1 -1
- data/vendor/cmock/vendor/unity/auto/generate_config.yml +1 -1
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +6 -6
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +95 -14
- data/vendor/cmock/vendor/unity/auto/parse_output.rb +10 -7
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.py +4 -3
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +4 -2
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +1 -1
- data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +1 -1
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +2 -2
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +5 -2
- data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +1 -1
- data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +66 -1
- data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +41 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
- data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/project.yml +24 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +2 -3
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_5/makefile +63 -0
- data/vendor/cmock/vendor/unity/examples/example_5/readme.txt +38 -0
- data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
- data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
- data/vendor/cmock/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
- data/vendor/cmock/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
- data/vendor/cmock/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
- data/vendor/cmock/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
- data/vendor/cmock/vendor/unity/examples/unity_config.h +5 -3
- data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
- data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
- data/vendor/cmock/vendor/unity/library.json +0 -7
- data/vendor/cmock/vendor/unity/meson.build +16 -8
- data/vendor/cmock/vendor/unity/meson_options.txt +5 -3
- data/vendor/cmock/vendor/unity/src/unity.c +480 -141
- data/vendor/cmock/vendor/unity/src/unity.h +16 -4
- data/vendor/cmock/vendor/unity/src/unity_internals.h +291 -148
- data/vendor/cmock/vendor/unity/test/Makefile +4 -6
- data/vendor/cmock/vendor/unity/test/rakefile +42 -21
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +154 -15
- data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
- data/vendor/cmock/vendor/unity/test/targets/clang.yml +157 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc.yml +139 -0
- data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +9 -16
- data/vendor/cmock/vendor/unity/test/targets/iar_arm.yml +88 -0
- data/vendor/cmock/vendor/unity/test/targets/no_stdlib.yml +23 -0
- data/vendor/cmock/vendor/unity/test/testdata/CException.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/Defs.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/cmock.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +23 -7
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
- data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +33 -38
- data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +4 -4
- data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +15 -6
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +35 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +69 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +65 -1
- data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +1 -1
- data/vendor/unity/CMakeLists.txt +10 -0
- data/vendor/unity/LICENSE.txt +1 -1
- data/vendor/unity/README.md +2 -2
- data/vendor/unity/auto/__init__.py +1 -1
- data/vendor/unity/auto/colour_prompt.rb +1 -1
- data/vendor/unity/auto/colour_reporter.rb +7 -1
- data/vendor/unity/auto/extract_version.py +1 -1
- data/vendor/unity/auto/generate_config.yml +1 -1
- data/vendor/unity/auto/generate_module.rb +6 -6
- data/vendor/unity/auto/generate_test_runner.rb +95 -14
- data/vendor/unity/auto/parse_output.rb +10 -7
- data/vendor/unity/auto/stylize_as_junit.py +4 -3
- data/vendor/unity/auto/stylize_as_junit.rb +4 -2
- data/vendor/unity/auto/test_file_filter.rb +1 -1
- data/vendor/unity/auto/type_sanitizer.rb +1 -1
- data/vendor/unity/auto/unity_test_summary.py +2 -2
- data/vendor/unity/auto/unity_test_summary.rb +5 -2
- data/vendor/unity/auto/yaml_helper.rb +1 -1
- data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
- data/vendor/unity/docs/UnityAssertionsReference.md +66 -1
- data/vendor/unity/docs/UnityChangeLog.md +41 -0
- data/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
- data/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
- data/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
- data/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
- data/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
- data/vendor/unity/examples/example_3/project.yml +24 -0
- data/vendor/unity/examples/example_3/rakefile.rb +2 -3
- data/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
- data/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
- data/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_5/makefile +63 -0
- data/vendor/unity/examples/example_5/readme.txt +38 -0
- data/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
- data/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
- data/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
- data/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
- data/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
- data/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
- data/vendor/unity/examples/unity_config.h +5 -3
- data/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
- data/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
- data/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
- data/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
- data/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
- data/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
- data/vendor/unity/extras/memory/src/unity_memory.c +1 -1
- data/vendor/unity/extras/memory/src/unity_memory.h +1 -1
- data/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
- data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
- data/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
- data/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
- data/vendor/unity/library.json +0 -7
- data/vendor/unity/meson.build +16 -8
- data/vendor/unity/meson_options.txt +5 -3
- data/vendor/unity/src/unity.c +480 -141
- data/vendor/unity/src/unity.h +16 -4
- data/vendor/unity/src/unity_internals.h +291 -148
- data/vendor/unity/test/Makefile +4 -6
- data/vendor/unity/test/rakefile +42 -21
- data/vendor/unity/test/rakefile_helper.rb +154 -15
- data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
- data/vendor/unity/test/targets/clang.yml +157 -0
- data/vendor/unity/test/targets/gcc.yml +139 -0
- data/vendor/unity/test/targets/hitech_picc18.yml +9 -16
- data/vendor/unity/test/targets/iar_arm.yml +88 -0
- data/vendor/unity/test/targets/no_stdlib.yml +23 -0
- data/vendor/unity/test/testdata/CException.h +1 -1
- data/vendor/unity/test/testdata/Defs.h +1 -1
- data/vendor/unity/test/testdata/cmock.h +1 -1
- data/vendor/unity/test/testdata/mockMock.h +1 -1
- data/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
- data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
- data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
- data/vendor/unity/test/tests/self_assessment_utils.h +23 -7
- data/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
- data/vendor/unity/test/tests/test_unity_arrays.c +1 -1
- data/vendor/unity/test/tests/test_unity_core.c +33 -38
- data/vendor/unity/test/tests/test_unity_doubles.c +4 -4
- data/vendor/unity/test/tests/test_unity_floats.c +15 -6
- data/vendor/unity/test/tests/test_unity_integers.c +35 -1
- data/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
- data/vendor/unity/test/tests/test_unity_memory.c +69 -1
- data/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
- data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
- data/vendor/unity/test/tests/test_unity_strings.c +65 -1
- data/vendor/unity/test/tests/types_for_test.h +1 -1
- metadata +702 -177
- data/docs/CeedlingPacket.md +0 -5651
- data/lib/ceedling/build_batchinator.rb +0 -113
- data/lib/ceedling/generator_test_results_backtrace.rb +0 -215
- data/lib/ceedling/generator_test_runner.rb +0 -84
- data/lib/ceedling/preprocessinator.rb +0 -239
- data/lib/ceedling/preprocessinator_extractor.rb +0 -257
- data/lib/ceedling/preprocessinator_file_handler.rb +0 -229
- data/lib/ceedling/preprocessinator_includes_handler.rb +0 -382
- data/lib/ceedling/task_invoker.rb +0 -70
- data/lib/ceedling/test_invoker.rb +0 -506
- data/lib/ceedling/test_invoker_helper.rb +0 -347
- data/plugins/gcov/README.md +0 -893
- data/plugins/gcov/lib/reportinator_helper.rb +0 -30
- data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
- data/spec/configurator_spec.rb +0 -18
- data/spec/generator_test_results_spec.rb +0 -131
- data/spec/parsing_parcels_spec.rb +0 -66
- data/spec/preprocessinator_includes_handler_spec.rb +0 -289
- data/spec/reportinator_spec.rb +0 -26
- data/spec/spec_helper.rb +0 -31
- data/spec/test_context_extractor_spec.rb +0 -328
- data/spec/uncategorized_specs_spec.rb +0 -15
- data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +0 -97
- data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +0 -143
- data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +0 -132
- data/vendor/cmock/scripts/create_mock.rb +0 -15
- data/vendor/cmock/scripts/create_runner.rb +0 -25
- data/vendor/cmock/scripts/test_summary.rb +0 -25
- data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +0 -453
- data/vendor/cmock/test/targets/clang_strict.yml +0 -97
- data/vendor/cmock/test/targets/gcc.yml +0 -65
- data/vendor/cmock/test/targets/gcc_64.yml +0 -65
- data/vendor/cmock/test/targets/gcc_tiny.yml +0 -87
- data/vendor/cmock/test/targets/iar_arm_v4.yml +0 -117
- data/vendor/cmock/test/targets/iar_arm_v5.yml +0 -102
- data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
- data/vendor/cmock/vendor/unity/test/targets/ansi.yml +0 -51
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -79
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -79
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -52
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -53
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
- data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
- data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
- data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +0 -119
- data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
- data/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
- data/vendor/unity/test/targets/ansi.yml +0 -51
- data/vendor/unity/test/targets/clang_file.yml +0 -79
- data/vendor/unity/test/targets/clang_strict.yml +0 -79
- data/vendor/unity/test/targets/gcc_32.yml +0 -52
- data/vendor/unity/test/targets/gcc_64.yml +0 -53
- data/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
- data/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
- data/vendor/unity/test/targets/gcc_manual_math.yml +0 -50
- data/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
- data/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
- data/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
- data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
- data/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
- data/vendor/unity/test/targets/iar_msp430.yml +0 -119
- data/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Plugin Overview
|
|
2
|
+
|
|
3
|
+
!!! note
|
|
4
|
+
When enabled, this plugin creates a new set of `gcov:` tasks that mirror
|
|
5
|
+
Ceedling’s existing `test:` tasks. A `gcov:` task executes one or more tests
|
|
6
|
+
with coverage enabled for the source files exercised by those tests.
|
|
7
|
+
|
|
8
|
+
`gcov:` tasks entirely duplicate `test:` tasks and test builds because of
|
|
9
|
+
the needs of coverage instrumentation at compile time.
|
|
10
|
+
|
|
11
|
+
This plugin also provides an extensive set of options for generating various
|
|
12
|
+
coverage reports for your project. The simplest is text-based coverage
|
|
13
|
+
summaries printed to the console after a `gcov:` test task is executed.
|
|
14
|
+
|
|
15
|
+
## Simple Coverage Summaries
|
|
16
|
+
|
|
17
|
+
In its simplest usage, this plugin outputs coverage statistics to the console
|
|
18
|
+
for each source file exercised by a test. These console-based coverage
|
|
19
|
+
summaries are provided after the standard Ceedling test results summary. Other
|
|
20
|
+
than enabling the plugin and ensuring `gcov` is installed, no further set up
|
|
21
|
+
is necessary to produce these summaries.
|
|
22
|
+
|
|
23
|
+
!!! tip
|
|
24
|
+
[Automatic summaries may be disabled](setup.md#disabling-automatic-coverage-summaries).
|
|
25
|
+
|
|
26
|
+
When the Gcov plugin is active it enables Ceedling tasks like this:
|
|
27
|
+
|
|
28
|
+
```shell
|
|
29
|
+
> ceedling gcov:Model
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
… that then generate output like this:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
--------------------------
|
|
36
|
+
GCOV: OVERALL TEST SUMMARY
|
|
37
|
+
--------------------------
|
|
38
|
+
TESTED: 1
|
|
39
|
+
PASSED: 1
|
|
40
|
+
FAILED: 0
|
|
41
|
+
IGNORED: 0
|
|
42
|
+
|
|
43
|
+
---------------------------
|
|
44
|
+
GCOV: CODE COVERAGE SUMMARY
|
|
45
|
+
---------------------------
|
|
46
|
+
|
|
47
|
+
TestModel
|
|
48
|
+
---------
|
|
49
|
+
Model.c | Lines executed:100.00% of 4
|
|
50
|
+
Model.c | No branches
|
|
51
|
+
Model.c | No calls
|
|
52
|
+
TimerModel.c | Lines executed:0.00% of 3
|
|
53
|
+
TimerModel.c | No branches
|
|
54
|
+
TimerModel.c | No calls
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Advanced Coverage Reports
|
|
58
|
+
|
|
59
|
+
For more advanced visualizations and reporting, this plugin also supports a
|
|
60
|
+
variety of report generation options.
|
|
61
|
+
|
|
62
|
+
Advanced report generation uses [gcovr] and / or [ReportGenerator] to generate
|
|
63
|
+
HTML, XML, JSON, or text-based reports from coverage-instrumented test runs.
|
|
64
|
+
See the tools' respective sites for examples of the reports they can generate.
|
|
65
|
+
|
|
66
|
+
In the default configuration, if reports are enabled, this plugin automatically
|
|
67
|
+
generates reports in the build’s `artifacts/` directory after each execution of
|
|
68
|
+
a `gcov:` task.
|
|
69
|
+
|
|
70
|
+
An optional setting documented below disables automatic report generation,
|
|
71
|
+
providing a separate Ceedling task instead. Reports can then be generated
|
|
72
|
+
on demand after test suite runs.
|
|
73
|
+
|
|
74
|
+
[gcovr]: https://www.gcovr.com/
|
|
75
|
+
[ReportGenerator]: https://reportgenerator.io
|
|
76
|
+
|
|
77
|
+
## Summaries vs. Reports
|
|
78
|
+
|
|
79
|
+
Coverage summaries and coverage reports provide different levels of fidelity
|
|
80
|
+
and usability. Summaries are relatively unsophisticated while reports are
|
|
81
|
+
sophisticated. As such, both provide different capabilities and levels of
|
|
82
|
+
usability.
|
|
83
|
+
|
|
84
|
+
### Coverage summaries
|
|
85
|
+
|
|
86
|
+
Optional coverage summaries are intentionally simple. They require no
|
|
87
|
+
configuration and, to oversimplify, are largely filtered output from the `gcov`
|
|
88
|
+
tool.
|
|
89
|
+
|
|
90
|
+
Coverage summaries are reported to the console for each source file exercised by
|
|
91
|
+
the tests executed by `gcov:` tasks. That is, coverage summaries correspond to
|
|
92
|
+
the tests executed, and in turn, the source code that your tests call. This
|
|
93
|
+
could be all tests (and thus all source code) or a subset of tests (and some
|
|
94
|
+
subset of source code). The `gcov` tool is run multiple times after test suite
|
|
95
|
+
execution in direct relation to the set of tests you ran with `gcov:` testing
|
|
96
|
+
tasks. In short, the scope of coverage summaries is guaranteed to match the
|
|
97
|
+
test suite you run.
|
|
98
|
+
|
|
99
|
+
Coverage summaries do not include any sort of grand total, final tallies. This
|
|
100
|
+
is the domain of full coverage reports.
|
|
101
|
+
|
|
102
|
+
Note that Ceedling can exercise the same source code under multiple scenarios
|
|
103
|
+
using multiple test files. Practically, this means that the same source file
|
|
104
|
+
may be listed in the coverage summaries more than once. That said, its coverage
|
|
105
|
+
statistics will be the same each time — the aggregate result of all tests that
|
|
106
|
+
exercised it.
|
|
107
|
+
|
|
108
|
+
### Coverage reports
|
|
109
|
+
|
|
110
|
+
Coverage reports provide both much more detail and better overviews of coverage
|
|
111
|
+
than the console-based coverage summaries. However, with this comes the need
|
|
112
|
+
for more sophisticated configuration and certain caveats on what is reported.
|
|
113
|
+
|
|
114
|
+
Later sections detail how to configure the reports this plugin can generate.
|
|
115
|
+
|
|
116
|
+
Of note is a consequence of how reports are generated and the limits of the
|
|
117
|
+
tools that do so. Reports are generated using coverage results on disk. The
|
|
118
|
+
report generation tools slurp up the coverage results they find in the `gcov/`
|
|
119
|
+
build output directory. This means that previous test suite runs can "pollute"
|
|
120
|
+
coverage reports. The solution is simple if blunt — run the `clobber` task
|
|
121
|
+
before running a coverage-instrumented test suite. This will yield a coverage
|
|
122
|
+
report with scope that matches that of the test suite you run.
|
|
123
|
+
|
|
124
|
+
Both the `gcovr` and `reportgeneator` reporting utilities include powerful
|
|
125
|
+
filters that can limit the scope of reports. Hypothetically, it’s possible for
|
|
126
|
+
coverage reports to have the same clear scope as coverage summaries. However,
|
|
127
|
+
in large projects, these filters would cause impractically long command lines.
|
|
128
|
+
Both tools provide configuration file options that would solve the command line
|
|
129
|
+
problem. However, this feature is "experimental" for `gcovr` and considerable
|
|
130
|
+
work to implement for both reporting utilities. At present, running
|
|
131
|
+
`ceedling clobber` before generating reports is the best option to ensure
|
|
132
|
+
accurate reports.
|
|
133
|
+
|
|
134
|
+
## References
|
|
135
|
+
|
|
136
|
+
Much of the text describing report generations options in this document was
|
|
137
|
+
taken from the [Gcovr User Guide][gcovr-user-guide] and the
|
|
138
|
+
[ReportGenerator Wiki][report-generator-wiki].
|
|
139
|
+
|
|
140
|
+
The text is repeated here to provide as useful documenation as possible.
|
|
141
|
+
|
|
142
|
+
[gcovr-user-guide]: https://www.gcovr.com/en/stable/guide.html
|
|
143
|
+
[report-generator-wiki]: https://github.com/danielpalme/ReportGenerator/wiki
|
|
144
|
+
|
|
145
|
+
<br/><br/>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# ReportGenerator Configuration
|
|
2
|
+
|
|
3
|
+
The `ReportGenerator` utility may be configured with the following configuration items.
|
|
4
|
+
|
|
5
|
+
All generated reports are found in `<build root>/artifacts/gcov/ReportGenerator/`.
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
:gcov:
|
|
9
|
+
:report_generator:
|
|
10
|
+
# Optional directory for storing persistent coverage information.
|
|
11
|
+
# Can be used in future reports to show coverage evolution.
|
|
12
|
+
:history_directory: <path>
|
|
13
|
+
|
|
14
|
+
# Optional plugin files for custom reports or custom history storage (separated by semicolon).
|
|
15
|
+
:plugins: <plugin.dll>;<*.dll>
|
|
16
|
+
|
|
17
|
+
# Optional list of assemblies that should be included or excluded in the report (separated by semicolon).
|
|
18
|
+
# Exclusion filters take precedence over inclusion filters.
|
|
19
|
+
# Wildcards are allowed, but not regular expressions.
|
|
20
|
+
:assembly_filters: +<included>;-<excluded>
|
|
21
|
+
|
|
22
|
+
# Optional list of classes that should be included or excluded in the report (separated by semicolon).
|
|
23
|
+
# Exclusion filters take precedence over inclusion filters.
|
|
24
|
+
# Wildcards are allowed, but not regular expressions.
|
|
25
|
+
:class_filters: +<included>;-<excluded>
|
|
26
|
+
|
|
27
|
+
# Optional list of files that should be included or excluded in the report (separated by semicolon).
|
|
28
|
+
# Exclusion filters take precedence over inclusion filters.
|
|
29
|
+
# Wildcards are allowed, but not regular expressions.
|
|
30
|
+
# Example: "-./vendor/*;-./build/*;-./test/*;-./lib/*;+./src/*"
|
|
31
|
+
:file_filters: +<included>;-<excluded>
|
|
32
|
+
|
|
33
|
+
# The verbosity level of the log messages.
|
|
34
|
+
# Values: Verbose, Info, Warning, Error, Off (defaults to Warning)
|
|
35
|
+
:verbosity: <level>
|
|
36
|
+
|
|
37
|
+
# Optional tag or build version.
|
|
38
|
+
:tag: <tag>
|
|
39
|
+
|
|
40
|
+
# Optional list of one or more regular expressions to exclude gcov notes files that match these filters.
|
|
41
|
+
:gcov_exclude:
|
|
42
|
+
- <regex>
|
|
43
|
+
- ...
|
|
44
|
+
|
|
45
|
+
# Optionally set the number of threads to use in parallel. Defaults to 1.
|
|
46
|
+
:threads: <count>
|
|
47
|
+
|
|
48
|
+
# Optional list of one or more command line arguments to pass to Report Generator.
|
|
49
|
+
# Useful for configuring Risk Hotspots and Other Settings.
|
|
50
|
+
# https://github.com/danielpalme/ReportGenerator/wiki/Settings
|
|
51
|
+
# Note: This can be accomplished with Ceedling's tool configuration options outside of plugin
|
|
52
|
+
# configuration but is supported here to collect configuration options in one place.
|
|
53
|
+
:custom_args:
|
|
54
|
+
- <argument>
|
|
55
|
+
- ...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
<br/><br/>
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Reporting Configuration
|
|
2
|
+
|
|
3
|
+
Various reports are available. Each must be enabled in `:gcov` ↳ `:reports`.
|
|
4
|
+
|
|
5
|
+
If no report types are specified, report generation (but not coverage summaries)
|
|
6
|
+
is disabled regardless of any other setting.
|
|
7
|
+
|
|
8
|
+
Most report types can only be generated by `gcovr` or `ReportGenerator`. Some
|
|
9
|
+
can be generated by both. This means that your selection of report is impacted by
|
|
10
|
+
which generation utility is enabled. In fact, in some cases, the same report type
|
|
11
|
+
could be generated by each utility (to different artifact build output folders).
|
|
12
|
+
|
|
13
|
+
!!! note
|
|
14
|
+
Coverage results are cumulative across builds. That is, if you run a single
|
|
15
|
+
test file after having run a previous test file, coverage results for both
|
|
16
|
+
will be present in generated reporting.
|
|
17
|
+
|
|
18
|
+
For clean and clear results, run `ceedling clobber` before any coverage
|
|
19
|
+
tasks.
|
|
20
|
+
|
|
21
|
+
Reports are configured with:
|
|
22
|
+
|
|
23
|
+
1. General or common options for each report generation utility
|
|
24
|
+
1. Specific options for types of report per each report generation utility
|
|
25
|
+
|
|
26
|
+
For tool-specific plugin configuration options, see:
|
|
27
|
+
|
|
28
|
+
- [GCovr Configuration](gcovr.md)
|
|
29
|
+
- [ReportGenerator Configuration](reportgenerator.md)
|
|
30
|
+
|
|
31
|
+
See the [GCovr User Guide][gcovr-user-guide] and the
|
|
32
|
+
[ReportGenerator Wiki][report-generator-wiki] for full details on using
|
|
33
|
+
these tools.
|
|
34
|
+
|
|
35
|
+
[gcovr-user-guide]: https://www.gcovr.com/en/stable/guide.html
|
|
36
|
+
[report-generator-wiki]: https://github.com/danielpalme/ReportGenerator/wiki
|
|
37
|
+
|
|
38
|
+
| Report option | gcovr | ReportGenerator |
|
|
39
|
+
|---|:---:|:---:|
|
|
40
|
+
| `HtmlBasic` | ✓ | ✓ |
|
|
41
|
+
| `HtmlDetailed` | ✓ | ✓ |
|
|
42
|
+
| `Text` | ✓ | ✓ |
|
|
43
|
+
| `Cobertura` | ✓ | ✓ |
|
|
44
|
+
| `SonarQube` | ✓ | ✓ |
|
|
45
|
+
| `JSON` | ✓ | |
|
|
46
|
+
| `HtmlInline` | | ✓ |
|
|
47
|
+
| `HtmlInlineAzure` | | ✓ |
|
|
48
|
+
| `HtmlInlineAzureDark` | | ✓ |
|
|
49
|
+
| `HtmlChart` | | ✓ |
|
|
50
|
+
| `MHtml` | | ✓ |
|
|
51
|
+
| `Badges` | | ✓ |
|
|
52
|
+
| `CsvSummary` | | ✓ |
|
|
53
|
+
| `Latex` | | ✓ |
|
|
54
|
+
| `LatexSummary` | | ✓ |
|
|
55
|
+
| `PngChart` | | ✓ |
|
|
56
|
+
| `TeamCitySummary` | | ✓ |
|
|
57
|
+
| `lcov` | | ✓ |
|
|
58
|
+
| `Xml` | | ✓ |
|
|
59
|
+
| `XmlSummary` | | ✓ |
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
:gcov:
|
|
63
|
+
# Specify one or more reports to generate.
|
|
64
|
+
# Defaults to HtmlBasic.
|
|
65
|
+
:reports:
|
|
66
|
+
# Generate an HTML summary report.
|
|
67
|
+
# Supported utilities: gcovr, ReportGenerator
|
|
68
|
+
- HtmlBasic
|
|
69
|
+
|
|
70
|
+
# Generate an HTML report with line by line coverage of each source file.
|
|
71
|
+
# Supported utilities: gcovr, ReportGenerator
|
|
72
|
+
- HtmlDetailed
|
|
73
|
+
|
|
74
|
+
# Generate a Text report, which may be output to the console with gcovr or a file in both gcovr and ReportGenerator.
|
|
75
|
+
# Supported utilities: gcovr, ReportGenerator
|
|
76
|
+
- Text
|
|
77
|
+
|
|
78
|
+
# Generate a Cobertura XML report.
|
|
79
|
+
# Supported utilities: gcovr, ReportGenerator
|
|
80
|
+
- Cobertura
|
|
81
|
+
|
|
82
|
+
# Generate a SonarQube XML report.
|
|
83
|
+
# Supported utilities: gcovr, ReportGenerator
|
|
84
|
+
- SonarQube
|
|
85
|
+
|
|
86
|
+
# Generate a JSON report.
|
|
87
|
+
# Supported utilities: gcovr
|
|
88
|
+
- JSON
|
|
89
|
+
|
|
90
|
+
# Generate a detailed HTML report with CSS and JavaScript included in every HTML page. Useful for build servers.
|
|
91
|
+
# Supported utilities: ReportGenerator
|
|
92
|
+
- HtmlInline
|
|
93
|
+
|
|
94
|
+
# Generate a detailed HTML report with a light theme and CSS and JavaScript included in every HTML page for Azure DevOps.
|
|
95
|
+
# Supported utilities: ReportGenerator
|
|
96
|
+
- HtmlInlineAzure
|
|
97
|
+
|
|
98
|
+
# Generate a detailed HTML report with a dark theme and CSS and JavaScript included in every HTML page for Azure DevOps.
|
|
99
|
+
# Supported utilities: ReportGenerator
|
|
100
|
+
- HtmlInlineAzureDark
|
|
101
|
+
|
|
102
|
+
# Generate a single HTML file containing a chart with historic coverage information.
|
|
103
|
+
# Supported utilities: ReportGenerator
|
|
104
|
+
- HtmlChart
|
|
105
|
+
|
|
106
|
+
# Generate a detailed HTML report in a single file.
|
|
107
|
+
# Supported utilities: ReportGenerator
|
|
108
|
+
- MHtml
|
|
109
|
+
|
|
110
|
+
# Generate SVG and PNG files that show line and / or branch coverage information.
|
|
111
|
+
# Supported utilities: ReportGenerator
|
|
112
|
+
- Badges
|
|
113
|
+
|
|
114
|
+
# Generate a single CSV file containing coverage information per file.
|
|
115
|
+
# Supported utilities: ReportGenerator
|
|
116
|
+
- CsvSummary
|
|
117
|
+
|
|
118
|
+
# Generate a single TEX file containing a summary for all files and detailed reports for each files.
|
|
119
|
+
# Supported utilities: ReportGenerator
|
|
120
|
+
- Latex
|
|
121
|
+
|
|
122
|
+
# Generate a single TEX file containing a summary for all files.
|
|
123
|
+
# Supported utilities: ReportGenerator
|
|
124
|
+
- LatexSummary
|
|
125
|
+
|
|
126
|
+
# Generate a single PNG file containing a chart with historic coverage information.
|
|
127
|
+
# Supported utilities: ReportGenerator
|
|
128
|
+
- PngChart
|
|
129
|
+
|
|
130
|
+
# Command line output interpreted by TeamCity.
|
|
131
|
+
# Supported utilities: ReportGenerator
|
|
132
|
+
- TeamCitySummary
|
|
133
|
+
|
|
134
|
+
# Generate a text file in lcov format.
|
|
135
|
+
# Supported utilities: ReportGenerator
|
|
136
|
+
- lcov
|
|
137
|
+
|
|
138
|
+
# Generate a XML file containing a summary for all classes and detailed reports for each class.
|
|
139
|
+
# Supported utilities: ReportGenerator
|
|
140
|
+
- Xml
|
|
141
|
+
|
|
142
|
+
# Generate a single XML file containing a summary for all files.
|
|
143
|
+
# Supported utilities: ReportGenerator
|
|
144
|
+
- XmlSummary
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
<br/><br/>
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
# Set up & Configuration
|
|
2
|
+
|
|
3
|
+
## Toolchain dependencies
|
|
4
|
+
|
|
5
|
+
### GNU Compiler Collection
|
|
6
|
+
|
|
7
|
+
This plugin relies on the GNU compiler collection. Coverage instrumentation
|
|
8
|
+
is enabled through `gcc` compiler flags. Coverage-insrumented executables
|
|
9
|
+
(i.e. test suites) output coverage result files to disk when run. `gcov`,
|
|
10
|
+
`gcovr`, and `reportgenerator` (the tools managed by this plugin) all produce
|
|
11
|
+
their coverage tallies from these files. `gcov` is part of the GNU compiler
|
|
12
|
+
collection. The other tools — detailed below — require separate installation.
|
|
13
|
+
|
|
14
|
+
Ceedling’s default toolchain is the same as needed by this plugin. If you
|
|
15
|
+
are already running Ceedling test suites with the GNU compiler toolchain,
|
|
16
|
+
you are good to go. If you are using another toolchain for test suite and/or
|
|
17
|
+
release builds you will need to install the GNU compiler collection to use
|
|
18
|
+
this plugin. Depending on your needs you may also need to install the reporting
|
|
19
|
+
utilities, `gcovr` and/or `reportgenerator`.
|
|
20
|
+
|
|
21
|
+
### `gcovr` and `reportgenerator`’s dependence on `gcov`
|
|
22
|
+
|
|
23
|
+
Both the `gcovr` and `reportgenerator` tools depend on the `gcov` tool. This
|
|
24
|
+
dependency plays out in two different ways. In both cases, the report
|
|
25
|
+
generation utilities ingest `gcov`’s output to produce their artifacts. As
|
|
26
|
+
such, `gcov` must be available in your environment if using report generation.
|
|
27
|
+
|
|
28
|
+
1. `gcovr` calls `gcov` directly.
|
|
29
|
+
|
|
30
|
+
Because it calls `gcov` directly, you are limited as to the
|
|
31
|
+
advanced Ceedling features you can employ to modify `gcov`’s execution.
|
|
32
|
+
However, with a configuration option (see below) you can instruct `gcovr`
|
|
33
|
+
to call something other than `gcov` (e.g. a script that intercepts and
|
|
34
|
+
modifies how `gcovr` calls out to `gcov`).
|
|
35
|
+
|
|
36
|
+
`gcovr` instructs `gcov` to generate `.gcov` files that it processes and
|
|
37
|
+
discards. A `gcovr` option documented below will retain the `.gcov` files.
|
|
38
|
+
|
|
39
|
+
2. `reportgenerator` expects the existence of `.gcov` files to do its work.
|
|
40
|
+
|
|
41
|
+
This Ceedling plugin calls `gcov` appropriately to generate the `.gcov`
|
|
42
|
+
files `reportgenerator` needs before then calling the report utility.
|
|
43
|
+
|
|
44
|
+
You can use Ceedling’s features to modify how `gcov` is run before
|
|
45
|
+
`reportgenerator`.
|
|
46
|
+
|
|
47
|
+
## Enable this plugin
|
|
48
|
+
|
|
49
|
+
To use this plugin it must be enabled in your Ceedling project file:
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
:plugins:
|
|
53
|
+
:enabled:
|
|
54
|
+
- gcov
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This simple configuration will create new `gcov:` command line tasks to run
|
|
58
|
+
tests with source coverage and output simple coverage summaries to the console
|
|
59
|
+
as above.
|
|
60
|
+
|
|
61
|
+
## Disabling automatic coverage summaries
|
|
62
|
+
|
|
63
|
+
To disable the coverage summaries generated immediately following `gcov:` tasks,
|
|
64
|
+
simply add the following to a top-level `:gcov:` section in your project
|
|
65
|
+
configuration file.
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
:plugins:
|
|
69
|
+
:enabled:
|
|
70
|
+
- gcov
|
|
71
|
+
|
|
72
|
+
:gcov:
|
|
73
|
+
:summaries: FALSE
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Report generation
|
|
77
|
+
|
|
78
|
+
To generate reports:
|
|
79
|
+
|
|
80
|
+
1. GCovr and / or ReportGenerator must installed or otherwise ready to run in
|
|
81
|
+
Ceedling’s environment.
|
|
82
|
+
1. Reporting options must be configured in your project file beneath a `:gcov:`
|
|
83
|
+
entry.
|
|
84
|
+
|
|
85
|
+
The next sections explain each of these steps.
|
|
86
|
+
|
|
87
|
+
### Modified Condition / Decision Coverage
|
|
88
|
+
|
|
89
|
+
As of version 14, the GNU Compiler Collection supports MC/DC. If your environment
|
|
90
|
+
contains a minimum of GCC 14 you can enable MC/DC in coverage summaries.
|
|
91
|
+
|
|
92
|
+
If your environment contains a minimum of GCC 14 and GCovr 8, you can enable MC/DC
|
|
93
|
+
in your generated coverage reports.
|
|
94
|
+
|
|
95
|
+
NOTE: ReportGenerator does not support MC/DC reporting.
|
|
96
|
+
|
|
97
|
+
```yaml
|
|
98
|
+
:plugins:
|
|
99
|
+
:enabled:
|
|
100
|
+
- gcov
|
|
101
|
+
|
|
102
|
+
:gcov:
|
|
103
|
+
:mcdc: TRUE
|
|
104
|
+
```
|
|
105
|
+
**Default:** `FALSE`
|
|
106
|
+
|
|
107
|
+
### Coverage for untested sources
|
|
108
|
+
|
|
109
|
+
This setting controls how the GCov plugin handles project source files that
|
|
110
|
+
are not exercised by any test. It takes one of three values:
|
|
111
|
+
|
|
112
|
+
* `:ignore` — Untested source files are not processed at all. Nothing is
|
|
113
|
+
logged, nothing is compiled, and these files are simply absent from the
|
|
114
|
+
coverage report.
|
|
115
|
+
* `:list` — Untested source files are not compiled with coverage, but their
|
|
116
|
+
filepaths are logged as a warning so you know which files will not appear
|
|
117
|
+
in the coverage report.
|
|
118
|
+
* `:compile` — All untested source files are compiled with coverage so they
|
|
119
|
+
appear in the final report with 0% coverage (since no test exercises
|
|
120
|
+
them). This causes all source files to appear in any generated reporting.
|
|
121
|
+
If a source file fails to compile, Ceedling logs guidance at the console,
|
|
122
|
+
and the build fails.
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
:plugins:
|
|
126
|
+
:enabled:
|
|
127
|
+
- gcov
|
|
128
|
+
|
|
129
|
+
:gcov:
|
|
130
|
+
:untested_sources: :list
|
|
131
|
+
```
|
|
132
|
+
**Default:** `:list`
|
|
133
|
+
|
|
134
|
+
!!! warning
|
|
135
|
+
**Compiling all untested sources for 0% coverage reporting (`:compile`) will likely require additional work.**
|
|
136
|
+
|
|
137
|
+
Successful compilation of untested source files may require certain symbols
|
|
138
|
+
to be defined, certain flags to be set, or entire stand-in shims for platform
|
|
139
|
+
headers and code.
|
|
140
|
+
|
|
141
|
+
Ceedling’s
|
|
142
|
+
[`:defines`](../../configuration/reference/defines.md)
|
|
143
|
+
and
|
|
144
|
+
[`:flags`](../../configuration/reference/flags.md)
|
|
145
|
+
matchers can provide these. For GCov tasks, symbols and flags are extracted from
|
|
146
|
+
the `:test` context beneath the `:defines` and `:flags` configuration sections
|
|
147
|
+
by default. If you need something special for coverage builds, use the `:gcov`
|
|
148
|
+
context for these matchers instead.
|
|
149
|
+
|
|
150
|
+
Notes:
|
|
151
|
+
|
|
152
|
+
* Versions of GCovr before 7.0 do not include the necessary options to produce
|
|
153
|
+
0% coverage results for source files only compiled (but never executed).
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
When `:untested_sources` is `:compile`, an additional `gcov:untested_sources`
|
|
158
|
+
build task becomes available:
|
|
159
|
+
|
|
160
|
+
```shell
|
|
161
|
+
> ceedling gcov:untested_sources
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
This task exists to let you work through the compilation problems described
|
|
165
|
+
in the warning above — missing symbols, flags, or platform header/code
|
|
166
|
+
stand-ins — by re-running just the untested-source compilation step
|
|
167
|
+
directly. No test suite build is needed while iterating on source compilation
|
|
168
|
+
fixes.
|
|
169
|
+
|
|
170
|
+
### Reporting utilities installation
|
|
171
|
+
|
|
172
|
+
!!! tip "Variants of the `madsciencelab` Docker images come with these tools preinstalled"
|
|
173
|
+
See [the Docker image options](../../getting-started/installation.md#madsciencelab-docker-images)
|
|
174
|
+
for running Ceedling.
|
|
175
|
+
|
|
176
|
+
[gcovr] is available on any platform supported by Python.
|
|
177
|
+
|
|
178
|
+
`gcovr` can be installed via pip like this:
|
|
179
|
+
|
|
180
|
+
```shell
|
|
181
|
+
> pip install gcovr
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
[ReportGenerator] is available on any platform supported by .Net.
|
|
185
|
+
|
|
186
|
+
`ReportGenerator` can be installed via .NET Core like so:
|
|
187
|
+
|
|
188
|
+
```shell
|
|
189
|
+
> dotnet tool install -g dotnet-reportgenerator-globaltool
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Either or both of `gcovr` or `ReportGenerator` may be used. Only one must
|
|
193
|
+
be installed for advanced report generation.
|
|
194
|
+
|
|
195
|
+
[gcovr]: https://www.gcovr.com/
|
|
196
|
+
[ReportGenerator]: https://reportgenerator.io
|
|
197
|
+
|
|
198
|
+
### Enabling reporting utilities
|
|
199
|
+
|
|
200
|
+
If reports are configured (see next sections) but no `:utilities:` subsection
|
|
201
|
+
exists, this plugin defaults to using `gcovr` for report generation.
|
|
202
|
+
|
|
203
|
+
Otherwise, enable Gcovr and / or ReportGenerator to create coverage reports.
|
|
204
|
+
|
|
205
|
+
```yaml
|
|
206
|
+
:gcov:
|
|
207
|
+
:utilities:
|
|
208
|
+
- gcovr # Use `gcovr` to create reports (default if no :utilities set).
|
|
209
|
+
- ReportGenerator # Use `ReportGenerator` to create reports.
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Automatic and manual report generation
|
|
213
|
+
|
|
214
|
+
By default, if reports are specified, this plugin automatically generates
|
|
215
|
+
reports after any `gcov:` task is executed. To disable this behavior, add
|
|
216
|
+
`:report_task: TRUE` to your project file’s `:gcov:` configuration.
|
|
217
|
+
|
|
218
|
+
With this setting enabled, an additional Ceedling task `report:gcov` is enabled.
|
|
219
|
+
It may be executed after `gcov:` tasks to generate the configured reports.
|
|
220
|
+
|
|
221
|
+
For small projects, the default behavior is likely preferred. This alernative
|
|
222
|
+
setting allows large or complex projects to execute potentially time intensive
|
|
223
|
+
report generation only when desired.
|
|
224
|
+
|
|
225
|
+
Enabling the manual report generation task looks like this:
|
|
226
|
+
|
|
227
|
+
```yaml
|
|
228
|
+
:gcov:
|
|
229
|
+
:report_task: TRUE
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
<br/><br/>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Supported tool versions
|
|
2
|
+
|
|
3
|
+
_**Last updated:**_ May 17, 2026
|
|
4
|
+
|
|
5
|
+
At the time of the last major updates to the Gcov plugin, the following notes
|
|
6
|
+
on version compatibility were known to be accurate.
|
|
7
|
+
|
|
8
|
+
Keep in mind that for proper functioning, you do not necessarily need to
|
|
9
|
+
install all the tooks the Gcov plugin works with. Depending on configuration
|
|
10
|
+
options documented in later sections, any of the following tool combinations
|
|
11
|
+
may be sufficient for your needs:
|
|
12
|
+
|
|
13
|
+
1. `gcov`
|
|
14
|
+
1. `gcov` + `gcovr`
|
|
15
|
+
1. `gcov` + `reportgenerator`
|
|
16
|
+
1. `gcov` + `gcovr` + `reportgenerator`
|
|
17
|
+
|
|
18
|
+
## `gcov`
|
|
19
|
+
|
|
20
|
+
The Gcov plugin is known to work with `gcov` packaged with GNU Compiler
|
|
21
|
+
Collection 12 through at least 15.
|
|
22
|
+
|
|
23
|
+
The maintainers of `gcov` introduced significant behavioral changes for
|
|
24
|
+
version 12. Previous versions of `gcov` had a simple exit code scheme with only a
|
|
25
|
+
single non-zero exit code upon fatal errors. Since version 12 `gcov` emits a
|
|
26
|
+
variety of exit codes even if the noted issue is a non-fatal error. The Gcov
|
|
27
|
+
plugin's logic assumes version 12 behavior and processes failure messages and
|
|
28
|
+
exit codes appropriately, taking into account plugin configuration options.
|
|
29
|
+
|
|
30
|
+
The Gcov plugin should be compatible with versions of `gcov` before version 12.
|
|
31
|
+
That is, its improved `gcov` exit handling should not be broken by the prior
|
|
32
|
+
simpler behavior. The Gcov plugin dependes on the `gcov` command line and has
|
|
33
|
+
been compatible with it as far back as `gcov` version 7.
|
|
34
|
+
|
|
35
|
+
Because long file paths are quite common in software development scenarios, by
|
|
36
|
+
default, the Gcov plugin depends on the `gcov` `-x` flag. This flag hashes long
|
|
37
|
+
file paths to ensure they are not a problem for certain platforms' file
|
|
38
|
+
systems. This flag became available with `gcov` version 7. We do not recommend
|
|
39
|
+
using `gcov` version 6 and earlier. And, in fact, because of the Gcov plugin's
|
|
40
|
+
dependence on the `gcov` `-x` flag, attempting to use it will fail.
|
|
41
|
+
|
|
42
|
+
GNU Compiler Collection 14 introduced changes in how coverage is instrumented.
|
|
43
|
+
The `gcov` plugin implemented a revised means of processing coverage that is
|
|
44
|
+
forward compatible with GCC 14+ and backwards compatible to the earliest
|
|
45
|
+
versions of the collection.
|
|
46
|
+
|
|
47
|
+
## `gcovr`
|
|
48
|
+
|
|
49
|
+
The Gcov plugin is known to work with `gcovr` 5.2 through `gcovr` 8.x. The
|
|
50
|
+
Gcov plugin supports `gcovr` command line conventions since version 4.2 and
|
|
51
|
+
attempts to support `gcovr` command lines before version 4.2. We recommend
|
|
52
|
+
using `gcovr` 5 and later.
|
|
53
|
+
|
|
54
|
+
## `reportgenerator`
|
|
55
|
+
|
|
56
|
+
The Gcov plugin is known to work with `reportgenerator` 5.2.4. The command line
|
|
57
|
+
for executing `reportgenerator` that the Gcov plugin relies on has largely been
|
|
58
|
+
stable since version 4. We recommend using `reportgenerator` 5.0 and later.
|
|
59
|
+
|
|
60
|
+
<br/><br/>
|