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,5060 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en" class="no-js">
|
|
4
|
+
<head>
|
|
5
|
+
|
|
6
|
+
<meta charset="utf-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
8
|
+
|
|
9
|
+
<meta name="description" content="Test-Centered Build System for C">
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
<link rel="prev" href="loading.html">
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<link rel="next" href="project-file.html">
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<link rel="icon" href="../assets/images/favicon.png">
|
|
24
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<title>Mixins - Ceedling</title>
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
49
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
|
50
|
+
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
<link rel="stylesheet" href="../assets/stylesheets/styling.css">
|
|
55
|
+
|
|
56
|
+
<link rel="stylesheet" href="../assets/stylesheets/admonitions.css">
|
|
57
|
+
|
|
58
|
+
<link rel="stylesheet" href="../assets/stylesheets/fixes-local.css">
|
|
59
|
+
|
|
60
|
+
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
</head>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="green" data-md-color-accent="deep_purple">
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
80
|
+
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
81
|
+
<label class="md-overlay" for="__drawer"></label>
|
|
82
|
+
<div data-md-component="skip">
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
<a href="#mixins" class="md-skip">
|
|
86
|
+
Skip to content
|
|
87
|
+
</a>
|
|
88
|
+
|
|
89
|
+
</div>
|
|
90
|
+
<div data-md-component="announce">
|
|
91
|
+
|
|
92
|
+
</div>
|
|
93
|
+
|
|
94
|
+
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
95
|
+
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
<header class="md-header" data-md-component="header">
|
|
102
|
+
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
103
|
+
<a href="../index.html" title="Ceedling" class="md-header__button md-logo" aria-label="Ceedling" data-md-component="logo">
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|
107
|
+
|
|
108
|
+
</a>
|
|
109
|
+
<label class="md-header__button md-icon" for="__drawer">
|
|
110
|
+
|
|
111
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
|
112
|
+
</label>
|
|
113
|
+
<div class="md-header__title" data-md-component="header-title">
|
|
114
|
+
<div class="md-header__ellipsis">
|
|
115
|
+
<div class="md-header__topic">
|
|
116
|
+
<span class="md-ellipsis">
|
|
117
|
+
Ceedling
|
|
118
|
+
</span>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="md-header__topic" data-md-component="header-topic">
|
|
121
|
+
<span class="md-ellipsis">
|
|
122
|
+
|
|
123
|
+
Mixins
|
|
124
|
+
|
|
125
|
+
</span>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
<form class="md-header__option" data-md-component="palette">
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="green" data-md-color-accent="deep_purple" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
</form>
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
<div class="md-header__source">
|
|
149
|
+
<a href="https://github.com/ThrowTheSwitch/Ceedling" title="Go to repository" class="md-source" data-md-component="source">
|
|
150
|
+
<div class="md-source__icon md-icon">
|
|
151
|
+
|
|
152
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="md-source__repository">
|
|
155
|
+
ThrowTheSwitch/Ceedling
|
|
156
|
+
</div>
|
|
157
|
+
</a>
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
</nav>
|
|
161
|
+
|
|
162
|
+
</header>
|
|
163
|
+
|
|
164
|
+
<div class="md-container" data-md-component="container">
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
|
171
|
+
<div class="md-grid">
|
|
172
|
+
<ul class="md-tabs__list">
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
<li class="md-tabs__item">
|
|
180
|
+
<a href="../index.html" class="md-tabs__link">
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
Home
|
|
187
|
+
|
|
188
|
+
</a>
|
|
189
|
+
</li>
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
<li class="md-tabs__item">
|
|
201
|
+
<a href="../overview/index.html" class="md-tabs__link">
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
Overview
|
|
208
|
+
|
|
209
|
+
</a>
|
|
210
|
+
</li>
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
<li class="md-tabs__item">
|
|
223
|
+
<a href="../getting-started/index.html" class="md-tabs__link">
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
Getting Started
|
|
230
|
+
|
|
231
|
+
</a>
|
|
232
|
+
</li>
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
<li class="md-tabs__item">
|
|
245
|
+
<a href="../testing-guide/index.html" class="md-tabs__link">
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
Testing Guide
|
|
252
|
+
|
|
253
|
+
</a>
|
|
254
|
+
</li>
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
<li class="md-tabs__item md-tabs__item--active">
|
|
269
|
+
<a href="index.html" class="md-tabs__link">
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
Configuration
|
|
276
|
+
|
|
277
|
+
</a>
|
|
278
|
+
</li>
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
<li class="md-tabs__item">
|
|
291
|
+
<a href="../plugins/index.html" class="md-tabs__link">
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
Plugins
|
|
298
|
+
|
|
299
|
+
</a>
|
|
300
|
+
</li>
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
<li class="md-tabs__item">
|
|
313
|
+
<a href="../reference/index.html" class="md-tabs__link">
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
Reference
|
|
320
|
+
|
|
321
|
+
</a>
|
|
322
|
+
</li>
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
<li class="md-tabs__item">
|
|
335
|
+
<a href="../project/release-history.html" class="md-tabs__link">
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
Releases
|
|
342
|
+
|
|
343
|
+
</a>
|
|
344
|
+
</li>
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
<li class="md-tabs__item">
|
|
355
|
+
<a href="../help.html" class="md-tabs__link">
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
Help
|
|
362
|
+
|
|
363
|
+
</a>
|
|
364
|
+
</li>
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
<li class="md-tabs__item">
|
|
376
|
+
<a href="../development/index.html" class="md-tabs__link">
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
Development
|
|
383
|
+
|
|
384
|
+
</a>
|
|
385
|
+
</li>
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
</ul>
|
|
391
|
+
</div>
|
|
392
|
+
</nav>
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
<main class="md-main" data-md-component="main">
|
|
397
|
+
<div class="md-main__inner md-grid">
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
402
|
+
<div class="md-sidebar__scrollwrap">
|
|
403
|
+
<div class="md-sidebar__inner">
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
411
|
+
<label class="md-nav__title" for="__drawer">
|
|
412
|
+
<a href="../index.html" title="Ceedling" class="md-nav__button md-logo" aria-label="Ceedling" data-md-component="logo">
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|
416
|
+
|
|
417
|
+
</a>
|
|
418
|
+
Ceedling
|
|
419
|
+
</label>
|
|
420
|
+
|
|
421
|
+
<div class="md-nav__source">
|
|
422
|
+
<a href="https://github.com/ThrowTheSwitch/Ceedling" title="Go to repository" class="md-source" data-md-component="source">
|
|
423
|
+
<div class="md-source__icon md-icon">
|
|
424
|
+
|
|
425
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
|
426
|
+
</div>
|
|
427
|
+
<div class="md-source__repository">
|
|
428
|
+
ThrowTheSwitch/Ceedling
|
|
429
|
+
</div>
|
|
430
|
+
</a>
|
|
431
|
+
</div>
|
|
432
|
+
|
|
433
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
<li class="md-nav__item">
|
|
442
|
+
<a href="../index.html" class="md-nav__link">
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
<span class="md-ellipsis">
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
Home
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
</span>
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
</a>
|
|
458
|
+
</li>
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
<div class="md-nav__link md-nav__container">
|
|
498
|
+
<a href="../overview/index.html" class="md-nav__link ">
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
<span class="md-ellipsis">
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
Overview
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
</span>
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
</a>
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
517
|
+
<span class="md-nav__icon md-icon"></span>
|
|
518
|
+
</label>
|
|
519
|
+
|
|
520
|
+
</div>
|
|
521
|
+
|
|
522
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
|
523
|
+
<label class="md-nav__title" for="__nav_2">
|
|
524
|
+
<span class="md-nav__icon md-icon"></span>
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
Overview
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
</label>
|
|
531
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
<li class="md-nav__item">
|
|
542
|
+
<a href="../overview/build-system.html" class="md-nav__link">
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
<span class="md-ellipsis">
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
Build System
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
</span>
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
</a>
|
|
558
|
+
</li>
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
<li class="md-nav__item">
|
|
570
|
+
<a href="../overview/tools-and-frameworks.html" class="md-nav__link">
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
<span class="md-ellipsis">
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
Tools & Frameworks
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
</span>
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
</a>
|
|
586
|
+
</li>
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
<li class="md-nav__item">
|
|
598
|
+
<a href="../overview/test-environments.html" class="md-nav__link">
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
<span class="md-ellipsis">
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
Test Environments
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
</span>
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
</a>
|
|
614
|
+
</li>
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
</ul>
|
|
620
|
+
</nav>
|
|
621
|
+
|
|
622
|
+
</li>
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
|
|
656
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
<div class="md-nav__link md-nav__container">
|
|
664
|
+
<a href="../getting-started/index.html" class="md-nav__link ">
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
<span class="md-ellipsis">
|
|
669
|
+
|
|
670
|
+
|
|
671
|
+
Getting Started
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
</span>
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
</a>
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
683
|
+
<span class="md-nav__icon md-icon"></span>
|
|
684
|
+
</label>
|
|
685
|
+
|
|
686
|
+
</div>
|
|
687
|
+
|
|
688
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
689
|
+
<label class="md-nav__title" for="__nav_3">
|
|
690
|
+
<span class="md-nav__icon md-icon"></span>
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
Getting Started
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
</label>
|
|
697
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
<li class="md-nav__item">
|
|
708
|
+
<a href="../getting-started/quick-start.html" class="md-nav__link">
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
<span class="md-ellipsis">
|
|
713
|
+
|
|
714
|
+
|
|
715
|
+
Quick Start
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
</span>
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
</a>
|
|
724
|
+
</li>
|
|
725
|
+
|
|
726
|
+
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
|
|
735
|
+
<li class="md-nav__item">
|
|
736
|
+
<a href="../getting-started/installation.html" class="md-nav__link">
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
<span class="md-ellipsis">
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
Installation
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
</span>
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
</a>
|
|
752
|
+
</li>
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
<li class="md-nav__item">
|
|
764
|
+
<a href="../getting-started/command-line.html" class="md-nav__link">
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
<span class="md-ellipsis">
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
Command Line
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
</span>
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
</a>
|
|
780
|
+
</li>
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5" >
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
<div class="md-nav__link md-nav__container">
|
|
821
|
+
<a href="../getting-started/example-projects/index.html" class="md-nav__link ">
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
<span class="md-ellipsis">
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
Example Projects
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
</span>
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
</a>
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
<label class="md-nav__link " for="__nav_3_5" id="__nav_3_5_label" tabindex="0">
|
|
840
|
+
<span class="md-nav__icon md-icon"></span>
|
|
841
|
+
</label>
|
|
842
|
+
|
|
843
|
+
</div>
|
|
844
|
+
|
|
845
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_5_label" aria-expanded="false">
|
|
846
|
+
<label class="md-nav__title" for="__nav_3_5">
|
|
847
|
+
<span class="md-nav__icon md-icon"></span>
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
Example Projects
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
</label>
|
|
854
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
<li class="md-nav__item">
|
|
865
|
+
<a href="../getting-started/example-projects/temp-sensor.html" class="md-nav__link">
|
|
866
|
+
|
|
867
|
+
|
|
868
|
+
|
|
869
|
+
<span class="md-ellipsis">
|
|
870
|
+
|
|
871
|
+
|
|
872
|
+
Temp Sensor
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
</span>
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
</a>
|
|
881
|
+
</li>
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
|
|
890
|
+
|
|
891
|
+
|
|
892
|
+
<li class="md-nav__item">
|
|
893
|
+
<a href="../getting-started/example-projects/wondrous-forest.html" class="md-nav__link">
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
<span class="md-ellipsis">
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
Wondrous Forest
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
</span>
|
|
905
|
+
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
</a>
|
|
909
|
+
</li>
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
|
|
919
|
+
|
|
920
|
+
<li class="md-nav__item">
|
|
921
|
+
<a href="../getting-started/example-projects/cipher-quest.html" class="md-nav__link">
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
<span class="md-ellipsis">
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
Cipher Quest
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
</span>
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
</a>
|
|
937
|
+
</li>
|
|
938
|
+
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
</ul>
|
|
943
|
+
</nav>
|
|
944
|
+
|
|
945
|
+
</li>
|
|
946
|
+
|
|
947
|
+
|
|
948
|
+
|
|
949
|
+
|
|
950
|
+
</ul>
|
|
951
|
+
</nav>
|
|
952
|
+
|
|
953
|
+
</li>
|
|
954
|
+
|
|
955
|
+
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
|
|
964
|
+
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
|
|
972
|
+
|
|
973
|
+
|
|
974
|
+
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
|
|
987
|
+
|
|
988
|
+
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
994
|
+
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
|
|
998
|
+
|
|
999
|
+
|
|
1000
|
+
<div class="md-nav__link md-nav__container">
|
|
1001
|
+
<a href="../testing-guide/index.html" class="md-nav__link ">
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
|
|
1005
|
+
<span class="md-ellipsis">
|
|
1006
|
+
|
|
1007
|
+
|
|
1008
|
+
Testing Guide
|
|
1009
|
+
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
</span>
|
|
1013
|
+
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
</a>
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
|
|
1020
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1021
|
+
</label>
|
|
1022
|
+
|
|
1023
|
+
</div>
|
|
1024
|
+
|
|
1025
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
|
1026
|
+
<label class="md-nav__title" for="__nav_4">
|
|
1027
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1028
|
+
|
|
1029
|
+
|
|
1030
|
+
Testing Guide
|
|
1031
|
+
|
|
1032
|
+
|
|
1033
|
+
</label>
|
|
1034
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1035
|
+
|
|
1036
|
+
|
|
1037
|
+
|
|
1038
|
+
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
|
|
1043
|
+
|
|
1044
|
+
<li class="md-nav__item">
|
|
1045
|
+
<a href="../testing-guide/test-cases.html" class="md-nav__link">
|
|
1046
|
+
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
<span class="md-ellipsis">
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
How Does a Test Case Work?
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
|
|
1056
|
+
</span>
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
</a>
|
|
1061
|
+
</li>
|
|
1062
|
+
|
|
1063
|
+
|
|
1064
|
+
|
|
1065
|
+
|
|
1066
|
+
|
|
1067
|
+
|
|
1068
|
+
|
|
1069
|
+
|
|
1070
|
+
|
|
1071
|
+
|
|
1072
|
+
<li class="md-nav__item">
|
|
1073
|
+
<a href="../testing-guide/test-sample.html" class="md-nav__link">
|
|
1074
|
+
|
|
1075
|
+
|
|
1076
|
+
|
|
1077
|
+
<span class="md-ellipsis">
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
Commented Sample Test File
|
|
1081
|
+
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
</span>
|
|
1085
|
+
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
</a>
|
|
1089
|
+
</li>
|
|
1090
|
+
|
|
1091
|
+
|
|
1092
|
+
|
|
1093
|
+
|
|
1094
|
+
|
|
1095
|
+
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
|
|
1100
|
+
<li class="md-nav__item">
|
|
1101
|
+
<a href="../testing-guide/test-suite-anatomy.html" class="md-nav__link">
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
<span class="md-ellipsis">
|
|
1106
|
+
|
|
1107
|
+
|
|
1108
|
+
Anatomy of a Test Suite
|
|
1109
|
+
|
|
1110
|
+
|
|
1111
|
+
|
|
1112
|
+
</span>
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
</a>
|
|
1117
|
+
</li>
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
<li class="md-nav__item">
|
|
1129
|
+
<a href="../testing-guide/conventions.html" class="md-nav__link">
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
<span class="md-ellipsis">
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
Conventions & Behaviors
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
|
|
1140
|
+
</span>
|
|
1141
|
+
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
</a>
|
|
1145
|
+
</li>
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
<li class="md-nav__item">
|
|
1157
|
+
<a href="../testing-guide/frameworks.html" class="md-nav__link">
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
|
|
1161
|
+
<span class="md-ellipsis">
|
|
1162
|
+
|
|
1163
|
+
|
|
1164
|
+
Unity, CMock & CException
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
|
|
1168
|
+
</span>
|
|
1169
|
+
|
|
1170
|
+
|
|
1171
|
+
|
|
1172
|
+
</a>
|
|
1173
|
+
</li>
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
|
|
1181
|
+
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
|
|
1196
|
+
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
|
|
1206
|
+
|
|
1207
|
+
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
|
|
1211
|
+
|
|
1212
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1213
|
+
|
|
1214
|
+
|
|
1215
|
+
|
|
1216
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_7" >
|
|
1217
|
+
|
|
1218
|
+
|
|
1219
|
+
<div class="md-nav__link md-nav__container">
|
|
1220
|
+
<a href="../testing-guide/partials/index.html" class="md-nav__link ">
|
|
1221
|
+
|
|
1222
|
+
|
|
1223
|
+
|
|
1224
|
+
<span class="md-ellipsis">
|
|
1225
|
+
|
|
1226
|
+
|
|
1227
|
+
Partials
|
|
1228
|
+
|
|
1229
|
+
|
|
1230
|
+
|
|
1231
|
+
</span>
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
</a>
|
|
1236
|
+
|
|
1237
|
+
|
|
1238
|
+
<label class="md-nav__link " for="__nav_4_7" id="__nav_4_7_label" tabindex="0">
|
|
1239
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1240
|
+
</label>
|
|
1241
|
+
|
|
1242
|
+
</div>
|
|
1243
|
+
|
|
1244
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_7_label" aria-expanded="false">
|
|
1245
|
+
<label class="md-nav__title" for="__nav_4_7">
|
|
1246
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1247
|
+
|
|
1248
|
+
|
|
1249
|
+
Partials
|
|
1250
|
+
|
|
1251
|
+
|
|
1252
|
+
</label>
|
|
1253
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1254
|
+
|
|
1255
|
+
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
|
|
1259
|
+
|
|
1260
|
+
|
|
1261
|
+
|
|
1262
|
+
|
|
1263
|
+
<li class="md-nav__item">
|
|
1264
|
+
<a href="../testing-guide/partials/overview.html" class="md-nav__link">
|
|
1265
|
+
|
|
1266
|
+
|
|
1267
|
+
|
|
1268
|
+
<span class="md-ellipsis">
|
|
1269
|
+
|
|
1270
|
+
|
|
1271
|
+
What Is a Partial?
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
</span>
|
|
1276
|
+
|
|
1277
|
+
|
|
1278
|
+
|
|
1279
|
+
</a>
|
|
1280
|
+
</li>
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
|
|
1290
|
+
|
|
1291
|
+
<li class="md-nav__item">
|
|
1292
|
+
<a href="../testing-guide/partials/configuration.html" class="md-nav__link">
|
|
1293
|
+
|
|
1294
|
+
|
|
1295
|
+
|
|
1296
|
+
<span class="md-ellipsis">
|
|
1297
|
+
|
|
1298
|
+
|
|
1299
|
+
Configuration
|
|
1300
|
+
|
|
1301
|
+
|
|
1302
|
+
|
|
1303
|
+
</span>
|
|
1304
|
+
|
|
1305
|
+
|
|
1306
|
+
|
|
1307
|
+
</a>
|
|
1308
|
+
</li>
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
|
|
1316
|
+
|
|
1317
|
+
|
|
1318
|
+
|
|
1319
|
+
<li class="md-nav__item">
|
|
1320
|
+
<a href="../testing-guide/partials/example.html" class="md-nav__link">
|
|
1321
|
+
|
|
1322
|
+
|
|
1323
|
+
|
|
1324
|
+
<span class="md-ellipsis">
|
|
1325
|
+
|
|
1326
|
+
|
|
1327
|
+
Walk-Through Example
|
|
1328
|
+
|
|
1329
|
+
|
|
1330
|
+
|
|
1331
|
+
</span>
|
|
1332
|
+
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
</a>
|
|
1336
|
+
</li>
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
|
|
1340
|
+
|
|
1341
|
+
|
|
1342
|
+
|
|
1343
|
+
|
|
1344
|
+
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
<li class="md-nav__item">
|
|
1348
|
+
<a href="../testing-guide/partials/conventions.html" class="md-nav__link">
|
|
1349
|
+
|
|
1350
|
+
|
|
1351
|
+
|
|
1352
|
+
<span class="md-ellipsis">
|
|
1353
|
+
|
|
1354
|
+
|
|
1355
|
+
Conventions & Terminology
|
|
1356
|
+
|
|
1357
|
+
|
|
1358
|
+
|
|
1359
|
+
</span>
|
|
1360
|
+
|
|
1361
|
+
|
|
1362
|
+
|
|
1363
|
+
</a>
|
|
1364
|
+
</li>
|
|
1365
|
+
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
|
|
1369
|
+
|
|
1370
|
+
|
|
1371
|
+
|
|
1372
|
+
|
|
1373
|
+
|
|
1374
|
+
|
|
1375
|
+
<li class="md-nav__item">
|
|
1376
|
+
<a href="../testing-guide/partials/directives.html" class="md-nav__link">
|
|
1377
|
+
|
|
1378
|
+
|
|
1379
|
+
|
|
1380
|
+
<span class="md-ellipsis">
|
|
1381
|
+
|
|
1382
|
+
|
|
1383
|
+
Partial Directive Macros
|
|
1384
|
+
|
|
1385
|
+
|
|
1386
|
+
|
|
1387
|
+
</span>
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
</a>
|
|
1392
|
+
</li>
|
|
1393
|
+
|
|
1394
|
+
|
|
1395
|
+
|
|
1396
|
+
|
|
1397
|
+
|
|
1398
|
+
|
|
1399
|
+
|
|
1400
|
+
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
<li class="md-nav__item">
|
|
1404
|
+
<a href="../testing-guide/partials/variables.html" class="md-nav__link">
|
|
1405
|
+
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
<span class="md-ellipsis">
|
|
1409
|
+
|
|
1410
|
+
|
|
1411
|
+
Accessing Static Variables
|
|
1412
|
+
|
|
1413
|
+
|
|
1414
|
+
|
|
1415
|
+
</span>
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
|
|
1419
|
+
</a>
|
|
1420
|
+
</li>
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
|
|
1425
|
+
</ul>
|
|
1426
|
+
</nav>
|
|
1427
|
+
|
|
1428
|
+
</li>
|
|
1429
|
+
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
|
|
1434
|
+
|
|
1435
|
+
|
|
1436
|
+
|
|
1437
|
+
|
|
1438
|
+
|
|
1439
|
+
<li class="md-nav__item">
|
|
1440
|
+
<a href="../testing-guide/build-directives.html" class="md-nav__link">
|
|
1441
|
+
|
|
1442
|
+
|
|
1443
|
+
|
|
1444
|
+
<span class="md-ellipsis">
|
|
1445
|
+
|
|
1446
|
+
|
|
1447
|
+
Build Directive Macros
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
|
|
1451
|
+
</span>
|
|
1452
|
+
|
|
1453
|
+
|
|
1454
|
+
|
|
1455
|
+
</a>
|
|
1456
|
+
</li>
|
|
1457
|
+
|
|
1458
|
+
|
|
1459
|
+
|
|
1460
|
+
|
|
1461
|
+
</ul>
|
|
1462
|
+
</nav>
|
|
1463
|
+
|
|
1464
|
+
</li>
|
|
1465
|
+
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
|
|
1469
|
+
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
|
|
1476
|
+
|
|
1477
|
+
|
|
1478
|
+
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
|
|
1482
|
+
|
|
1483
|
+
|
|
1484
|
+
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
|
|
1489
|
+
|
|
1490
|
+
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
|
|
1500
|
+
|
|
1501
|
+
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
|
|
1511
|
+
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
|
1512
|
+
|
|
1513
|
+
|
|
1514
|
+
|
|
1515
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
|
|
1516
|
+
|
|
1517
|
+
|
|
1518
|
+
<div class="md-nav__link md-nav__container">
|
|
1519
|
+
<a href="index.html" class="md-nav__link ">
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
<span class="md-ellipsis">
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
Configuration
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
</span>
|
|
1531
|
+
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
</a>
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="">
|
|
1538
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1539
|
+
</label>
|
|
1540
|
+
|
|
1541
|
+
</div>
|
|
1542
|
+
|
|
1543
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
|
|
1544
|
+
<label class="md-nav__title" for="__nav_5">
|
|
1545
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1546
|
+
|
|
1547
|
+
|
|
1548
|
+
Configuration
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
</label>
|
|
1552
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1553
|
+
|
|
1554
|
+
|
|
1555
|
+
|
|
1556
|
+
|
|
1557
|
+
|
|
1558
|
+
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
<li class="md-nav__item">
|
|
1563
|
+
<a href="loading.html" class="md-nav__link">
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
<span class="md-ellipsis">
|
|
1568
|
+
|
|
1569
|
+
|
|
1570
|
+
Loading Configuration
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
|
|
1574
|
+
</span>
|
|
1575
|
+
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
</a>
|
|
1579
|
+
</li>
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
|
|
1584
|
+
|
|
1585
|
+
|
|
1586
|
+
|
|
1587
|
+
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
|
|
1591
|
+
|
|
1592
|
+
<li class="md-nav__item md-nav__item--active">
|
|
1593
|
+
|
|
1594
|
+
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
1595
|
+
|
|
1596
|
+
|
|
1597
|
+
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
1601
|
+
|
|
1602
|
+
|
|
1603
|
+
|
|
1604
|
+
<span class="md-ellipsis">
|
|
1605
|
+
|
|
1606
|
+
|
|
1607
|
+
Mixins
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
|
|
1611
|
+
</span>
|
|
1612
|
+
|
|
1613
|
+
|
|
1614
|
+
|
|
1615
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1616
|
+
</label>
|
|
1617
|
+
|
|
1618
|
+
<a href="mixins.html" class="md-nav__link md-nav__link--active">
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
<span class="md-ellipsis">
|
|
1623
|
+
|
|
1624
|
+
|
|
1625
|
+
Mixins
|
|
1626
|
+
|
|
1627
|
+
|
|
1628
|
+
|
|
1629
|
+
</span>
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
|
|
1633
|
+
</a>
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
|
|
1637
|
+
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
|
|
1644
|
+
<label class="md-nav__title" for="__toc">
|
|
1645
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1646
|
+
Table of contents
|
|
1647
|
+
</label>
|
|
1648
|
+
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
1649
|
+
|
|
1650
|
+
<li class="md-nav__item">
|
|
1651
|
+
<a href="#designing-for-mixins-merge-rules" class="md-nav__link">
|
|
1652
|
+
<span class="md-ellipsis">
|
|
1653
|
+
|
|
1654
|
+
Designing for Mixins merge rules
|
|
1655
|
+
|
|
1656
|
+
</span>
|
|
1657
|
+
</a>
|
|
1658
|
+
|
|
1659
|
+
<nav class="md-nav" aria-label="Designing for Mixins merge rules">
|
|
1660
|
+
<ul class="md-nav__list">
|
|
1661
|
+
|
|
1662
|
+
<li class="md-nav__item">
|
|
1663
|
+
<a href="#additive-mixin-merges" class="md-nav__link">
|
|
1664
|
+
<span class="md-ellipsis">
|
|
1665
|
+
|
|
1666
|
+
Additive Mixin merges
|
|
1667
|
+
|
|
1668
|
+
</span>
|
|
1669
|
+
</a>
|
|
1670
|
+
|
|
1671
|
+
</li>
|
|
1672
|
+
|
|
1673
|
+
<li class="md-nav__item">
|
|
1674
|
+
<a href="#mixins-deep-merge-rules" class="md-nav__link">
|
|
1675
|
+
<span class="md-ellipsis">
|
|
1676
|
+
|
|
1677
|
+
Mixins deep merge rules
|
|
1678
|
+
|
|
1679
|
+
</span>
|
|
1680
|
+
</a>
|
|
1681
|
+
|
|
1682
|
+
</li>
|
|
1683
|
+
|
|
1684
|
+
</ul>
|
|
1685
|
+
</nav>
|
|
1686
|
+
|
|
1687
|
+
</li>
|
|
1688
|
+
|
|
1689
|
+
<li class="md-nav__item">
|
|
1690
|
+
<a href="#mixins-example" class="md-nav__link">
|
|
1691
|
+
<span class="md-ellipsis">
|
|
1692
|
+
|
|
1693
|
+
Mixins Example
|
|
1694
|
+
|
|
1695
|
+
</span>
|
|
1696
|
+
</a>
|
|
1697
|
+
|
|
1698
|
+
<nav class="md-nav" aria-label="Mixins Example">
|
|
1699
|
+
<ul class="md-nav__list">
|
|
1700
|
+
|
|
1701
|
+
<li class="md-nav__item">
|
|
1702
|
+
<a href="#our-example-scenario" class="md-nav__link">
|
|
1703
|
+
<span class="md-ellipsis">
|
|
1704
|
+
|
|
1705
|
+
Our Example Scenario
|
|
1706
|
+
|
|
1707
|
+
</span>
|
|
1708
|
+
</a>
|
|
1709
|
+
|
|
1710
|
+
</li>
|
|
1711
|
+
|
|
1712
|
+
<li class="md-nav__item">
|
|
1713
|
+
<a href="#example-environment-variable" class="md-nav__link">
|
|
1714
|
+
<span class="md-ellipsis">
|
|
1715
|
+
|
|
1716
|
+
Example environment variable
|
|
1717
|
+
|
|
1718
|
+
</span>
|
|
1719
|
+
</a>
|
|
1720
|
+
|
|
1721
|
+
</li>
|
|
1722
|
+
|
|
1723
|
+
<li class="md-nav__item">
|
|
1724
|
+
<a href="#example-command-line" class="md-nav__link">
|
|
1725
|
+
<span class="md-ellipsis">
|
|
1726
|
+
|
|
1727
|
+
Example command line
|
|
1728
|
+
|
|
1729
|
+
</span>
|
|
1730
|
+
</a>
|
|
1731
|
+
|
|
1732
|
+
</li>
|
|
1733
|
+
|
|
1734
|
+
<li class="md-nav__item">
|
|
1735
|
+
<a href="#example-configuration-files" class="md-nav__link">
|
|
1736
|
+
<span class="md-ellipsis">
|
|
1737
|
+
|
|
1738
|
+
Example Configuration files
|
|
1739
|
+
|
|
1740
|
+
</span>
|
|
1741
|
+
</a>
|
|
1742
|
+
|
|
1743
|
+
</li>
|
|
1744
|
+
|
|
1745
|
+
<li class="md-nav__item">
|
|
1746
|
+
<a href="#example-resulting-configuration" class="md-nav__link">
|
|
1747
|
+
<span class="md-ellipsis">
|
|
1748
|
+
|
|
1749
|
+
Example resulting configuration
|
|
1750
|
+
|
|
1751
|
+
</span>
|
|
1752
|
+
</a>
|
|
1753
|
+
|
|
1754
|
+
</li>
|
|
1755
|
+
|
|
1756
|
+
</ul>
|
|
1757
|
+
</nav>
|
|
1758
|
+
|
|
1759
|
+
</li>
|
|
1760
|
+
|
|
1761
|
+
<li class="md-nav__item">
|
|
1762
|
+
<a href="#options-for-loading-mixins" class="md-nav__link">
|
|
1763
|
+
<span class="md-ellipsis">
|
|
1764
|
+
|
|
1765
|
+
Options for loading Mixins
|
|
1766
|
+
|
|
1767
|
+
</span>
|
|
1768
|
+
</a>
|
|
1769
|
+
|
|
1770
|
+
<nav class="md-nav" aria-label="Options for loading Mixins">
|
|
1771
|
+
<ul class="md-nav__list">
|
|
1772
|
+
|
|
1773
|
+
<li class="md-nav__item">
|
|
1774
|
+
<a href="#-mixin-command-line-flags" class="md-nav__link">
|
|
1775
|
+
<span class="md-ellipsis">
|
|
1776
|
+
|
|
1777
|
+
--mixin command line flags
|
|
1778
|
+
|
|
1779
|
+
</span>
|
|
1780
|
+
</a>
|
|
1781
|
+
|
|
1782
|
+
</li>
|
|
1783
|
+
|
|
1784
|
+
<li class="md-nav__item">
|
|
1785
|
+
<a href="#environment-variables" class="md-nav__link">
|
|
1786
|
+
<span class="md-ellipsis">
|
|
1787
|
+
|
|
1788
|
+
Environment variables
|
|
1789
|
+
|
|
1790
|
+
</span>
|
|
1791
|
+
</a>
|
|
1792
|
+
|
|
1793
|
+
</li>
|
|
1794
|
+
|
|
1795
|
+
<li class="md-nav__item">
|
|
1796
|
+
<a href="#base-configuration-mixins-entries" class="md-nav__link">
|
|
1797
|
+
<span class="md-ellipsis">
|
|
1798
|
+
|
|
1799
|
+
Base configuration :mixins entries
|
|
1800
|
+
|
|
1801
|
+
</span>
|
|
1802
|
+
</a>
|
|
1803
|
+
|
|
1804
|
+
</li>
|
|
1805
|
+
|
|
1806
|
+
</ul>
|
|
1807
|
+
</nav>
|
|
1808
|
+
|
|
1809
|
+
</li>
|
|
1810
|
+
|
|
1811
|
+
<li class="md-nav__item">
|
|
1812
|
+
<a href="#built-in-toolchain-targets" class="md-nav__link">
|
|
1813
|
+
<span class="md-ellipsis">
|
|
1814
|
+
|
|
1815
|
+
Built-in toolchain targets
|
|
1816
|
+
|
|
1817
|
+
</span>
|
|
1818
|
+
</a>
|
|
1819
|
+
|
|
1820
|
+
<nav class="md-nav" aria-label="Built-in toolchain targets">
|
|
1821
|
+
<ul class="md-nav__list">
|
|
1822
|
+
|
|
1823
|
+
<li class="md-nav__item">
|
|
1824
|
+
<a href="#available-built-in-targets" class="md-nav__link">
|
|
1825
|
+
<span class="md-ellipsis">
|
|
1826
|
+
|
|
1827
|
+
Available built-in targets
|
|
1828
|
+
|
|
1829
|
+
</span>
|
|
1830
|
+
</a>
|
|
1831
|
+
|
|
1832
|
+
</li>
|
|
1833
|
+
|
|
1834
|
+
<li class="md-nav__item">
|
|
1835
|
+
<a href="#using-a-built-in-target-as-a-starting-point" class="md-nav__link">
|
|
1836
|
+
<span class="md-ellipsis">
|
|
1837
|
+
|
|
1838
|
+
Using a built-in target as a starting point
|
|
1839
|
+
|
|
1840
|
+
</span>
|
|
1841
|
+
</a>
|
|
1842
|
+
|
|
1843
|
+
</li>
|
|
1844
|
+
|
|
1845
|
+
</ul>
|
|
1846
|
+
</nav>
|
|
1847
|
+
|
|
1848
|
+
</li>
|
|
1849
|
+
|
|
1850
|
+
</ul>
|
|
1851
|
+
|
|
1852
|
+
</nav>
|
|
1853
|
+
|
|
1854
|
+
</li>
|
|
1855
|
+
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
|
|
1859
|
+
|
|
1860
|
+
|
|
1861
|
+
|
|
1862
|
+
|
|
1863
|
+
|
|
1864
|
+
|
|
1865
|
+
<li class="md-nav__item">
|
|
1866
|
+
<a href="project-file.html" class="md-nav__link">
|
|
1867
|
+
|
|
1868
|
+
|
|
1869
|
+
|
|
1870
|
+
<span class="md-ellipsis">
|
|
1871
|
+
|
|
1872
|
+
|
|
1873
|
+
Project File Basics
|
|
1874
|
+
|
|
1875
|
+
|
|
1876
|
+
|
|
1877
|
+
</span>
|
|
1878
|
+
|
|
1879
|
+
|
|
1880
|
+
|
|
1881
|
+
</a>
|
|
1882
|
+
</li>
|
|
1883
|
+
|
|
1884
|
+
|
|
1885
|
+
|
|
1886
|
+
|
|
1887
|
+
|
|
1888
|
+
|
|
1889
|
+
|
|
1890
|
+
|
|
1891
|
+
|
|
1892
|
+
|
|
1893
|
+
<li class="md-nav__item">
|
|
1894
|
+
<a href="parallel-builds.html" class="md-nav__link">
|
|
1895
|
+
|
|
1896
|
+
|
|
1897
|
+
|
|
1898
|
+
<span class="md-ellipsis">
|
|
1899
|
+
|
|
1900
|
+
|
|
1901
|
+
Parallel Builds
|
|
1902
|
+
|
|
1903
|
+
|
|
1904
|
+
|
|
1905
|
+
</span>
|
|
1906
|
+
|
|
1907
|
+
|
|
1908
|
+
|
|
1909
|
+
</a>
|
|
1910
|
+
</li>
|
|
1911
|
+
|
|
1912
|
+
|
|
1913
|
+
|
|
1914
|
+
|
|
1915
|
+
|
|
1916
|
+
|
|
1917
|
+
|
|
1918
|
+
|
|
1919
|
+
|
|
1920
|
+
|
|
1921
|
+
<li class="md-nav__item">
|
|
1922
|
+
<a href="environment-vars.html" class="md-nav__link">
|
|
1923
|
+
|
|
1924
|
+
|
|
1925
|
+
|
|
1926
|
+
<span class="md-ellipsis">
|
|
1927
|
+
|
|
1928
|
+
|
|
1929
|
+
Environment Variables
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
|
|
1933
|
+
</span>
|
|
1934
|
+
|
|
1935
|
+
|
|
1936
|
+
|
|
1937
|
+
</a>
|
|
1938
|
+
</li>
|
|
1939
|
+
|
|
1940
|
+
|
|
1941
|
+
|
|
1942
|
+
|
|
1943
|
+
|
|
1944
|
+
|
|
1945
|
+
|
|
1946
|
+
|
|
1947
|
+
|
|
1948
|
+
|
|
1949
|
+
<li class="md-nav__item">
|
|
1950
|
+
<a href="which-ceedling.html" class="md-nav__link">
|
|
1951
|
+
|
|
1952
|
+
|
|
1953
|
+
|
|
1954
|
+
<span class="md-ellipsis">
|
|
1955
|
+
|
|
1956
|
+
|
|
1957
|
+
Which Ceedling
|
|
1958
|
+
|
|
1959
|
+
|
|
1960
|
+
|
|
1961
|
+
</span>
|
|
1962
|
+
|
|
1963
|
+
|
|
1964
|
+
|
|
1965
|
+
</a>
|
|
1966
|
+
</li>
|
|
1967
|
+
|
|
1968
|
+
|
|
1969
|
+
|
|
1970
|
+
|
|
1971
|
+
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
|
|
1975
|
+
|
|
1976
|
+
|
|
1977
|
+
<li class="md-nav__item">
|
|
1978
|
+
<a href="global-collections.html" class="md-nav__link">
|
|
1979
|
+
|
|
1980
|
+
|
|
1981
|
+
|
|
1982
|
+
<span class="md-ellipsis">
|
|
1983
|
+
|
|
1984
|
+
|
|
1985
|
+
Global Collections
|
|
1986
|
+
|
|
1987
|
+
|
|
1988
|
+
|
|
1989
|
+
</span>
|
|
1990
|
+
|
|
1991
|
+
|
|
1992
|
+
|
|
1993
|
+
</a>
|
|
1994
|
+
</li>
|
|
1995
|
+
|
|
1996
|
+
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
|
|
2000
|
+
|
|
2001
|
+
|
|
2002
|
+
|
|
2003
|
+
|
|
2004
|
+
|
|
2005
|
+
|
|
2006
|
+
|
|
2007
|
+
|
|
2008
|
+
|
|
2009
|
+
|
|
2010
|
+
|
|
2011
|
+
|
|
2012
|
+
|
|
2013
|
+
|
|
2014
|
+
|
|
2015
|
+
|
|
2016
|
+
|
|
2017
|
+
|
|
2018
|
+
|
|
2019
|
+
|
|
2020
|
+
|
|
2021
|
+
|
|
2022
|
+
|
|
2023
|
+
|
|
2024
|
+
|
|
2025
|
+
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
|
|
2029
|
+
|
|
2030
|
+
|
|
2031
|
+
|
|
2032
|
+
|
|
2033
|
+
|
|
2034
|
+
|
|
2035
|
+
|
|
2036
|
+
|
|
2037
|
+
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
|
|
2045
|
+
|
|
2046
|
+
|
|
2047
|
+
|
|
2048
|
+
|
|
2049
|
+
|
|
2050
|
+
|
|
2051
|
+
|
|
2052
|
+
|
|
2053
|
+
|
|
2054
|
+
|
|
2055
|
+
|
|
2056
|
+
|
|
2057
|
+
|
|
2058
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
2059
|
+
|
|
2060
|
+
|
|
2061
|
+
|
|
2062
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_9" >
|
|
2063
|
+
|
|
2064
|
+
|
|
2065
|
+
<div class="md-nav__link md-nav__container">
|
|
2066
|
+
<a href="reference/index.html" class="md-nav__link ">
|
|
2067
|
+
|
|
2068
|
+
|
|
2069
|
+
|
|
2070
|
+
<span class="md-ellipsis">
|
|
2071
|
+
|
|
2072
|
+
|
|
2073
|
+
Configuration Reference
|
|
2074
|
+
|
|
2075
|
+
|
|
2076
|
+
|
|
2077
|
+
</span>
|
|
2078
|
+
|
|
2079
|
+
|
|
2080
|
+
|
|
2081
|
+
</a>
|
|
2082
|
+
|
|
2083
|
+
|
|
2084
|
+
<label class="md-nav__link " for="__nav_5_9" id="__nav_5_9_label" tabindex="">
|
|
2085
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2086
|
+
</label>
|
|
2087
|
+
|
|
2088
|
+
</div>
|
|
2089
|
+
|
|
2090
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_9_label" aria-expanded="false">
|
|
2091
|
+
<label class="md-nav__title" for="__nav_5_9">
|
|
2092
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2093
|
+
|
|
2094
|
+
|
|
2095
|
+
Configuration Reference
|
|
2096
|
+
|
|
2097
|
+
|
|
2098
|
+
</label>
|
|
2099
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2100
|
+
|
|
2101
|
+
|
|
2102
|
+
|
|
2103
|
+
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
|
|
2107
|
+
|
|
2108
|
+
|
|
2109
|
+
<li class="md-nav__item">
|
|
2110
|
+
<a href="reference/project.html" class="md-nav__link">
|
|
2111
|
+
|
|
2112
|
+
|
|
2113
|
+
|
|
2114
|
+
<span class="md-ellipsis">
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
Global Project Settings
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
</span>
|
|
2122
|
+
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
</a>
|
|
2126
|
+
</li>
|
|
2127
|
+
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
|
|
2131
|
+
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
|
|
2136
|
+
|
|
2137
|
+
<li class="md-nav__item">
|
|
2138
|
+
<a href="reference/mixins.html" class="md-nav__link">
|
|
2139
|
+
|
|
2140
|
+
|
|
2141
|
+
|
|
2142
|
+
<span class="md-ellipsis">
|
|
2143
|
+
|
|
2144
|
+
|
|
2145
|
+
Mixins
|
|
2146
|
+
|
|
2147
|
+
|
|
2148
|
+
|
|
2149
|
+
</span>
|
|
2150
|
+
|
|
2151
|
+
|
|
2152
|
+
|
|
2153
|
+
</a>
|
|
2154
|
+
</li>
|
|
2155
|
+
|
|
2156
|
+
|
|
2157
|
+
|
|
2158
|
+
|
|
2159
|
+
|
|
2160
|
+
|
|
2161
|
+
|
|
2162
|
+
|
|
2163
|
+
|
|
2164
|
+
|
|
2165
|
+
<li class="md-nav__item">
|
|
2166
|
+
<a href="reference/test-build.html" class="md-nav__link">
|
|
2167
|
+
|
|
2168
|
+
|
|
2169
|
+
|
|
2170
|
+
<span class="md-ellipsis">
|
|
2171
|
+
|
|
2172
|
+
|
|
2173
|
+
Test Build Settings
|
|
2174
|
+
|
|
2175
|
+
|
|
2176
|
+
|
|
2177
|
+
</span>
|
|
2178
|
+
|
|
2179
|
+
|
|
2180
|
+
|
|
2181
|
+
</a>
|
|
2182
|
+
</li>
|
|
2183
|
+
|
|
2184
|
+
|
|
2185
|
+
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
|
|
2189
|
+
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
<li class="md-nav__item">
|
|
2194
|
+
<a href="reference/release-build.html" class="md-nav__link">
|
|
2195
|
+
|
|
2196
|
+
|
|
2197
|
+
|
|
2198
|
+
<span class="md-ellipsis">
|
|
2199
|
+
|
|
2200
|
+
|
|
2201
|
+
Release Build Settings
|
|
2202
|
+
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
</span>
|
|
2206
|
+
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
</a>
|
|
2210
|
+
</li>
|
|
2211
|
+
|
|
2212
|
+
|
|
2213
|
+
|
|
2214
|
+
|
|
2215
|
+
|
|
2216
|
+
|
|
2217
|
+
|
|
2218
|
+
|
|
2219
|
+
|
|
2220
|
+
|
|
2221
|
+
<li class="md-nav__item">
|
|
2222
|
+
<a href="reference/paths.html" class="md-nav__link">
|
|
2223
|
+
|
|
2224
|
+
|
|
2225
|
+
|
|
2226
|
+
<span class="md-ellipsis">
|
|
2227
|
+
|
|
2228
|
+
|
|
2229
|
+
Search Paths
|
|
2230
|
+
|
|
2231
|
+
|
|
2232
|
+
|
|
2233
|
+
</span>
|
|
2234
|
+
|
|
2235
|
+
|
|
2236
|
+
|
|
2237
|
+
</a>
|
|
2238
|
+
</li>
|
|
2239
|
+
|
|
2240
|
+
|
|
2241
|
+
|
|
2242
|
+
|
|
2243
|
+
|
|
2244
|
+
|
|
2245
|
+
|
|
2246
|
+
|
|
2247
|
+
|
|
2248
|
+
|
|
2249
|
+
<li class="md-nav__item">
|
|
2250
|
+
<a href="reference/files.html" class="md-nav__link">
|
|
2251
|
+
|
|
2252
|
+
|
|
2253
|
+
|
|
2254
|
+
<span class="md-ellipsis">
|
|
2255
|
+
|
|
2256
|
+
|
|
2257
|
+
File Collections
|
|
2258
|
+
|
|
2259
|
+
|
|
2260
|
+
|
|
2261
|
+
</span>
|
|
2262
|
+
|
|
2263
|
+
|
|
2264
|
+
|
|
2265
|
+
</a>
|
|
2266
|
+
</li>
|
|
2267
|
+
|
|
2268
|
+
|
|
2269
|
+
|
|
2270
|
+
|
|
2271
|
+
|
|
2272
|
+
|
|
2273
|
+
|
|
2274
|
+
|
|
2275
|
+
|
|
2276
|
+
|
|
2277
|
+
<li class="md-nav__item">
|
|
2278
|
+
<a href="reference/environment.html" class="md-nav__link">
|
|
2279
|
+
|
|
2280
|
+
|
|
2281
|
+
|
|
2282
|
+
<span class="md-ellipsis">
|
|
2283
|
+
|
|
2284
|
+
|
|
2285
|
+
Environment Variables
|
|
2286
|
+
|
|
2287
|
+
|
|
2288
|
+
|
|
2289
|
+
</span>
|
|
2290
|
+
|
|
2291
|
+
|
|
2292
|
+
|
|
2293
|
+
</a>
|
|
2294
|
+
</li>
|
|
2295
|
+
|
|
2296
|
+
|
|
2297
|
+
|
|
2298
|
+
|
|
2299
|
+
|
|
2300
|
+
|
|
2301
|
+
|
|
2302
|
+
|
|
2303
|
+
|
|
2304
|
+
|
|
2305
|
+
<li class="md-nav__item">
|
|
2306
|
+
<a href="reference/extension.html" class="md-nav__link">
|
|
2307
|
+
|
|
2308
|
+
|
|
2309
|
+
|
|
2310
|
+
<span class="md-ellipsis">
|
|
2311
|
+
|
|
2312
|
+
|
|
2313
|
+
File Extensions
|
|
2314
|
+
|
|
2315
|
+
|
|
2316
|
+
|
|
2317
|
+
</span>
|
|
2318
|
+
|
|
2319
|
+
|
|
2320
|
+
|
|
2321
|
+
</a>
|
|
2322
|
+
</li>
|
|
2323
|
+
|
|
2324
|
+
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
|
|
2328
|
+
|
|
2329
|
+
|
|
2330
|
+
|
|
2331
|
+
|
|
2332
|
+
|
|
2333
|
+
<li class="md-nav__item">
|
|
2334
|
+
<a href="reference/defines.html" class="md-nav__link">
|
|
2335
|
+
|
|
2336
|
+
|
|
2337
|
+
|
|
2338
|
+
<span class="md-ellipsis">
|
|
2339
|
+
|
|
2340
|
+
|
|
2341
|
+
Defines
|
|
2342
|
+
|
|
2343
|
+
|
|
2344
|
+
|
|
2345
|
+
</span>
|
|
2346
|
+
|
|
2347
|
+
|
|
2348
|
+
|
|
2349
|
+
</a>
|
|
2350
|
+
</li>
|
|
2351
|
+
|
|
2352
|
+
|
|
2353
|
+
|
|
2354
|
+
|
|
2355
|
+
|
|
2356
|
+
|
|
2357
|
+
|
|
2358
|
+
|
|
2359
|
+
|
|
2360
|
+
|
|
2361
|
+
<li class="md-nav__item">
|
|
2362
|
+
<a href="reference/flags.html" class="md-nav__link">
|
|
2363
|
+
|
|
2364
|
+
|
|
2365
|
+
|
|
2366
|
+
<span class="md-ellipsis">
|
|
2367
|
+
|
|
2368
|
+
|
|
2369
|
+
Compilation & Link Flags
|
|
2370
|
+
|
|
2371
|
+
|
|
2372
|
+
|
|
2373
|
+
</span>
|
|
2374
|
+
|
|
2375
|
+
|
|
2376
|
+
|
|
2377
|
+
</a>
|
|
2378
|
+
</li>
|
|
2379
|
+
|
|
2380
|
+
|
|
2381
|
+
|
|
2382
|
+
|
|
2383
|
+
|
|
2384
|
+
|
|
2385
|
+
|
|
2386
|
+
|
|
2387
|
+
|
|
2388
|
+
|
|
2389
|
+
<li class="md-nav__item">
|
|
2390
|
+
<a href="reference/libraries.html" class="md-nav__link">
|
|
2391
|
+
|
|
2392
|
+
|
|
2393
|
+
|
|
2394
|
+
<span class="md-ellipsis">
|
|
2395
|
+
|
|
2396
|
+
|
|
2397
|
+
Libraries
|
|
2398
|
+
|
|
2399
|
+
|
|
2400
|
+
|
|
2401
|
+
</span>
|
|
2402
|
+
|
|
2403
|
+
|
|
2404
|
+
|
|
2405
|
+
</a>
|
|
2406
|
+
</li>
|
|
2407
|
+
|
|
2408
|
+
|
|
2409
|
+
|
|
2410
|
+
|
|
2411
|
+
|
|
2412
|
+
|
|
2413
|
+
|
|
2414
|
+
|
|
2415
|
+
|
|
2416
|
+
|
|
2417
|
+
<li class="md-nav__item">
|
|
2418
|
+
<a href="reference/unity.html" class="md-nav__link">
|
|
2419
|
+
|
|
2420
|
+
|
|
2421
|
+
|
|
2422
|
+
<span class="md-ellipsis">
|
|
2423
|
+
|
|
2424
|
+
|
|
2425
|
+
Unity
|
|
2426
|
+
|
|
2427
|
+
|
|
2428
|
+
|
|
2429
|
+
</span>
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
|
|
2433
|
+
</a>
|
|
2434
|
+
</li>
|
|
2435
|
+
|
|
2436
|
+
|
|
2437
|
+
|
|
2438
|
+
|
|
2439
|
+
|
|
2440
|
+
|
|
2441
|
+
|
|
2442
|
+
|
|
2443
|
+
|
|
2444
|
+
|
|
2445
|
+
<li class="md-nav__item">
|
|
2446
|
+
<a href="reference/cmock.html" class="md-nav__link">
|
|
2447
|
+
|
|
2448
|
+
|
|
2449
|
+
|
|
2450
|
+
<span class="md-ellipsis">
|
|
2451
|
+
|
|
2452
|
+
|
|
2453
|
+
CMock
|
|
2454
|
+
|
|
2455
|
+
|
|
2456
|
+
|
|
2457
|
+
</span>
|
|
2458
|
+
|
|
2459
|
+
|
|
2460
|
+
|
|
2461
|
+
</a>
|
|
2462
|
+
</li>
|
|
2463
|
+
|
|
2464
|
+
|
|
2465
|
+
|
|
2466
|
+
|
|
2467
|
+
|
|
2468
|
+
|
|
2469
|
+
|
|
2470
|
+
|
|
2471
|
+
|
|
2472
|
+
|
|
2473
|
+
<li class="md-nav__item">
|
|
2474
|
+
<a href="reference/test-runner.html" class="md-nav__link">
|
|
2475
|
+
|
|
2476
|
+
|
|
2477
|
+
|
|
2478
|
+
<span class="md-ellipsis">
|
|
2479
|
+
|
|
2480
|
+
|
|
2481
|
+
Test Runner
|
|
2482
|
+
|
|
2483
|
+
|
|
2484
|
+
|
|
2485
|
+
</span>
|
|
2486
|
+
|
|
2487
|
+
|
|
2488
|
+
|
|
2489
|
+
</a>
|
|
2490
|
+
</li>
|
|
2491
|
+
|
|
2492
|
+
|
|
2493
|
+
|
|
2494
|
+
|
|
2495
|
+
|
|
2496
|
+
|
|
2497
|
+
|
|
2498
|
+
|
|
2499
|
+
|
|
2500
|
+
|
|
2501
|
+
<li class="md-nav__item">
|
|
2502
|
+
<a href="reference/cexception.html" class="md-nav__link">
|
|
2503
|
+
|
|
2504
|
+
|
|
2505
|
+
|
|
2506
|
+
<span class="md-ellipsis">
|
|
2507
|
+
|
|
2508
|
+
|
|
2509
|
+
CException
|
|
2510
|
+
|
|
2511
|
+
|
|
2512
|
+
|
|
2513
|
+
</span>
|
|
2514
|
+
|
|
2515
|
+
|
|
2516
|
+
|
|
2517
|
+
</a>
|
|
2518
|
+
</li>
|
|
2519
|
+
|
|
2520
|
+
|
|
2521
|
+
|
|
2522
|
+
|
|
2523
|
+
|
|
2524
|
+
|
|
2525
|
+
|
|
2526
|
+
|
|
2527
|
+
|
|
2528
|
+
|
|
2529
|
+
<li class="md-nav__item">
|
|
2530
|
+
<a href="reference/plugins.html" class="md-nav__link">
|
|
2531
|
+
|
|
2532
|
+
|
|
2533
|
+
|
|
2534
|
+
<span class="md-ellipsis">
|
|
2535
|
+
|
|
2536
|
+
|
|
2537
|
+
Plugins
|
|
2538
|
+
|
|
2539
|
+
|
|
2540
|
+
|
|
2541
|
+
</span>
|
|
2542
|
+
|
|
2543
|
+
|
|
2544
|
+
|
|
2545
|
+
</a>
|
|
2546
|
+
</li>
|
|
2547
|
+
|
|
2548
|
+
|
|
2549
|
+
|
|
2550
|
+
|
|
2551
|
+
|
|
2552
|
+
|
|
2553
|
+
|
|
2554
|
+
|
|
2555
|
+
|
|
2556
|
+
|
|
2557
|
+
<li class="md-nav__item">
|
|
2558
|
+
<a href="reference/tools.html" class="md-nav__link">
|
|
2559
|
+
|
|
2560
|
+
|
|
2561
|
+
|
|
2562
|
+
<span class="md-ellipsis">
|
|
2563
|
+
|
|
2564
|
+
|
|
2565
|
+
Tools
|
|
2566
|
+
|
|
2567
|
+
|
|
2568
|
+
|
|
2569
|
+
</span>
|
|
2570
|
+
|
|
2571
|
+
|
|
2572
|
+
|
|
2573
|
+
</a>
|
|
2574
|
+
</li>
|
|
2575
|
+
|
|
2576
|
+
|
|
2577
|
+
|
|
2578
|
+
|
|
2579
|
+
</ul>
|
|
2580
|
+
</nav>
|
|
2581
|
+
|
|
2582
|
+
</li>
|
|
2583
|
+
|
|
2584
|
+
|
|
2585
|
+
|
|
2586
|
+
|
|
2587
|
+
</ul>
|
|
2588
|
+
</nav>
|
|
2589
|
+
|
|
2590
|
+
</li>
|
|
2591
|
+
|
|
2592
|
+
|
|
2593
|
+
|
|
2594
|
+
|
|
2595
|
+
|
|
2596
|
+
|
|
2597
|
+
|
|
2598
|
+
|
|
2599
|
+
|
|
2600
|
+
|
|
2601
|
+
|
|
2602
|
+
|
|
2603
|
+
|
|
2604
|
+
|
|
2605
|
+
|
|
2606
|
+
|
|
2607
|
+
|
|
2608
|
+
|
|
2609
|
+
|
|
2610
|
+
|
|
2611
|
+
|
|
2612
|
+
|
|
2613
|
+
|
|
2614
|
+
|
|
2615
|
+
|
|
2616
|
+
|
|
2617
|
+
|
|
2618
|
+
|
|
2619
|
+
|
|
2620
|
+
|
|
2621
|
+
|
|
2622
|
+
|
|
2623
|
+
|
|
2624
|
+
|
|
2625
|
+
|
|
2626
|
+
|
|
2627
|
+
|
|
2628
|
+
|
|
2629
|
+
|
|
2630
|
+
|
|
2631
|
+
|
|
2632
|
+
|
|
2633
|
+
|
|
2634
|
+
|
|
2635
|
+
|
|
2636
|
+
|
|
2637
|
+
|
|
2638
|
+
|
|
2639
|
+
|
|
2640
|
+
|
|
2641
|
+
|
|
2642
|
+
|
|
2643
|
+
|
|
2644
|
+
|
|
2645
|
+
|
|
2646
|
+
|
|
2647
|
+
|
|
2648
|
+
|
|
2649
|
+
|
|
2650
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2651
|
+
|
|
2652
|
+
|
|
2653
|
+
|
|
2654
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
|
|
2655
|
+
|
|
2656
|
+
|
|
2657
|
+
<div class="md-nav__link md-nav__container">
|
|
2658
|
+
<a href="../plugins/index.html" class="md-nav__link ">
|
|
2659
|
+
|
|
2660
|
+
|
|
2661
|
+
|
|
2662
|
+
<span class="md-ellipsis">
|
|
2663
|
+
|
|
2664
|
+
|
|
2665
|
+
Plugins
|
|
2666
|
+
|
|
2667
|
+
|
|
2668
|
+
|
|
2669
|
+
</span>
|
|
2670
|
+
|
|
2671
|
+
|
|
2672
|
+
|
|
2673
|
+
</a>
|
|
2674
|
+
|
|
2675
|
+
|
|
2676
|
+
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
2677
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2678
|
+
</label>
|
|
2679
|
+
|
|
2680
|
+
</div>
|
|
2681
|
+
|
|
2682
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|
2683
|
+
<label class="md-nav__title" for="__nav_6">
|
|
2684
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2685
|
+
|
|
2686
|
+
|
|
2687
|
+
Plugins
|
|
2688
|
+
|
|
2689
|
+
|
|
2690
|
+
</label>
|
|
2691
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2692
|
+
|
|
2693
|
+
|
|
2694
|
+
|
|
2695
|
+
|
|
2696
|
+
|
|
2697
|
+
|
|
2698
|
+
|
|
2699
|
+
|
|
2700
|
+
|
|
2701
|
+
<li class="md-nav__item">
|
|
2702
|
+
<a href="../plugins/report-tests-pretty-stdout.html" class="md-nav__link">
|
|
2703
|
+
|
|
2704
|
+
|
|
2705
|
+
|
|
2706
|
+
<span class="md-ellipsis">
|
|
2707
|
+
|
|
2708
|
+
|
|
2709
|
+
Test Report — Pretty
|
|
2710
|
+
|
|
2711
|
+
|
|
2712
|
+
|
|
2713
|
+
</span>
|
|
2714
|
+
|
|
2715
|
+
|
|
2716
|
+
|
|
2717
|
+
</a>
|
|
2718
|
+
</li>
|
|
2719
|
+
|
|
2720
|
+
|
|
2721
|
+
|
|
2722
|
+
|
|
2723
|
+
|
|
2724
|
+
|
|
2725
|
+
|
|
2726
|
+
|
|
2727
|
+
|
|
2728
|
+
|
|
2729
|
+
<li class="md-nav__item">
|
|
2730
|
+
<a href="../plugins/report-tests-ide-stdout.html" class="md-nav__link">
|
|
2731
|
+
|
|
2732
|
+
|
|
2733
|
+
|
|
2734
|
+
<span class="md-ellipsis">
|
|
2735
|
+
|
|
2736
|
+
|
|
2737
|
+
Test Report — IDE
|
|
2738
|
+
|
|
2739
|
+
|
|
2740
|
+
|
|
2741
|
+
</span>
|
|
2742
|
+
|
|
2743
|
+
|
|
2744
|
+
|
|
2745
|
+
</a>
|
|
2746
|
+
</li>
|
|
2747
|
+
|
|
2748
|
+
|
|
2749
|
+
|
|
2750
|
+
|
|
2751
|
+
|
|
2752
|
+
|
|
2753
|
+
|
|
2754
|
+
|
|
2755
|
+
|
|
2756
|
+
|
|
2757
|
+
<li class="md-nav__item">
|
|
2758
|
+
<a href="../plugins/report-tests-gtestlike-stdout.html" class="md-nav__link">
|
|
2759
|
+
|
|
2760
|
+
|
|
2761
|
+
|
|
2762
|
+
<span class="md-ellipsis">
|
|
2763
|
+
|
|
2764
|
+
|
|
2765
|
+
Test Report — GTest-like
|
|
2766
|
+
|
|
2767
|
+
|
|
2768
|
+
|
|
2769
|
+
</span>
|
|
2770
|
+
|
|
2771
|
+
|
|
2772
|
+
|
|
2773
|
+
</a>
|
|
2774
|
+
</li>
|
|
2775
|
+
|
|
2776
|
+
|
|
2777
|
+
|
|
2778
|
+
|
|
2779
|
+
|
|
2780
|
+
|
|
2781
|
+
|
|
2782
|
+
|
|
2783
|
+
|
|
2784
|
+
|
|
2785
|
+
<li class="md-nav__item">
|
|
2786
|
+
<a href="../plugins/report-tests-teamcity-stdout.html" class="md-nav__link">
|
|
2787
|
+
|
|
2788
|
+
|
|
2789
|
+
|
|
2790
|
+
<span class="md-ellipsis">
|
|
2791
|
+
|
|
2792
|
+
|
|
2793
|
+
Test Report — TeamCity
|
|
2794
|
+
|
|
2795
|
+
|
|
2796
|
+
|
|
2797
|
+
</span>
|
|
2798
|
+
|
|
2799
|
+
|
|
2800
|
+
|
|
2801
|
+
</a>
|
|
2802
|
+
</li>
|
|
2803
|
+
|
|
2804
|
+
|
|
2805
|
+
|
|
2806
|
+
|
|
2807
|
+
|
|
2808
|
+
|
|
2809
|
+
|
|
2810
|
+
|
|
2811
|
+
|
|
2812
|
+
|
|
2813
|
+
<li class="md-nav__item">
|
|
2814
|
+
<a href="../plugins/report-tests-log-factory.html" class="md-nav__link">
|
|
2815
|
+
|
|
2816
|
+
|
|
2817
|
+
|
|
2818
|
+
<span class="md-ellipsis">
|
|
2819
|
+
|
|
2820
|
+
|
|
2821
|
+
Test Report Log Factory
|
|
2822
|
+
|
|
2823
|
+
|
|
2824
|
+
|
|
2825
|
+
</span>
|
|
2826
|
+
|
|
2827
|
+
|
|
2828
|
+
|
|
2829
|
+
</a>
|
|
2830
|
+
</li>
|
|
2831
|
+
|
|
2832
|
+
|
|
2833
|
+
|
|
2834
|
+
|
|
2835
|
+
|
|
2836
|
+
|
|
2837
|
+
|
|
2838
|
+
|
|
2839
|
+
|
|
2840
|
+
|
|
2841
|
+
<li class="md-nav__item">
|
|
2842
|
+
<a href="../plugins/report-tests-raw-output-log.html" class="md-nav__link">
|
|
2843
|
+
|
|
2844
|
+
|
|
2845
|
+
|
|
2846
|
+
<span class="md-ellipsis">
|
|
2847
|
+
|
|
2848
|
+
|
|
2849
|
+
Test Report — Raw Output
|
|
2850
|
+
|
|
2851
|
+
|
|
2852
|
+
|
|
2853
|
+
</span>
|
|
2854
|
+
|
|
2855
|
+
|
|
2856
|
+
|
|
2857
|
+
</a>
|
|
2858
|
+
</li>
|
|
2859
|
+
|
|
2860
|
+
|
|
2861
|
+
|
|
2862
|
+
|
|
2863
|
+
|
|
2864
|
+
|
|
2865
|
+
|
|
2866
|
+
|
|
2867
|
+
|
|
2868
|
+
|
|
2869
|
+
<li class="md-nav__item">
|
|
2870
|
+
<a href="../plugins/report-build-warnings-log.html" class="md-nav__link">
|
|
2871
|
+
|
|
2872
|
+
|
|
2873
|
+
|
|
2874
|
+
<span class="md-ellipsis">
|
|
2875
|
+
|
|
2876
|
+
|
|
2877
|
+
Build Warnings Log
|
|
2878
|
+
|
|
2879
|
+
|
|
2880
|
+
|
|
2881
|
+
</span>
|
|
2882
|
+
|
|
2883
|
+
|
|
2884
|
+
|
|
2885
|
+
</a>
|
|
2886
|
+
</li>
|
|
2887
|
+
|
|
2888
|
+
|
|
2889
|
+
|
|
2890
|
+
|
|
2891
|
+
|
|
2892
|
+
|
|
2893
|
+
|
|
2894
|
+
|
|
2895
|
+
|
|
2896
|
+
|
|
2897
|
+
|
|
2898
|
+
|
|
2899
|
+
|
|
2900
|
+
|
|
2901
|
+
|
|
2902
|
+
|
|
2903
|
+
|
|
2904
|
+
|
|
2905
|
+
|
|
2906
|
+
|
|
2907
|
+
|
|
2908
|
+
|
|
2909
|
+
|
|
2910
|
+
|
|
2911
|
+
|
|
2912
|
+
|
|
2913
|
+
|
|
2914
|
+
|
|
2915
|
+
|
|
2916
|
+
|
|
2917
|
+
|
|
2918
|
+
|
|
2919
|
+
|
|
2920
|
+
|
|
2921
|
+
|
|
2922
|
+
|
|
2923
|
+
|
|
2924
|
+
|
|
2925
|
+
|
|
2926
|
+
|
|
2927
|
+
|
|
2928
|
+
|
|
2929
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2930
|
+
|
|
2931
|
+
|
|
2932
|
+
|
|
2933
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_9" >
|
|
2934
|
+
|
|
2935
|
+
|
|
2936
|
+
<div class="md-nav__link md-nav__container">
|
|
2937
|
+
<a href="../plugins/gcov/index.html" class="md-nav__link ">
|
|
2938
|
+
|
|
2939
|
+
|
|
2940
|
+
|
|
2941
|
+
<span class="md-ellipsis">
|
|
2942
|
+
|
|
2943
|
+
|
|
2944
|
+
GCov (Coverage)
|
|
2945
|
+
|
|
2946
|
+
|
|
2947
|
+
|
|
2948
|
+
</span>
|
|
2949
|
+
|
|
2950
|
+
|
|
2951
|
+
|
|
2952
|
+
</a>
|
|
2953
|
+
|
|
2954
|
+
|
|
2955
|
+
<label class="md-nav__link " for="__nav_6_9" id="__nav_6_9_label" tabindex="0">
|
|
2956
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2957
|
+
</label>
|
|
2958
|
+
|
|
2959
|
+
</div>
|
|
2960
|
+
|
|
2961
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_9_label" aria-expanded="false">
|
|
2962
|
+
<label class="md-nav__title" for="__nav_6_9">
|
|
2963
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2964
|
+
|
|
2965
|
+
|
|
2966
|
+
GCov (Coverage)
|
|
2967
|
+
|
|
2968
|
+
|
|
2969
|
+
</label>
|
|
2970
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2971
|
+
|
|
2972
|
+
|
|
2973
|
+
|
|
2974
|
+
|
|
2975
|
+
|
|
2976
|
+
|
|
2977
|
+
|
|
2978
|
+
|
|
2979
|
+
|
|
2980
|
+
<li class="md-nav__item">
|
|
2981
|
+
<a href="../plugins/gcov/overview.html" class="md-nav__link">
|
|
2982
|
+
|
|
2983
|
+
|
|
2984
|
+
|
|
2985
|
+
<span class="md-ellipsis">
|
|
2986
|
+
|
|
2987
|
+
|
|
2988
|
+
Overview
|
|
2989
|
+
|
|
2990
|
+
|
|
2991
|
+
|
|
2992
|
+
</span>
|
|
2993
|
+
|
|
2994
|
+
|
|
2995
|
+
|
|
2996
|
+
</a>
|
|
2997
|
+
</li>
|
|
2998
|
+
|
|
2999
|
+
|
|
3000
|
+
|
|
3001
|
+
|
|
3002
|
+
|
|
3003
|
+
|
|
3004
|
+
|
|
3005
|
+
|
|
3006
|
+
|
|
3007
|
+
|
|
3008
|
+
<li class="md-nav__item">
|
|
3009
|
+
<a href="../plugins/gcov/tool-versions.html" class="md-nav__link">
|
|
3010
|
+
|
|
3011
|
+
|
|
3012
|
+
|
|
3013
|
+
<span class="md-ellipsis">
|
|
3014
|
+
|
|
3015
|
+
|
|
3016
|
+
Tool Versions
|
|
3017
|
+
|
|
3018
|
+
|
|
3019
|
+
|
|
3020
|
+
</span>
|
|
3021
|
+
|
|
3022
|
+
|
|
3023
|
+
|
|
3024
|
+
</a>
|
|
3025
|
+
</li>
|
|
3026
|
+
|
|
3027
|
+
|
|
3028
|
+
|
|
3029
|
+
|
|
3030
|
+
|
|
3031
|
+
|
|
3032
|
+
|
|
3033
|
+
|
|
3034
|
+
|
|
3035
|
+
|
|
3036
|
+
<li class="md-nav__item">
|
|
3037
|
+
<a href="../plugins/gcov/setup.html" class="md-nav__link">
|
|
3038
|
+
|
|
3039
|
+
|
|
3040
|
+
|
|
3041
|
+
<span class="md-ellipsis">
|
|
3042
|
+
|
|
3043
|
+
|
|
3044
|
+
Set Up & Configuration
|
|
3045
|
+
|
|
3046
|
+
|
|
3047
|
+
|
|
3048
|
+
</span>
|
|
3049
|
+
|
|
3050
|
+
|
|
3051
|
+
|
|
3052
|
+
</a>
|
|
3053
|
+
</li>
|
|
3054
|
+
|
|
3055
|
+
|
|
3056
|
+
|
|
3057
|
+
|
|
3058
|
+
|
|
3059
|
+
|
|
3060
|
+
|
|
3061
|
+
|
|
3062
|
+
|
|
3063
|
+
|
|
3064
|
+
<li class="md-nav__item">
|
|
3065
|
+
<a href="../plugins/gcov/examples.html" class="md-nav__link">
|
|
3066
|
+
|
|
3067
|
+
|
|
3068
|
+
|
|
3069
|
+
<span class="md-ellipsis">
|
|
3070
|
+
|
|
3071
|
+
|
|
3072
|
+
Example Usage
|
|
3073
|
+
|
|
3074
|
+
|
|
3075
|
+
|
|
3076
|
+
</span>
|
|
3077
|
+
|
|
3078
|
+
|
|
3079
|
+
|
|
3080
|
+
</a>
|
|
3081
|
+
</li>
|
|
3082
|
+
|
|
3083
|
+
|
|
3084
|
+
|
|
3085
|
+
|
|
3086
|
+
|
|
3087
|
+
|
|
3088
|
+
|
|
3089
|
+
|
|
3090
|
+
|
|
3091
|
+
|
|
3092
|
+
<li class="md-nav__item">
|
|
3093
|
+
<a href="../plugins/gcov/reporting.html" class="md-nav__link">
|
|
3094
|
+
|
|
3095
|
+
|
|
3096
|
+
|
|
3097
|
+
<span class="md-ellipsis">
|
|
3098
|
+
|
|
3099
|
+
|
|
3100
|
+
Reporting Configuration
|
|
3101
|
+
|
|
3102
|
+
|
|
3103
|
+
|
|
3104
|
+
</span>
|
|
3105
|
+
|
|
3106
|
+
|
|
3107
|
+
|
|
3108
|
+
</a>
|
|
3109
|
+
</li>
|
|
3110
|
+
|
|
3111
|
+
|
|
3112
|
+
|
|
3113
|
+
|
|
3114
|
+
|
|
3115
|
+
|
|
3116
|
+
|
|
3117
|
+
|
|
3118
|
+
|
|
3119
|
+
|
|
3120
|
+
<li class="md-nav__item">
|
|
3121
|
+
<a href="../plugins/gcov/gcovr.html" class="md-nav__link">
|
|
3122
|
+
|
|
3123
|
+
|
|
3124
|
+
|
|
3125
|
+
<span class="md-ellipsis">
|
|
3126
|
+
|
|
3127
|
+
|
|
3128
|
+
GCovr Configuration
|
|
3129
|
+
|
|
3130
|
+
|
|
3131
|
+
|
|
3132
|
+
</span>
|
|
3133
|
+
|
|
3134
|
+
|
|
3135
|
+
|
|
3136
|
+
</a>
|
|
3137
|
+
</li>
|
|
3138
|
+
|
|
3139
|
+
|
|
3140
|
+
|
|
3141
|
+
|
|
3142
|
+
|
|
3143
|
+
|
|
3144
|
+
|
|
3145
|
+
|
|
3146
|
+
|
|
3147
|
+
|
|
3148
|
+
<li class="md-nav__item">
|
|
3149
|
+
<a href="../plugins/gcov/reportgenerator.html" class="md-nav__link">
|
|
3150
|
+
|
|
3151
|
+
|
|
3152
|
+
|
|
3153
|
+
<span class="md-ellipsis">
|
|
3154
|
+
|
|
3155
|
+
|
|
3156
|
+
ReportGenerator Configuration
|
|
3157
|
+
|
|
3158
|
+
|
|
3159
|
+
|
|
3160
|
+
</span>
|
|
3161
|
+
|
|
3162
|
+
|
|
3163
|
+
|
|
3164
|
+
</a>
|
|
3165
|
+
</li>
|
|
3166
|
+
|
|
3167
|
+
|
|
3168
|
+
|
|
3169
|
+
|
|
3170
|
+
|
|
3171
|
+
|
|
3172
|
+
|
|
3173
|
+
|
|
3174
|
+
|
|
3175
|
+
|
|
3176
|
+
<li class="md-nav__item">
|
|
3177
|
+
<a href="../plugins/gcov/troubleshooting.html" class="md-nav__link">
|
|
3178
|
+
|
|
3179
|
+
|
|
3180
|
+
|
|
3181
|
+
<span class="md-ellipsis">
|
|
3182
|
+
|
|
3183
|
+
|
|
3184
|
+
Advanced & Troubleshooting
|
|
3185
|
+
|
|
3186
|
+
|
|
3187
|
+
|
|
3188
|
+
</span>
|
|
3189
|
+
|
|
3190
|
+
|
|
3191
|
+
|
|
3192
|
+
</a>
|
|
3193
|
+
</li>
|
|
3194
|
+
|
|
3195
|
+
|
|
3196
|
+
|
|
3197
|
+
|
|
3198
|
+
</ul>
|
|
3199
|
+
</nav>
|
|
3200
|
+
|
|
3201
|
+
</li>
|
|
3202
|
+
|
|
3203
|
+
|
|
3204
|
+
|
|
3205
|
+
|
|
3206
|
+
|
|
3207
|
+
|
|
3208
|
+
|
|
3209
|
+
|
|
3210
|
+
|
|
3211
|
+
|
|
3212
|
+
<li class="md-nav__item">
|
|
3213
|
+
<a href="../plugins/cppcheck.html" class="md-nav__link">
|
|
3214
|
+
|
|
3215
|
+
|
|
3216
|
+
|
|
3217
|
+
<span class="md-ellipsis">
|
|
3218
|
+
|
|
3219
|
+
|
|
3220
|
+
Cppcheck (Static Analysis)
|
|
3221
|
+
|
|
3222
|
+
|
|
3223
|
+
|
|
3224
|
+
</span>
|
|
3225
|
+
|
|
3226
|
+
|
|
3227
|
+
|
|
3228
|
+
</a>
|
|
3229
|
+
</li>
|
|
3230
|
+
|
|
3231
|
+
|
|
3232
|
+
|
|
3233
|
+
|
|
3234
|
+
|
|
3235
|
+
|
|
3236
|
+
|
|
3237
|
+
|
|
3238
|
+
|
|
3239
|
+
|
|
3240
|
+
<li class="md-nav__item">
|
|
3241
|
+
<a href="../plugins/valgrind.html" class="md-nav__link">
|
|
3242
|
+
|
|
3243
|
+
|
|
3244
|
+
|
|
3245
|
+
<span class="md-ellipsis">
|
|
3246
|
+
|
|
3247
|
+
|
|
3248
|
+
Valgrind (Memory Analysis)
|
|
3249
|
+
|
|
3250
|
+
|
|
3251
|
+
|
|
3252
|
+
</span>
|
|
3253
|
+
|
|
3254
|
+
|
|
3255
|
+
|
|
3256
|
+
</a>
|
|
3257
|
+
</li>
|
|
3258
|
+
|
|
3259
|
+
|
|
3260
|
+
|
|
3261
|
+
|
|
3262
|
+
|
|
3263
|
+
|
|
3264
|
+
|
|
3265
|
+
|
|
3266
|
+
|
|
3267
|
+
|
|
3268
|
+
<li class="md-nav__item">
|
|
3269
|
+
<a href="../plugins/bullseye.html" class="md-nav__link">
|
|
3270
|
+
|
|
3271
|
+
|
|
3272
|
+
|
|
3273
|
+
<span class="md-ellipsis">
|
|
3274
|
+
|
|
3275
|
+
|
|
3276
|
+
Bullseye (Coverage)
|
|
3277
|
+
|
|
3278
|
+
|
|
3279
|
+
|
|
3280
|
+
</span>
|
|
3281
|
+
|
|
3282
|
+
|
|
3283
|
+
|
|
3284
|
+
</a>
|
|
3285
|
+
</li>
|
|
3286
|
+
|
|
3287
|
+
|
|
3288
|
+
|
|
3289
|
+
|
|
3290
|
+
|
|
3291
|
+
|
|
3292
|
+
|
|
3293
|
+
|
|
3294
|
+
|
|
3295
|
+
|
|
3296
|
+
<li class="md-nav__item">
|
|
3297
|
+
<a href="../plugins/fff.html" class="md-nav__link">
|
|
3298
|
+
|
|
3299
|
+
|
|
3300
|
+
|
|
3301
|
+
<span class="md-ellipsis">
|
|
3302
|
+
|
|
3303
|
+
|
|
3304
|
+
FFF (Fake Functions)
|
|
3305
|
+
|
|
3306
|
+
|
|
3307
|
+
|
|
3308
|
+
</span>
|
|
3309
|
+
|
|
3310
|
+
|
|
3311
|
+
|
|
3312
|
+
</a>
|
|
3313
|
+
</li>
|
|
3314
|
+
|
|
3315
|
+
|
|
3316
|
+
|
|
3317
|
+
|
|
3318
|
+
|
|
3319
|
+
|
|
3320
|
+
|
|
3321
|
+
|
|
3322
|
+
|
|
3323
|
+
|
|
3324
|
+
<li class="md-nav__item">
|
|
3325
|
+
<a href="../plugins/command-hooks.html" class="md-nav__link">
|
|
3326
|
+
|
|
3327
|
+
|
|
3328
|
+
|
|
3329
|
+
<span class="md-ellipsis">
|
|
3330
|
+
|
|
3331
|
+
|
|
3332
|
+
Command Hooks
|
|
3333
|
+
|
|
3334
|
+
|
|
3335
|
+
|
|
3336
|
+
</span>
|
|
3337
|
+
|
|
3338
|
+
|
|
3339
|
+
|
|
3340
|
+
</a>
|
|
3341
|
+
</li>
|
|
3342
|
+
|
|
3343
|
+
|
|
3344
|
+
|
|
3345
|
+
|
|
3346
|
+
|
|
3347
|
+
|
|
3348
|
+
|
|
3349
|
+
|
|
3350
|
+
|
|
3351
|
+
|
|
3352
|
+
<li class="md-nav__item">
|
|
3353
|
+
<a href="../plugins/compile-commands-json-db.html" class="md-nav__link">
|
|
3354
|
+
|
|
3355
|
+
|
|
3356
|
+
|
|
3357
|
+
<span class="md-ellipsis">
|
|
3358
|
+
|
|
3359
|
+
|
|
3360
|
+
Compile Commands JSON DB
|
|
3361
|
+
|
|
3362
|
+
|
|
3363
|
+
|
|
3364
|
+
</span>
|
|
3365
|
+
|
|
3366
|
+
|
|
3367
|
+
|
|
3368
|
+
</a>
|
|
3369
|
+
</li>
|
|
3370
|
+
|
|
3371
|
+
|
|
3372
|
+
|
|
3373
|
+
|
|
3374
|
+
|
|
3375
|
+
|
|
3376
|
+
|
|
3377
|
+
|
|
3378
|
+
|
|
3379
|
+
|
|
3380
|
+
<li class="md-nav__item">
|
|
3381
|
+
<a href="../plugins/beep.html" class="md-nav__link">
|
|
3382
|
+
|
|
3383
|
+
|
|
3384
|
+
|
|
3385
|
+
<span class="md-ellipsis">
|
|
3386
|
+
|
|
3387
|
+
|
|
3388
|
+
Beep
|
|
3389
|
+
|
|
3390
|
+
|
|
3391
|
+
|
|
3392
|
+
</span>
|
|
3393
|
+
|
|
3394
|
+
|
|
3395
|
+
|
|
3396
|
+
</a>
|
|
3397
|
+
</li>
|
|
3398
|
+
|
|
3399
|
+
|
|
3400
|
+
|
|
3401
|
+
|
|
3402
|
+
|
|
3403
|
+
|
|
3404
|
+
|
|
3405
|
+
|
|
3406
|
+
|
|
3407
|
+
|
|
3408
|
+
<li class="md-nav__item">
|
|
3409
|
+
<a href="../plugins/module-generator.html" class="md-nav__link">
|
|
3410
|
+
|
|
3411
|
+
|
|
3412
|
+
|
|
3413
|
+
<span class="md-ellipsis">
|
|
3414
|
+
|
|
3415
|
+
|
|
3416
|
+
Module Generator
|
|
3417
|
+
|
|
3418
|
+
|
|
3419
|
+
|
|
3420
|
+
</span>
|
|
3421
|
+
|
|
3422
|
+
|
|
3423
|
+
|
|
3424
|
+
</a>
|
|
3425
|
+
</li>
|
|
3426
|
+
|
|
3427
|
+
|
|
3428
|
+
|
|
3429
|
+
|
|
3430
|
+
|
|
3431
|
+
|
|
3432
|
+
|
|
3433
|
+
|
|
3434
|
+
|
|
3435
|
+
|
|
3436
|
+
<li class="md-nav__item">
|
|
3437
|
+
<a href="../plugins/dependencies.html" class="md-nav__link">
|
|
3438
|
+
|
|
3439
|
+
|
|
3440
|
+
|
|
3441
|
+
<span class="md-ellipsis">
|
|
3442
|
+
|
|
3443
|
+
|
|
3444
|
+
Dependencies
|
|
3445
|
+
|
|
3446
|
+
|
|
3447
|
+
|
|
3448
|
+
</span>
|
|
3449
|
+
|
|
3450
|
+
|
|
3451
|
+
|
|
3452
|
+
</a>
|
|
3453
|
+
</li>
|
|
3454
|
+
|
|
3455
|
+
|
|
3456
|
+
|
|
3457
|
+
|
|
3458
|
+
</ul>
|
|
3459
|
+
</nav>
|
|
3460
|
+
|
|
3461
|
+
</li>
|
|
3462
|
+
|
|
3463
|
+
|
|
3464
|
+
|
|
3465
|
+
|
|
3466
|
+
|
|
3467
|
+
|
|
3468
|
+
|
|
3469
|
+
|
|
3470
|
+
|
|
3471
|
+
|
|
3472
|
+
|
|
3473
|
+
|
|
3474
|
+
|
|
3475
|
+
|
|
3476
|
+
|
|
3477
|
+
|
|
3478
|
+
|
|
3479
|
+
|
|
3480
|
+
|
|
3481
|
+
|
|
3482
|
+
|
|
3483
|
+
|
|
3484
|
+
|
|
3485
|
+
|
|
3486
|
+
|
|
3487
|
+
|
|
3488
|
+
|
|
3489
|
+
|
|
3490
|
+
|
|
3491
|
+
|
|
3492
|
+
|
|
3493
|
+
|
|
3494
|
+
|
|
3495
|
+
|
|
3496
|
+
|
|
3497
|
+
|
|
3498
|
+
|
|
3499
|
+
|
|
3500
|
+
|
|
3501
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
3502
|
+
|
|
3503
|
+
|
|
3504
|
+
|
|
3505
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
|
|
3506
|
+
|
|
3507
|
+
|
|
3508
|
+
<div class="md-nav__link md-nav__container">
|
|
3509
|
+
<a href="../reference/index.html" class="md-nav__link ">
|
|
3510
|
+
|
|
3511
|
+
|
|
3512
|
+
|
|
3513
|
+
<span class="md-ellipsis">
|
|
3514
|
+
|
|
3515
|
+
|
|
3516
|
+
Reference
|
|
3517
|
+
|
|
3518
|
+
|
|
3519
|
+
|
|
3520
|
+
</span>
|
|
3521
|
+
|
|
3522
|
+
|
|
3523
|
+
|
|
3524
|
+
</a>
|
|
3525
|
+
|
|
3526
|
+
|
|
3527
|
+
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
|
|
3528
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3529
|
+
</label>
|
|
3530
|
+
|
|
3531
|
+
</div>
|
|
3532
|
+
|
|
3533
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
|
|
3534
|
+
<label class="md-nav__title" for="__nav_7">
|
|
3535
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3536
|
+
|
|
3537
|
+
|
|
3538
|
+
Reference
|
|
3539
|
+
|
|
3540
|
+
|
|
3541
|
+
</label>
|
|
3542
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
3543
|
+
|
|
3544
|
+
|
|
3545
|
+
|
|
3546
|
+
|
|
3547
|
+
|
|
3548
|
+
|
|
3549
|
+
|
|
3550
|
+
|
|
3551
|
+
|
|
3552
|
+
<li class="md-nav__item">
|
|
3553
|
+
<a href="../reference/command-line.html" class="md-nav__link">
|
|
3554
|
+
|
|
3555
|
+
|
|
3556
|
+
|
|
3557
|
+
<span class="md-ellipsis">
|
|
3558
|
+
|
|
3559
|
+
|
|
3560
|
+
Command Line
|
|
3561
|
+
|
|
3562
|
+
|
|
3563
|
+
|
|
3564
|
+
</span>
|
|
3565
|
+
|
|
3566
|
+
|
|
3567
|
+
|
|
3568
|
+
</a>
|
|
3569
|
+
</li>
|
|
3570
|
+
|
|
3571
|
+
|
|
3572
|
+
|
|
3573
|
+
|
|
3574
|
+
|
|
3575
|
+
|
|
3576
|
+
|
|
3577
|
+
|
|
3578
|
+
|
|
3579
|
+
|
|
3580
|
+
<li class="md-nav__item">
|
|
3581
|
+
<a href="../reference/project-configuration.html" class="md-nav__link">
|
|
3582
|
+
|
|
3583
|
+
|
|
3584
|
+
|
|
3585
|
+
<span class="md-ellipsis">
|
|
3586
|
+
|
|
3587
|
+
|
|
3588
|
+
Project Configuration
|
|
3589
|
+
|
|
3590
|
+
|
|
3591
|
+
|
|
3592
|
+
</span>
|
|
3593
|
+
|
|
3594
|
+
|
|
3595
|
+
|
|
3596
|
+
</a>
|
|
3597
|
+
</li>
|
|
3598
|
+
|
|
3599
|
+
|
|
3600
|
+
|
|
3601
|
+
|
|
3602
|
+
|
|
3603
|
+
|
|
3604
|
+
|
|
3605
|
+
|
|
3606
|
+
|
|
3607
|
+
|
|
3608
|
+
<li class="md-nav__item">
|
|
3609
|
+
<a href="../reference/build-directives.html" class="md-nav__link">
|
|
3610
|
+
|
|
3611
|
+
|
|
3612
|
+
|
|
3613
|
+
<span class="md-ellipsis">
|
|
3614
|
+
|
|
3615
|
+
|
|
3616
|
+
Test Build Directives
|
|
3617
|
+
|
|
3618
|
+
|
|
3619
|
+
|
|
3620
|
+
</span>
|
|
3621
|
+
|
|
3622
|
+
|
|
3623
|
+
|
|
3624
|
+
</a>
|
|
3625
|
+
</li>
|
|
3626
|
+
|
|
3627
|
+
|
|
3628
|
+
|
|
3629
|
+
|
|
3630
|
+
|
|
3631
|
+
|
|
3632
|
+
|
|
3633
|
+
|
|
3634
|
+
|
|
3635
|
+
|
|
3636
|
+
<li class="md-nav__item">
|
|
3637
|
+
<a href="../reference/partials-macros.html" class="md-nav__link">
|
|
3638
|
+
|
|
3639
|
+
|
|
3640
|
+
|
|
3641
|
+
<span class="md-ellipsis">
|
|
3642
|
+
|
|
3643
|
+
|
|
3644
|
+
Partials Macros
|
|
3645
|
+
|
|
3646
|
+
|
|
3647
|
+
|
|
3648
|
+
</span>
|
|
3649
|
+
|
|
3650
|
+
|
|
3651
|
+
|
|
3652
|
+
</a>
|
|
3653
|
+
</li>
|
|
3654
|
+
|
|
3655
|
+
|
|
3656
|
+
|
|
3657
|
+
|
|
3658
|
+
|
|
3659
|
+
|
|
3660
|
+
|
|
3661
|
+
|
|
3662
|
+
|
|
3663
|
+
|
|
3664
|
+
<li class="md-nav__item">
|
|
3665
|
+
<a href="../reference/environment-vars.html" class="md-nav__link">
|
|
3666
|
+
|
|
3667
|
+
|
|
3668
|
+
|
|
3669
|
+
<span class="md-ellipsis">
|
|
3670
|
+
|
|
3671
|
+
|
|
3672
|
+
Environment Variables
|
|
3673
|
+
|
|
3674
|
+
|
|
3675
|
+
|
|
3676
|
+
</span>
|
|
3677
|
+
|
|
3678
|
+
|
|
3679
|
+
|
|
3680
|
+
</a>
|
|
3681
|
+
</li>
|
|
3682
|
+
|
|
3683
|
+
|
|
3684
|
+
|
|
3685
|
+
|
|
3686
|
+
|
|
3687
|
+
|
|
3688
|
+
|
|
3689
|
+
|
|
3690
|
+
|
|
3691
|
+
|
|
3692
|
+
<li class="md-nav__item">
|
|
3693
|
+
<a href="../reference/gcov-plugin.html" class="md-nav__link">
|
|
3694
|
+
|
|
3695
|
+
|
|
3696
|
+
|
|
3697
|
+
<span class="md-ellipsis">
|
|
3698
|
+
|
|
3699
|
+
|
|
3700
|
+
Coverage Reporting
|
|
3701
|
+
|
|
3702
|
+
|
|
3703
|
+
|
|
3704
|
+
</span>
|
|
3705
|
+
|
|
3706
|
+
|
|
3707
|
+
|
|
3708
|
+
</a>
|
|
3709
|
+
</li>
|
|
3710
|
+
|
|
3711
|
+
|
|
3712
|
+
|
|
3713
|
+
|
|
3714
|
+
|
|
3715
|
+
|
|
3716
|
+
|
|
3717
|
+
|
|
3718
|
+
|
|
3719
|
+
|
|
3720
|
+
<li class="md-nav__item">
|
|
3721
|
+
<a href="../reference/global-collections.html" class="md-nav__link">
|
|
3722
|
+
|
|
3723
|
+
|
|
3724
|
+
|
|
3725
|
+
<span class="md-ellipsis">
|
|
3726
|
+
|
|
3727
|
+
|
|
3728
|
+
Global Collections
|
|
3729
|
+
|
|
3730
|
+
|
|
3731
|
+
|
|
3732
|
+
</span>
|
|
3733
|
+
|
|
3734
|
+
|
|
3735
|
+
|
|
3736
|
+
</a>
|
|
3737
|
+
</li>
|
|
3738
|
+
|
|
3739
|
+
|
|
3740
|
+
|
|
3741
|
+
|
|
3742
|
+
</ul>
|
|
3743
|
+
</nav>
|
|
3744
|
+
|
|
3745
|
+
</li>
|
|
3746
|
+
|
|
3747
|
+
|
|
3748
|
+
|
|
3749
|
+
|
|
3750
|
+
|
|
3751
|
+
|
|
3752
|
+
|
|
3753
|
+
|
|
3754
|
+
|
|
3755
|
+
|
|
3756
|
+
|
|
3757
|
+
|
|
3758
|
+
|
|
3759
|
+
|
|
3760
|
+
|
|
3761
|
+
|
|
3762
|
+
|
|
3763
|
+
|
|
3764
|
+
|
|
3765
|
+
|
|
3766
|
+
|
|
3767
|
+
|
|
3768
|
+
|
|
3769
|
+
|
|
3770
|
+
|
|
3771
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
3772
|
+
|
|
3773
|
+
|
|
3774
|
+
|
|
3775
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
3776
|
+
|
|
3777
|
+
|
|
3778
|
+
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
3779
|
+
|
|
3780
|
+
|
|
3781
|
+
|
|
3782
|
+
<span class="md-ellipsis">
|
|
3783
|
+
|
|
3784
|
+
|
|
3785
|
+
Releases
|
|
3786
|
+
|
|
3787
|
+
|
|
3788
|
+
|
|
3789
|
+
</span>
|
|
3790
|
+
|
|
3791
|
+
|
|
3792
|
+
|
|
3793
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3794
|
+
</label>
|
|
3795
|
+
|
|
3796
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
3797
|
+
<label class="md-nav__title" for="__nav_8">
|
|
3798
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3799
|
+
|
|
3800
|
+
|
|
3801
|
+
Releases
|
|
3802
|
+
|
|
3803
|
+
|
|
3804
|
+
</label>
|
|
3805
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
3806
|
+
|
|
3807
|
+
|
|
3808
|
+
|
|
3809
|
+
|
|
3810
|
+
|
|
3811
|
+
|
|
3812
|
+
|
|
3813
|
+
<li class="md-nav__item">
|
|
3814
|
+
<a href="../project/release-history.html" class="md-nav__link">
|
|
3815
|
+
|
|
3816
|
+
|
|
3817
|
+
|
|
3818
|
+
<span class="md-ellipsis">
|
|
3819
|
+
|
|
3820
|
+
|
|
3821
|
+
History Documents
|
|
3822
|
+
|
|
3823
|
+
|
|
3824
|
+
|
|
3825
|
+
</span>
|
|
3826
|
+
|
|
3827
|
+
|
|
3828
|
+
|
|
3829
|
+
</a>
|
|
3830
|
+
</li>
|
|
3831
|
+
|
|
3832
|
+
|
|
3833
|
+
|
|
3834
|
+
|
|
3835
|
+
|
|
3836
|
+
|
|
3837
|
+
|
|
3838
|
+
|
|
3839
|
+
|
|
3840
|
+
|
|
3841
|
+
<li class="md-nav__item">
|
|
3842
|
+
<a href="../project/upgrade.html" class="md-nav__link">
|
|
3843
|
+
|
|
3844
|
+
|
|
3845
|
+
|
|
3846
|
+
<span class="md-ellipsis">
|
|
3847
|
+
|
|
3848
|
+
|
|
3849
|
+
Upgrading
|
|
3850
|
+
|
|
3851
|
+
|
|
3852
|
+
|
|
3853
|
+
</span>
|
|
3854
|
+
|
|
3855
|
+
|
|
3856
|
+
|
|
3857
|
+
</a>
|
|
3858
|
+
</li>
|
|
3859
|
+
|
|
3860
|
+
|
|
3861
|
+
|
|
3862
|
+
|
|
3863
|
+
</ul>
|
|
3864
|
+
</nav>
|
|
3865
|
+
|
|
3866
|
+
</li>
|
|
3867
|
+
|
|
3868
|
+
|
|
3869
|
+
|
|
3870
|
+
|
|
3871
|
+
|
|
3872
|
+
|
|
3873
|
+
|
|
3874
|
+
|
|
3875
|
+
|
|
3876
|
+
<li class="md-nav__item">
|
|
3877
|
+
<a href="../help.html" class="md-nav__link">
|
|
3878
|
+
|
|
3879
|
+
|
|
3880
|
+
|
|
3881
|
+
<span class="md-ellipsis">
|
|
3882
|
+
|
|
3883
|
+
|
|
3884
|
+
Help
|
|
3885
|
+
|
|
3886
|
+
|
|
3887
|
+
|
|
3888
|
+
</span>
|
|
3889
|
+
|
|
3890
|
+
|
|
3891
|
+
|
|
3892
|
+
</a>
|
|
3893
|
+
</li>
|
|
3894
|
+
|
|
3895
|
+
|
|
3896
|
+
|
|
3897
|
+
|
|
3898
|
+
|
|
3899
|
+
|
|
3900
|
+
|
|
3901
|
+
|
|
3902
|
+
|
|
3903
|
+
|
|
3904
|
+
|
|
3905
|
+
|
|
3906
|
+
|
|
3907
|
+
|
|
3908
|
+
|
|
3909
|
+
|
|
3910
|
+
|
|
3911
|
+
|
|
3912
|
+
|
|
3913
|
+
|
|
3914
|
+
|
|
3915
|
+
|
|
3916
|
+
|
|
3917
|
+
|
|
3918
|
+
|
|
3919
|
+
|
|
3920
|
+
|
|
3921
|
+
|
|
3922
|
+
|
|
3923
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
3924
|
+
|
|
3925
|
+
|
|
3926
|
+
|
|
3927
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
|
|
3928
|
+
|
|
3929
|
+
|
|
3930
|
+
<div class="md-nav__link md-nav__container">
|
|
3931
|
+
<a href="../development/index.html" class="md-nav__link ">
|
|
3932
|
+
|
|
3933
|
+
|
|
3934
|
+
|
|
3935
|
+
<span class="md-ellipsis">
|
|
3936
|
+
|
|
3937
|
+
|
|
3938
|
+
Development
|
|
3939
|
+
|
|
3940
|
+
|
|
3941
|
+
|
|
3942
|
+
</span>
|
|
3943
|
+
|
|
3944
|
+
|
|
3945
|
+
|
|
3946
|
+
</a>
|
|
3947
|
+
|
|
3948
|
+
|
|
3949
|
+
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
|
|
3950
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3951
|
+
</label>
|
|
3952
|
+
|
|
3953
|
+
</div>
|
|
3954
|
+
|
|
3955
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
|
|
3956
|
+
<label class="md-nav__title" for="__nav_10">
|
|
3957
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3958
|
+
|
|
3959
|
+
|
|
3960
|
+
Development
|
|
3961
|
+
|
|
3962
|
+
|
|
3963
|
+
</label>
|
|
3964
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
3965
|
+
|
|
3966
|
+
|
|
3967
|
+
|
|
3968
|
+
|
|
3969
|
+
|
|
3970
|
+
|
|
3971
|
+
|
|
3972
|
+
|
|
3973
|
+
|
|
3974
|
+
<li class="md-nav__item">
|
|
3975
|
+
<a href="../development/workflow.html" class="md-nav__link">
|
|
3976
|
+
|
|
3977
|
+
|
|
3978
|
+
|
|
3979
|
+
<span class="md-ellipsis">
|
|
3980
|
+
|
|
3981
|
+
|
|
3982
|
+
Development Workflow
|
|
3983
|
+
|
|
3984
|
+
|
|
3985
|
+
|
|
3986
|
+
</span>
|
|
3987
|
+
|
|
3988
|
+
|
|
3989
|
+
|
|
3990
|
+
</a>
|
|
3991
|
+
</li>
|
|
3992
|
+
|
|
3993
|
+
|
|
3994
|
+
|
|
3995
|
+
|
|
3996
|
+
|
|
3997
|
+
|
|
3998
|
+
|
|
3999
|
+
|
|
4000
|
+
|
|
4001
|
+
|
|
4002
|
+
|
|
4003
|
+
|
|
4004
|
+
|
|
4005
|
+
|
|
4006
|
+
|
|
4007
|
+
|
|
4008
|
+
|
|
4009
|
+
|
|
4010
|
+
|
|
4011
|
+
|
|
4012
|
+
|
|
4013
|
+
|
|
4014
|
+
|
|
4015
|
+
|
|
4016
|
+
|
|
4017
|
+
|
|
4018
|
+
|
|
4019
|
+
|
|
4020
|
+
|
|
4021
|
+
|
|
4022
|
+
|
|
4023
|
+
|
|
4024
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
4025
|
+
|
|
4026
|
+
|
|
4027
|
+
|
|
4028
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_3" >
|
|
4029
|
+
|
|
4030
|
+
|
|
4031
|
+
<div class="md-nav__link md-nav__container">
|
|
4032
|
+
<a href="../development/plugins/index.html" class="md-nav__link ">
|
|
4033
|
+
|
|
4034
|
+
|
|
4035
|
+
|
|
4036
|
+
<span class="md-ellipsis">
|
|
4037
|
+
|
|
4038
|
+
|
|
4039
|
+
Plugin Development
|
|
4040
|
+
|
|
4041
|
+
|
|
4042
|
+
|
|
4043
|
+
</span>
|
|
4044
|
+
|
|
4045
|
+
|
|
4046
|
+
|
|
4047
|
+
</a>
|
|
4048
|
+
|
|
4049
|
+
|
|
4050
|
+
<label class="md-nav__link " for="__nav_10_3" id="__nav_10_3_label" tabindex="0">
|
|
4051
|
+
<span class="md-nav__icon md-icon"></span>
|
|
4052
|
+
</label>
|
|
4053
|
+
|
|
4054
|
+
</div>
|
|
4055
|
+
|
|
4056
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_3_label" aria-expanded="false">
|
|
4057
|
+
<label class="md-nav__title" for="__nav_10_3">
|
|
4058
|
+
<span class="md-nav__icon md-icon"></span>
|
|
4059
|
+
|
|
4060
|
+
|
|
4061
|
+
Plugin Development
|
|
4062
|
+
|
|
4063
|
+
|
|
4064
|
+
</label>
|
|
4065
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
4066
|
+
|
|
4067
|
+
|
|
4068
|
+
|
|
4069
|
+
|
|
4070
|
+
|
|
4071
|
+
|
|
4072
|
+
|
|
4073
|
+
|
|
4074
|
+
|
|
4075
|
+
<li class="md-nav__item">
|
|
4076
|
+
<a href="../development/plugins/configuration.html" class="md-nav__link">
|
|
4077
|
+
|
|
4078
|
+
|
|
4079
|
+
|
|
4080
|
+
<span class="md-ellipsis">
|
|
4081
|
+
|
|
4082
|
+
|
|
4083
|
+
Configuration Plugin
|
|
4084
|
+
|
|
4085
|
+
|
|
4086
|
+
|
|
4087
|
+
</span>
|
|
4088
|
+
|
|
4089
|
+
|
|
4090
|
+
|
|
4091
|
+
</a>
|
|
4092
|
+
</li>
|
|
4093
|
+
|
|
4094
|
+
|
|
4095
|
+
|
|
4096
|
+
|
|
4097
|
+
|
|
4098
|
+
|
|
4099
|
+
|
|
4100
|
+
|
|
4101
|
+
|
|
4102
|
+
|
|
4103
|
+
<li class="md-nav__item">
|
|
4104
|
+
<a href="../development/plugins/plugin-subclass.html" class="md-nav__link">
|
|
4105
|
+
|
|
4106
|
+
|
|
4107
|
+
|
|
4108
|
+
<span class="md-ellipsis">
|
|
4109
|
+
|
|
4110
|
+
|
|
4111
|
+
Plugin Subclass
|
|
4112
|
+
|
|
4113
|
+
|
|
4114
|
+
|
|
4115
|
+
</span>
|
|
4116
|
+
|
|
4117
|
+
|
|
4118
|
+
|
|
4119
|
+
</a>
|
|
4120
|
+
</li>
|
|
4121
|
+
|
|
4122
|
+
|
|
4123
|
+
|
|
4124
|
+
|
|
4125
|
+
|
|
4126
|
+
|
|
4127
|
+
|
|
4128
|
+
|
|
4129
|
+
|
|
4130
|
+
|
|
4131
|
+
<li class="md-nav__item">
|
|
4132
|
+
<a href="../development/plugins/rake-tasks.html" class="md-nav__link">
|
|
4133
|
+
|
|
4134
|
+
|
|
4135
|
+
|
|
4136
|
+
<span class="md-ellipsis">
|
|
4137
|
+
|
|
4138
|
+
|
|
4139
|
+
Rake Task Plugin
|
|
4140
|
+
|
|
4141
|
+
|
|
4142
|
+
|
|
4143
|
+
</span>
|
|
4144
|
+
|
|
4145
|
+
|
|
4146
|
+
|
|
4147
|
+
</a>
|
|
4148
|
+
</li>
|
|
4149
|
+
|
|
4150
|
+
|
|
4151
|
+
|
|
4152
|
+
|
|
4153
|
+
</ul>
|
|
4154
|
+
</nav>
|
|
4155
|
+
|
|
4156
|
+
</li>
|
|
4157
|
+
|
|
4158
|
+
|
|
4159
|
+
|
|
4160
|
+
|
|
4161
|
+
</ul>
|
|
4162
|
+
</nav>
|
|
4163
|
+
|
|
4164
|
+
</li>
|
|
4165
|
+
|
|
4166
|
+
|
|
4167
|
+
|
|
4168
|
+
</ul>
|
|
4169
|
+
</nav>
|
|
4170
|
+
</div>
|
|
4171
|
+
</div>
|
|
4172
|
+
</div>
|
|
4173
|
+
|
|
4174
|
+
|
|
4175
|
+
|
|
4176
|
+
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
4177
|
+
<div class="md-sidebar__scrollwrap">
|
|
4178
|
+
<div class="md-sidebar__inner">
|
|
4179
|
+
|
|
4180
|
+
|
|
4181
|
+
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
4182
|
+
|
|
4183
|
+
|
|
4184
|
+
|
|
4185
|
+
|
|
4186
|
+
|
|
4187
|
+
|
|
4188
|
+
<label class="md-nav__title" for="__toc">
|
|
4189
|
+
<span class="md-nav__icon md-icon"></span>
|
|
4190
|
+
Table of contents
|
|
4191
|
+
</label>
|
|
4192
|
+
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
4193
|
+
|
|
4194
|
+
<li class="md-nav__item">
|
|
4195
|
+
<a href="#designing-for-mixins-merge-rules" class="md-nav__link">
|
|
4196
|
+
<span class="md-ellipsis">
|
|
4197
|
+
|
|
4198
|
+
Designing for Mixins merge rules
|
|
4199
|
+
|
|
4200
|
+
</span>
|
|
4201
|
+
</a>
|
|
4202
|
+
|
|
4203
|
+
<nav class="md-nav" aria-label="Designing for Mixins merge rules">
|
|
4204
|
+
<ul class="md-nav__list">
|
|
4205
|
+
|
|
4206
|
+
<li class="md-nav__item">
|
|
4207
|
+
<a href="#additive-mixin-merges" class="md-nav__link">
|
|
4208
|
+
<span class="md-ellipsis">
|
|
4209
|
+
|
|
4210
|
+
Additive Mixin merges
|
|
4211
|
+
|
|
4212
|
+
</span>
|
|
4213
|
+
</a>
|
|
4214
|
+
|
|
4215
|
+
</li>
|
|
4216
|
+
|
|
4217
|
+
<li class="md-nav__item">
|
|
4218
|
+
<a href="#mixins-deep-merge-rules" class="md-nav__link">
|
|
4219
|
+
<span class="md-ellipsis">
|
|
4220
|
+
|
|
4221
|
+
Mixins deep merge rules
|
|
4222
|
+
|
|
4223
|
+
</span>
|
|
4224
|
+
</a>
|
|
4225
|
+
|
|
4226
|
+
</li>
|
|
4227
|
+
|
|
4228
|
+
</ul>
|
|
4229
|
+
</nav>
|
|
4230
|
+
|
|
4231
|
+
</li>
|
|
4232
|
+
|
|
4233
|
+
<li class="md-nav__item">
|
|
4234
|
+
<a href="#mixins-example" class="md-nav__link">
|
|
4235
|
+
<span class="md-ellipsis">
|
|
4236
|
+
|
|
4237
|
+
Mixins Example
|
|
4238
|
+
|
|
4239
|
+
</span>
|
|
4240
|
+
</a>
|
|
4241
|
+
|
|
4242
|
+
<nav class="md-nav" aria-label="Mixins Example">
|
|
4243
|
+
<ul class="md-nav__list">
|
|
4244
|
+
|
|
4245
|
+
<li class="md-nav__item">
|
|
4246
|
+
<a href="#our-example-scenario" class="md-nav__link">
|
|
4247
|
+
<span class="md-ellipsis">
|
|
4248
|
+
|
|
4249
|
+
Our Example Scenario
|
|
4250
|
+
|
|
4251
|
+
</span>
|
|
4252
|
+
</a>
|
|
4253
|
+
|
|
4254
|
+
</li>
|
|
4255
|
+
|
|
4256
|
+
<li class="md-nav__item">
|
|
4257
|
+
<a href="#example-environment-variable" class="md-nav__link">
|
|
4258
|
+
<span class="md-ellipsis">
|
|
4259
|
+
|
|
4260
|
+
Example environment variable
|
|
4261
|
+
|
|
4262
|
+
</span>
|
|
4263
|
+
</a>
|
|
4264
|
+
|
|
4265
|
+
</li>
|
|
4266
|
+
|
|
4267
|
+
<li class="md-nav__item">
|
|
4268
|
+
<a href="#example-command-line" class="md-nav__link">
|
|
4269
|
+
<span class="md-ellipsis">
|
|
4270
|
+
|
|
4271
|
+
Example command line
|
|
4272
|
+
|
|
4273
|
+
</span>
|
|
4274
|
+
</a>
|
|
4275
|
+
|
|
4276
|
+
</li>
|
|
4277
|
+
|
|
4278
|
+
<li class="md-nav__item">
|
|
4279
|
+
<a href="#example-configuration-files" class="md-nav__link">
|
|
4280
|
+
<span class="md-ellipsis">
|
|
4281
|
+
|
|
4282
|
+
Example Configuration files
|
|
4283
|
+
|
|
4284
|
+
</span>
|
|
4285
|
+
</a>
|
|
4286
|
+
|
|
4287
|
+
</li>
|
|
4288
|
+
|
|
4289
|
+
<li class="md-nav__item">
|
|
4290
|
+
<a href="#example-resulting-configuration" class="md-nav__link">
|
|
4291
|
+
<span class="md-ellipsis">
|
|
4292
|
+
|
|
4293
|
+
Example resulting configuration
|
|
4294
|
+
|
|
4295
|
+
</span>
|
|
4296
|
+
</a>
|
|
4297
|
+
|
|
4298
|
+
</li>
|
|
4299
|
+
|
|
4300
|
+
</ul>
|
|
4301
|
+
</nav>
|
|
4302
|
+
|
|
4303
|
+
</li>
|
|
4304
|
+
|
|
4305
|
+
<li class="md-nav__item">
|
|
4306
|
+
<a href="#options-for-loading-mixins" class="md-nav__link">
|
|
4307
|
+
<span class="md-ellipsis">
|
|
4308
|
+
|
|
4309
|
+
Options for loading Mixins
|
|
4310
|
+
|
|
4311
|
+
</span>
|
|
4312
|
+
</a>
|
|
4313
|
+
|
|
4314
|
+
<nav class="md-nav" aria-label="Options for loading Mixins">
|
|
4315
|
+
<ul class="md-nav__list">
|
|
4316
|
+
|
|
4317
|
+
<li class="md-nav__item">
|
|
4318
|
+
<a href="#-mixin-command-line-flags" class="md-nav__link">
|
|
4319
|
+
<span class="md-ellipsis">
|
|
4320
|
+
|
|
4321
|
+
--mixin command line flags
|
|
4322
|
+
|
|
4323
|
+
</span>
|
|
4324
|
+
</a>
|
|
4325
|
+
|
|
4326
|
+
</li>
|
|
4327
|
+
|
|
4328
|
+
<li class="md-nav__item">
|
|
4329
|
+
<a href="#environment-variables" class="md-nav__link">
|
|
4330
|
+
<span class="md-ellipsis">
|
|
4331
|
+
|
|
4332
|
+
Environment variables
|
|
4333
|
+
|
|
4334
|
+
</span>
|
|
4335
|
+
</a>
|
|
4336
|
+
|
|
4337
|
+
</li>
|
|
4338
|
+
|
|
4339
|
+
<li class="md-nav__item">
|
|
4340
|
+
<a href="#base-configuration-mixins-entries" class="md-nav__link">
|
|
4341
|
+
<span class="md-ellipsis">
|
|
4342
|
+
|
|
4343
|
+
Base configuration :mixins entries
|
|
4344
|
+
|
|
4345
|
+
</span>
|
|
4346
|
+
</a>
|
|
4347
|
+
|
|
4348
|
+
</li>
|
|
4349
|
+
|
|
4350
|
+
</ul>
|
|
4351
|
+
</nav>
|
|
4352
|
+
|
|
4353
|
+
</li>
|
|
4354
|
+
|
|
4355
|
+
<li class="md-nav__item">
|
|
4356
|
+
<a href="#built-in-toolchain-targets" class="md-nav__link">
|
|
4357
|
+
<span class="md-ellipsis">
|
|
4358
|
+
|
|
4359
|
+
Built-in toolchain targets
|
|
4360
|
+
|
|
4361
|
+
</span>
|
|
4362
|
+
</a>
|
|
4363
|
+
|
|
4364
|
+
<nav class="md-nav" aria-label="Built-in toolchain targets">
|
|
4365
|
+
<ul class="md-nav__list">
|
|
4366
|
+
|
|
4367
|
+
<li class="md-nav__item">
|
|
4368
|
+
<a href="#available-built-in-targets" class="md-nav__link">
|
|
4369
|
+
<span class="md-ellipsis">
|
|
4370
|
+
|
|
4371
|
+
Available built-in targets
|
|
4372
|
+
|
|
4373
|
+
</span>
|
|
4374
|
+
</a>
|
|
4375
|
+
|
|
4376
|
+
</li>
|
|
4377
|
+
|
|
4378
|
+
<li class="md-nav__item">
|
|
4379
|
+
<a href="#using-a-built-in-target-as-a-starting-point" class="md-nav__link">
|
|
4380
|
+
<span class="md-ellipsis">
|
|
4381
|
+
|
|
4382
|
+
Using a built-in target as a starting point
|
|
4383
|
+
|
|
4384
|
+
</span>
|
|
4385
|
+
</a>
|
|
4386
|
+
|
|
4387
|
+
</li>
|
|
4388
|
+
|
|
4389
|
+
</ul>
|
|
4390
|
+
</nav>
|
|
4391
|
+
|
|
4392
|
+
</li>
|
|
4393
|
+
|
|
4394
|
+
</ul>
|
|
4395
|
+
|
|
4396
|
+
</nav>
|
|
4397
|
+
</div>
|
|
4398
|
+
</div>
|
|
4399
|
+
</div>
|
|
4400
|
+
|
|
4401
|
+
|
|
4402
|
+
|
|
4403
|
+
<div class="md-content" data-md-component="content">
|
|
4404
|
+
|
|
4405
|
+
|
|
4406
|
+
|
|
4407
|
+
|
|
4408
|
+
|
|
4409
|
+
|
|
4410
|
+
|
|
4411
|
+
|
|
4412
|
+
<nav class="md-path" aria-label="Navigation" >
|
|
4413
|
+
<ol class="md-path__list">
|
|
4414
|
+
|
|
4415
|
+
|
|
4416
|
+
|
|
4417
|
+
|
|
4418
|
+
<li class="md-path__item">
|
|
4419
|
+
<a href="../index.html" class="md-path__link">
|
|
4420
|
+
|
|
4421
|
+
<span class="md-ellipsis">
|
|
4422
|
+
Home
|
|
4423
|
+
</span>
|
|
4424
|
+
|
|
4425
|
+
</a>
|
|
4426
|
+
</li>
|
|
4427
|
+
|
|
4428
|
+
|
|
4429
|
+
|
|
4430
|
+
|
|
4431
|
+
|
|
4432
|
+
|
|
4433
|
+
|
|
4434
|
+
|
|
4435
|
+
|
|
4436
|
+
<li class="md-path__item">
|
|
4437
|
+
<a href="index.html" class="md-path__link">
|
|
4438
|
+
|
|
4439
|
+
<span class="md-ellipsis">
|
|
4440
|
+
Configuration
|
|
4441
|
+
</span>
|
|
4442
|
+
|
|
4443
|
+
</a>
|
|
4444
|
+
</li>
|
|
4445
|
+
|
|
4446
|
+
|
|
4447
|
+
|
|
4448
|
+
|
|
4449
|
+
</ol>
|
|
4450
|
+
</nav>
|
|
4451
|
+
|
|
4452
|
+
|
|
4453
|
+
<article class="md-content__inner md-typeset">
|
|
4454
|
+
|
|
4455
|
+
|
|
4456
|
+
|
|
4457
|
+
|
|
4458
|
+
|
|
4459
|
+
|
|
4460
|
+
|
|
4461
|
+
|
|
4462
|
+
<h1 id="mixins">Mixins</h1>
|
|
4463
|
+
<p>Once you have a <a href="loading.html">base configuration loaded</a>, you may want to
|
|
4464
|
+
modify it for any number of reasons. Some example scenarios:</p>
|
|
4465
|
+
<ul>
|
|
4466
|
+
<li>A single project actually contains mutiple build variations. You would
|
|
4467
|
+
like to maintain a common configuration that is shared among build
|
|
4468
|
+
variations with each build variation’s differences maintained separately.</li>
|
|
4469
|
+
<li>Your repository contains the configuration needed by your Continuous
|
|
4470
|
+
Integration server setup, but this is not fun to run locally. You would
|
|
4471
|
+
like to modify the configuration locally with configuration details
|
|
4472
|
+
maintained by you external to your locally cloned repository.</li>
|
|
4473
|
+
<li>Ceedling’s default <code>gcc</code> tools do not work for your project needs. You
|
|
4474
|
+
would like the complex tooling configurations you most often need to
|
|
4475
|
+
be maintained separately and shared among projects. Ceedling includes
|
|
4476
|
+
a collection of ready-made toolchain target mixins (e.g. <code>clang</code>,
|
|
4477
|
+
<code>iar_arm</code>) that can be selected by name without any extra
|
|
4478
|
+
configuration — see <a href="#built-in-toolchain-targets">Built-in toolchain targets</a>.</li>
|
|
4479
|
+
</ul>
|
|
4480
|
+
<p>Mixins allow you to merge configuration with your project configuration
|
|
4481
|
+
just after the base project file is loaded. The merge is so low-level
|
|
4482
|
+
and generic that you can, in fact, load an empty base configuration
|
|
4483
|
+
and merge in entire project configurations through mixins.</p>
|
|
4484
|
+
<p>Mixins may be merged per a priority scheme:</p>
|
|
4485
|
+
<ol>
|
|
4486
|
+
<li><code>mixins:</code> section in your base configuration file that loads mixin
|
|
4487
|
+
YAML files.</li>
|
|
4488
|
+
<li>Environment variables that point to mixin files.</li>
|
|
4489
|
+
<li>Command line <code>--mixin</code> flags that point to mixin files or provide
|
|
4490
|
+
inline YAML.</li>
|
|
4491
|
+
</ol>
|
|
4492
|
+
<div class="admonition tip">
|
|
4493
|
+
<p class="admonition-title">Tip</p>
|
|
4494
|
+
<p>The <a href="../getting-started/example-projects/cipher-quest.html"><code>cipher_quest</code> example project</a>
|
|
4495
|
+
illustrates the use of Mixins for build variants.</p>
|
|
4496
|
+
</div>
|
|
4497
|
+
<h2 id="designing-for-mixins-merge-rules">Designing for Mixins merge rules</h2>
|
|
4498
|
+
<p>Merging of any sort tends to be hard to do well. It’s tricky at a
|
|
4499
|
+
code-level, yes, but, just as importantly, merging can be hard to grasp in
|
|
4500
|
+
your head.</p>
|
|
4501
|
+
<p>The brief sections that follow provide an overview of our recommended
|
|
4502
|
+
design approach and the merge rules at play.</p>
|
|
4503
|
+
<div class="admonition tip">
|
|
4504
|
+
<p class="admonition-title">Use <code>dumpconfig</code> to debug mixins</p>
|
|
4505
|
+
<p><code>ceedling dumpconfig</code> can be invaluable in developing and troubleshooting
|
|
4506
|
+
your mixins. The <code>dumpconfig</code> application command will load your mixins
|
|
4507
|
+
just as a build would but produce the resulting merged configuration for
|
|
4508
|
+
inspection in a YAML file you specify.</p>
|
|
4509
|
+
</div>
|
|
4510
|
+
<h3 id="additive-mixin-merges">Additive Mixin merges</h3>
|
|
4511
|
+
<p>Generally speaking, the simplest way to conceive of managing your project
|
|
4512
|
+
configuration with mixins is to design for an additive merge. This means
|
|
4513
|
+
each mixin is successively adding something to your base configuration.
|
|
4514
|
+
In certain scenarios it is possible to overwrite configuration values with
|
|
4515
|
+
mixin values (see the rules that follow), but an additive merge is
|
|
4516
|
+
probably easier to understand and create.</p>
|
|
4517
|
+
<p>At a high level, additive merges can be constructed like this:</p>
|
|
4518
|
+
<ol>
|
|
4519
|
+
<li>Plan to add to lists with mixins. Path collections, plugins, and
|
|
4520
|
+
tool flags & compilation symbols are all examples of lists that
|
|
4521
|
+
can be added to. Other lists exist in a project configuration too —
|
|
4522
|
+
many within containing configuration entries. Add paths, plugins, and
|
|
4523
|
+
flags & symbols to your base configuration that are in common to all
|
|
4524
|
+
your buid variations and then customize the lists by adding to them
|
|
4525
|
+
with mixins.</li>
|
|
4526
|
+
<li>Leave entire sections in your base configuration blank and fill them
|
|
4527
|
+
out by merging mixins. With this strategy, you might configure all
|
|
4528
|
+
the basics in a base project configuration but merge into it the
|
|
4529
|
+
path collections, tool configurations, and compilation symbols you need
|
|
4530
|
+
for a specific project.</li>
|
|
4531
|
+
</ol>
|
|
4532
|
+
<h3 id="mixins-deep-merge-rules">Mixins deep merge rules</h3>
|
|
4533
|
+
<p>Mixins are merged in a specific order. See the documentation sections
|
|
4534
|
+
following the examples for details.</p>
|
|
4535
|
+
<p>Smooshing of mixin configurations into the base project configuration
|
|
4536
|
+
follows a few basic rules.</p>
|
|
4537
|
+
<h4 id="new-keyvalue-pair">New key/value pair</h4>
|
|
4538
|
+
<p>If a configuration key/value pair does not already exist at the time
|
|
4539
|
+
of merging, the mixin key/value pair is added to the configuration.</p>
|
|
4540
|
+
<h4 id="existing-container-list-or-hash">Existing container (list or hash)</h4>
|
|
4541
|
+
<p>If a container — e.g. list or hash — already exists at the time of a
|
|
4542
|
+
merge, the contents are <em>combined</em>.</p>
|
|
4543
|
+
<h5 id="hash-merge">Hash merge</h5>
|
|
4544
|
+
<p>A hash (key/value pairs) merge is straightforward. The key/value pairs
|
|
4545
|
+
are intermingled at the same level.</p>
|
|
4546
|
+
<h5 id="list-merge">List merge</h5>
|
|
4547
|
+
<p>A list merge is a bit more complex:</p>
|
|
4548
|
+
<ul>
|
|
4549
|
+
<li>When two lists are merged, the mixin’s entries are placed <em>before</em> the
|
|
4550
|
+
existing list entries. This means higher-priority mixin content appears
|
|
4551
|
+
first in the combined list. For example, if a command line mixin and
|
|
4552
|
+
the base project configuration both add header search paths, the
|
|
4553
|
+
command line mixin paths come first in the resulting merged list. As
|
|
4554
|
+
such, ultimately, the mixin’s paths are searched first.</li>
|
|
4555
|
+
<li>If the existing configuration contains a list but the mixin value is a
|
|
4556
|
+
different type, the mixin is treated as a one-element list and placed
|
|
4557
|
+
before the existing list. The typical case is a list of strings growing
|
|
4558
|
+
with an additional single string.</li>
|
|
4559
|
+
</ul>
|
|
4560
|
+
<div class="admonition note">
|
|
4561
|
+
<p class="admonition-title">An exception to the preceding — tool argument lists</p>
|
|
4562
|
+
<p>In the case of tool argument lists (<code>:tools</code> ↳ <code><tool name></code> ↳ <code>:arguments</code>),
|
|
4563
|
+
mixin entries are placed <em>after</em> the existing argument list entries
|
|
4564
|
+
rather than before. Command line tools tend to process arguments
|
|
4565
|
+
left-to-right such that a later occurrence of a flag takes precedence
|
|
4566
|
+
(e.g. <code>-O0</code> after <code>-O2</code> overrides <code>-02</code>). Appending ensures that a
|
|
4567
|
+
higher-priority mixin’s tool arguments override lower-priority
|
|
4568
|
+
arguments by conforming to the typical CLI convention.</p>
|
|
4569
|
+
</div>
|
|
4570
|
+
<h4 id="existing-simple-value-boolean-string-numeric">Existing simple value (boolean, string, numeric)</h4>
|
|
4571
|
+
<p>If a simple value already exists in the configuration at the time of
|
|
4572
|
+
merging, that value is replaced by the mixin value being merged. Because
|
|
4573
|
+
higher-priority mixins are merged last, the last write wins.</p>
|
|
4574
|
+
<div class="admonition info">
|
|
4575
|
+
<p class="admonition-title">Mixin merge order and list content order</p>
|
|
4576
|
+
<p>Because mixin entries are placed <em>before</em> existing list entries,
|
|
4577
|
+
higher-priority mixin content appears first in combined lists. For
|
|
4578
|
+
example, include search paths added by a command line mixin will be
|
|
4579
|
+
searched before those in an environment variable mixin, which will be
|
|
4580
|
+
searched before those in the project configuration file. See the
|
|
4581
|
+
section <a href="../testing-guide/conventions.html#test-build-search-paths">Test build search paths</a>
|
|
4582
|
+
for more.</p>
|
|
4583
|
+
</div>
|
|
4584
|
+
<h2 id="mixins-example">Mixins Example</h2>
|
|
4585
|
+
<h3 id="our-example-scenario">Our Example Scenario</h3>
|
|
4586
|
+
<p>Let’s start with an example that helps explain how mixins are merged.
|
|
4587
|
+
Then, the documentation sections that follow will discuss everything
|
|
4588
|
+
in detail.</p>
|
|
4589
|
+
<p>In this example, we will load a base project configuration and then
|
|
4590
|
+
apply three mixin files using each of the available means:</p>
|
|
4591
|
+
<ol>
|
|
4592
|
+
<li><code>:mixins</code> section in the base project configuration file</li>
|
|
4593
|
+
<li>Envionment variable <code>CEEDLING_MIXIN_1</code></li>
|
|
4594
|
+
<li>Command line <code>--mixin</code> flag</li>
|
|
4595
|
+
</ol>
|
|
4596
|
+
<pre class="mermaid"><code>---
|
|
4597
|
+
title: Example Mixin Merge Pipeline
|
|
4598
|
+
config:
|
|
4599
|
+
flowchart:
|
|
4600
|
+
wrappingWidth: 600
|
|
4601
|
+
---
|
|
4602
|
+
flowchart TD
|
|
4603
|
+
A["<b>base.yml</b> — <code>:mixins</code> section\n<i>support/mixins/enabled.yml</i>"]
|
|
4604
|
+
B["<b><code>CEEDLING_MIXIN_1</code></b>\n<i>./env.yml</i>"]
|
|
4605
|
+
C["<b><code>--mixin</code> flag</b>\n<i>support/mixins/cmdline.yml</i>"]
|
|
4606
|
+
D["<b>Final configuration</b>"]
|
|
4607
|
+
|
|
4608
|
+
A -->|"① First — lowest priority"| B
|
|
4609
|
+
B -->|"② Next"| C
|
|
4610
|
+
C -->|"③ Last — highest priority"| D</code></pre>
|
|
4611
|
+
<h3 id="example-environment-variable">Example environment variable</h3>
|
|
4612
|
+
<p><code>CEEDLING_MIXIN_1</code> = <code>./env.yml</code></p>
|
|
4613
|
+
<h3 id="example-command-line">Example command line</h3>
|
|
4614
|
+
<p>An environment variable as the preceding inserts a mixin outside of the
|
|
4615
|
+
command line shown below. The <em>base.yml</em> file is merged with the mixin file
|
|
4616
|
+
<em>enabled.yml</em> (all documented below).</p>
|
|
4617
|
+
<p><code>ceedling --project=base.yml --mixin=support/mixins/cmdline.yml <tasks></code></p>
|
|
4618
|
+
<div class="admonition tip">
|
|
4619
|
+
<p class="admonition-title">Tip</p>
|
|
4620
|
+
<p>The <code>--mixin</code> flag supports more than filepaths, and the
|
|
4621
|
+
<a href="#-mixin-command-line-flags"><code>--mixin</code> flag</a> can be used multiple times
|
|
4622
|
+
in the same command line to smoosh together multiple mixins.</p>
|
|
4623
|
+
</div>
|
|
4624
|
+
<p>The example command line above with the precending environment variable
|
|
4625
|
+
will produce the following logging output if verbosity is set above NORMAL:</p>
|
|
4626
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>🚧 Loaded project configuration from command line argument using base.yml
|
|
4627
|
+
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a> + Merging project configuration mixin using ./enabled.yml
|
|
4628
|
+
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a> + Merging CEEDLING_MIXIN_1 mixin using ./env.yml
|
|
4629
|
+
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a> + Merging command line mixin using support/mixins/cmdline.yml
|
|
4630
|
+
</code></pre></div>
|
|
4631
|
+
<p><em>Notes:</em></p>
|
|
4632
|
+
<ul>
|
|
4633
|
+
<li>The logging output above referencing <em>enabled.yml</em> comes from the
|
|
4634
|
+
<code>:mixins</code> section within the base project configuration file (<em>base.yml</em>)
|
|
4635
|
+
provided below.</li>
|
|
4636
|
+
<li>The resulting configuration in this annotated example is missing settings
|
|
4637
|
+
required by Ceedling. If these examples were to be used in their stripped
|
|
4638
|
+
down form, they would cause a validation build error.</li>
|
|
4639
|
+
</ul>
|
|
4640
|
+
<h3 id="example-configuration-files">Example Configuration files</h3>
|
|
4641
|
+
<h4 id="baseyml-our-base-project-configuration-file"><em>base.yml</em> — Our base project configuration file</h4>
|
|
4642
|
+
<p>Our base project configuration file:</p>
|
|
4643
|
+
<ol>
|
|
4644
|
+
<li>Sets up a configuration file-based mixin. Ceedling will look for a mixin
|
|
4645
|
+
named <em>enabled</em> in the specified load paths. In this simple configuration
|
|
4646
|
+
that means Ceedling looks for and merges <em>support/mixins/enabled.yml</em>.</li>
|
|
4647
|
+
<li>Creates a <code>:project</code> section in our configuration.</li>
|
|
4648
|
+
<li>Creates a <code>:plugins</code> section in our configuration and enables the standard
|
|
4649
|
+
console test report output plugin.</li>
|
|
4650
|
+
</ol>
|
|
4651
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">:mixins</span><span class="p">:</span><span class="w"> </span><span class="c1"># `:mixins` section only recognized in base project configuration</span>
|
|
4652
|
+
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span><span class="w"> </span><span class="c1"># `:enabled` list supports names and filepaths</span>
|
|
4653
|
+
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">enabled</span><span class="w"> </span><span class="c1"># Ceedling looks for name as enabled.yml in load paths and merges if found</span>
|
|
4654
|
+
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="nt">:load_paths</span><span class="p">:</span>
|
|
4655
|
+
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">support/mixins</span>
|
|
4656
|
+
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a>
|
|
4657
|
+
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="nt">:project</span><span class="p">:</span>
|
|
4658
|
+
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="nt">:build_root</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">build/</span>
|
|
4659
|
+
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a>
|
|
4660
|
+
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="nt">:plugins</span><span class="p">:</span>
|
|
4661
|
+
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4662
|
+
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">report_tests_pretty_stdout</span>
|
|
4663
|
+
</code></pre></div>
|
|
4664
|
+
<h4 id="supportmixinscmdlineyml-mixin-via-command-line-filepath-flag"><em>support/mixins/cmdline.yml</em> — Mixin via command line filepath flag</h4>
|
|
4665
|
+
<p>This mixin will merge a <code>:project</code> section with the existing <code>:project</code>
|
|
4666
|
+
section from the base project file per the deep merge rules above.</p>
|
|
4667
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">:project</span><span class="p">:</span>
|
|
4668
|
+
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">:use_test_preprocessor</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:all</span>
|
|
4669
|
+
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nt">:test_file_prefix</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Test</span>
|
|
4670
|
+
</code></pre></div>
|
|
4671
|
+
<h4 id="envyml-mixin-via-environment-variable-filepath"><em>env.yml</em> — Mixin via environment variable filepath</h4>
|
|
4672
|
+
<p>This mixin will merge a <code>:plugins</code> section with the existing <code>:plugins</code>
|
|
4673
|
+
section from the base project file per the deep merge rules (noted
|
|
4674
|
+
after the examples).</p>
|
|
4675
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nt">:plugins</span><span class="p">:</span>
|
|
4676
|
+
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4677
|
+
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">compile_commands_json_db</span>
|
|
4678
|
+
</code></pre></div>
|
|
4679
|
+
<h4 id="supportmixinsenabledyml-mixin-via-base-project-configuration-file-mixins-section"><em>support/mixins/enabled.yml</em> — Mixin via base project configuration file <code>:mixins</code> section</h4>
|
|
4680
|
+
<p>This mixin listed in the base configuration project file will merge
|
|
4681
|
+
<code>:project</code> and <code>:plugins</code> sections with those that already exist from
|
|
4682
|
+
the base configuration plus earlier mixin merges per the deep merge
|
|
4683
|
+
rules (noted after the examples).</p>
|
|
4684
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nt">:project</span><span class="p">:</span>
|
|
4685
|
+
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">:use_test_preprocessor</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:none</span>
|
|
4686
|
+
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a>
|
|
4687
|
+
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="nt">:plugins</span><span class="p">:</span>
|
|
4688
|
+
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4689
|
+
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gcov</span>
|
|
4690
|
+
</code></pre></div>
|
|
4691
|
+
<h3 id="example-resulting-configuration">Example resulting configuration</h3>
|
|
4692
|
+
<p>Behold the project configuration following mixin merges:</p>
|
|
4693
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="nt">:project</span><span class="p">:</span>
|
|
4694
|
+
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="w"> </span><span class="nt">:build_root</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">build/</span><span class="w"> </span><span class="c1"># From base.yml</span>
|
|
4695
|
+
<a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="w"> </span><span class="nt">:use_test_preprocessor</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:all</span><span class="w"> </span><span class="c1"># Value in support/mixins/cmdline.yml overwrote value from support/mixins/enabled.yml (cmdline merged last)</span>
|
|
4696
|
+
<a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="w"> </span><span class="nt">:test_file_prefix</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Test</span><span class="w"> </span><span class="c1"># Added to :project from support/mixins/cmdline.yml</span>
|
|
4697
|
+
<a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a>
|
|
4698
|
+
<a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a><span class="nt">:plugins</span><span class="p">:</span>
|
|
4699
|
+
<a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span><span class="w"> </span><span class="c1"># :plugins ↳ :enabled from two mixins merged with original list in base.yml</span>
|
|
4700
|
+
<a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">compile_commands_json_db</span><span class="w"> </span><span class="c1"># From env.yml (prepended before base.yml entry — env.yml is higher priority)</span>
|
|
4701
|
+
<a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gcov</span><span class="w"> </span><span class="c1"># From support/mixins/enabled.yml (prepended before base.yml entry)</span>
|
|
4702
|
+
<a id="__codelineno-5-10" name="__codelineno-5-10" href="#__codelineno-5-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">report_tests_pretty_stdout</span><span class="w"> </span><span class="c1"># From base.yml</span>
|
|
4703
|
+
</code></pre></div>
|
|
4704
|
+
<div class="admonition note">
|
|
4705
|
+
<p class="admonition-title">Note</p>
|
|
4706
|
+
<p>Original <code>:mixins</code> section is removed from resulting config</p>
|
|
4707
|
+
</div>
|
|
4708
|
+
<h2 id="options-for-loading-mixins">Options for loading Mixins</h2>
|
|
4709
|
+
<p>You have three options for telling Ceedling what mixins to load. These
|
|
4710
|
+
options are ordered below according to their precedence. A Mixin higher
|
|
4711
|
+
in the list is merged <strong>later</strong> and therefore its content takes priority
|
|
4712
|
+
over lower-listed options in two ways:</p>
|
|
4713
|
+
<ul>
|
|
4714
|
+
<li><strong>Single values</strong> (a path string, a number, true/false): The higher-priority
|
|
4715
|
+
mixin’s value replaces any lower-priority mixin’s value for the same setting.</li>
|
|
4716
|
+
<li><strong>Lists</strong> (e.g. search paths, plugin names): The higher-priority mixin’s
|
|
4717
|
+
entries appear <strong>before</strong> lower-priority entries in the combined list.
|
|
4718
|
+
For example, if a command line mixin adds the search path <code>vendor/include</code>
|
|
4719
|
+
and the project configuration mixin adds <code>src/include</code>, the merged include
|
|
4720
|
+
path list will be <code>[vendor/include, src/include]</code> — the command line path
|
|
4721
|
+
is searched first.</li>
|
|
4722
|
+
</ul>
|
|
4723
|
+
<p>In addition, options higher in the list force duplicate mixin filepaths in
|
|
4724
|
+
lower-listed options to be ignored (i.e. deduplicated).</p>
|
|
4725
|
+
<p>Unlike project file loading that resolves to a single filepath
|
|
4726
|
+
to load your base configuration, multiple mixins can be specified using
|
|
4727
|
+
any or all of these options.</p>
|
|
4728
|
+
<ol>
|
|
4729
|
+
<li>Command line option flags</li>
|
|
4730
|
+
<li>Environment variables</li>
|
|
4731
|
+
<li>Base project configuration file entries</li>
|
|
4732
|
+
</ol>
|
|
4733
|
+
<h3 id="-mixin-command-line-flags"><code>--mixin</code> command line flags</h3>
|
|
4734
|
+
<p>As already discussed above, many of Ceedling’s application commands
|
|
4735
|
+
include an optional <code>--project</code> flag. Most of these same commands
|
|
4736
|
+
also recognize optional <code>--mixin</code> flags.</p>
|
|
4737
|
+
<p>Note that <code>--mixin</code> can be used multiple times in a single command line
|
|
4738
|
+
and the rightmost instance is merged last (i.e. highest priority).</p>
|
|
4739
|
+
<p>When provided, Ceedling merges the specified mixin into the base
|
|
4740
|
+
project configuration. A <code>--mixin</code> value accepts three forms
|
|
4741
|
+
distinguished by an optional sigil prefix:</p>
|
|
4742
|
+
<div class="admonition note">
|
|
4743
|
+
<p class="admonition-title">Sigil definition</p>
|
|
4744
|
+
<p>A <em>sigil</em> is a non-alphabetic symbol (e.g. <code>$</code>, <code>@</code>, <code>%</code>) that
|
|
4745
|
+
serves as a visual prefix or suffix that instantly tells an
|
|
4746
|
+
interpreter and the developer a data type, scope, or structure.</p>
|
|
4747
|
+
</div>
|
|
4748
|
+
<h4 id="file-or-named-mixin-optional-sigil">File or named mixin (optional <code>@</code> sigil)</h4>
|
|
4749
|
+
<p>The value is treated as a file path or named mixin lookup. Two
|
|
4750
|
+
equivalent syntaxes are accepted:</p>
|
|
4751
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>--mixin<span class="w"> </span>my_compiler<span class="w"> </span><span class="c1"># simple name lookup (no sigil)</span>
|
|
4752
|
+
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a>--mixin<span class="w"> </span>@my_compiler<span class="w"> </span><span class="c1"># simple name lookup (no sigil)</span>
|
|
4753
|
+
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a>--mixin<span class="w"> </span>bar/mixin.yaml<span class="w"> </span><span class="c1"># filepath (no sigil)</span>
|
|
4754
|
+
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a>--mixin<span class="w"> </span>@bar/mixin.yaml<span class="w"> </span><span class="c1"># filepath (explicit @ sigil — same result)</span>
|
|
4755
|
+
</code></pre></div>
|
|
4756
|
+
<ul>
|
|
4757
|
+
<li>A <strong>simple name</strong> (no extension, no path separator) is looked up
|
|
4758
|
+
among Ceedling’s configured mixin load paths.</li>
|
|
4759
|
+
<li>A <strong>filename or filepath</strong> (with extension or path separator) loads
|
|
4760
|
+
the specified YAML file directly.</li>
|
|
4761
|
+
<li>The <code>@</code> sigil is optional and makes the file/name intent explicit;
|
|
4762
|
+
it is otherwise identical to providing the value without a sigil
|
|
4763
|
+
(primarily for backwards compatibility pre-inline YAML).</li>
|
|
4764
|
+
</ul>
|
|
4765
|
+
<h4 id="inline-yaml-sigil">Inline YAML (<code>=</code> sigil)</h4>
|
|
4766
|
+
<p>The value is treated as a YAML string merged directly into
|
|
4767
|
+
configuration — no file needed.</p>
|
|
4768
|
+
<div class="admonition note">
|
|
4769
|
+
<p class="admonition-title">Flow-style versus block YAML</p>
|
|
4770
|
+
<p>Ceedling can parse both flow-style and block YAML in the
|
|
4771
|
+
configuration files it loads. The inline YAML command line
|
|
4772
|
+
option must use <a href="https://www.educative.io/answers/what-is-flow-style-in-yaml">flow-style</a>.
|
|
4773
|
+
Block-style YAML supports a leading optional colon for key names,
|
|
4774
|
+
and Ceedling uses this internally. Flow-style does not support
|
|
4775
|
+
this YAML notation style. So, <code>:foo: 'bar'</code> is illegal in
|
|
4776
|
+
inline YAML; <code>foo: 'bar'</code> must be used instead.</p>
|
|
4777
|
+
</div>
|
|
4778
|
+
<p>Prefix the value with <code>=</code> and quote the argument to protect
|
|
4779
|
+
YAML special characters (colons, brackets, spaces) from shell
|
|
4780
|
+
interpretation:</p>
|
|
4781
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>--mixin<span class="w"> </span><span class="s2">"=defines: {release: ['MY_SYMBOL']}"</span>
|
|
4782
|
+
</code></pre></div>
|
|
4783
|
+
<p>The YAML content must evaluate to a Hash at the top level (matching
|
|
4784
|
+
the structure of a project configuration file). Arrays, scalars, and
|
|
4785
|
+
empty strings are rejected with an error.</p>
|
|
4786
|
+
<h4 id="combining-forms">Combining forms</h4>
|
|
4787
|
+
<p>All three forms can be mixed freely in a single command line and are
|
|
4788
|
+
processed in the order they appear, left-to-right:</p>
|
|
4789
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ceedling<span class="w"> </span>release<span class="w"> </span><span class="se">\</span>
|
|
4790
|
+
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="w"> </span>--mixin<span class="w"> </span>@mixins/base_compiler.yml<span class="w"> </span><span class="se">\</span>
|
|
4791
|
+
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="w"> </span>--mixin<span class="w"> </span><span class="s2">"=defines: {release: ['CIPHER_ROT13']}"</span><span class="w"> </span><span class="se">\</span>
|
|
4792
|
+
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="w"> </span>--mixin<span class="w"> </span>ci_overrides
|
|
4793
|
+
</code></pre></div>
|
|
4794
|
+
<p>In this example: <code>mixins/base_compiler.yml</code> is merged first as a
|
|
4795
|
+
loaded file, then the inline YAML, and finally a <code>ci_overrides</code> file
|
|
4796
|
+
found among mixin paths specified in the base configuration file
|
|
4797
|
+
(not shown).</p>
|
|
4798
|
+
<p>Later entries (on the right side of a command line) win on conflicts,
|
|
4799
|
+
so the content of <code>ci_overrides.yml</code> has the highest priority.</p>
|
|
4800
|
+
<p>Simple mixin names are resolved by searching load paths in this order:</p>
|
|
4801
|
+
<ol>
|
|
4802
|
+
<li>User-configured <code>:load_paths</code> from the base project file (if any)</li>
|
|
4803
|
+
<li>The directory containing the base project file</li>
|
|
4804
|
+
<li>Ceedling's built-in Unity toolchain targets</li>
|
|
4805
|
+
</ol>
|
|
4806
|
+
<p>User-specified load paths are configured through the <code>:mixins</code> section
|
|
4807
|
+
of the base project file. See the <a href="#base-configuration-mixins-entries">documentation for the <code>:mixins</code>
|
|
4808
|
+
section of your project configuration</a> for
|
|
4809
|
+
more details. See <a href="#built-in-toolchain-targets">Built-in toolchain targets</a>
|
|
4810
|
+
for details on what names are available without any load path configuration.</p>
|
|
4811
|
+
<p>Filepaths may be relative (to the working directory) or absolute.</p>
|
|
4812
|
+
<h4 id="error-behavior">Error behavior</h4>
|
|
4813
|
+
<p>If the <code>--mixin</code> filename or filepath does not exist, Ceedling
|
|
4814
|
+
terminates with an error. If Ceedling cannot find a mixin name in
|
|
4815
|
+
any load paths, it terminates with an error. If an inline YAML
|
|
4816
|
+
string cannot be parsed or does not evaluate to a Hash, Ceedling
|
|
4817
|
+
terminates with an error.</p>
|
|
4818
|
+
<h3 id="environment-variables">Environment variables</h3>
|
|
4819
|
+
<p>Mixins can also be loaded through environment variables. Ceedling
|
|
4820
|
+
recognizes environment variables with a naming scheme of
|
|
4821
|
+
<code>CEEDLING_MIXIN_#</code>, where <code>#</code> is any number greater than 0.</p>
|
|
4822
|
+
<p>Precedence among the environment variables follows a simple ascending
|
|
4823
|
+
sort of the trailing numeric value in the environment variable name.
|
|
4824
|
+
Lower-numbered variables are merged first (lower priority); higher-numbered
|
|
4825
|
+
variables are merged last (higher priority). For example,
|
|
4826
|
+
<code>CEEDLING_MIXIN_5</code> is merged before <code>CEEDLING_MIXIN_99</code>, so
|
|
4827
|
+
<code>CEEDLING_MIXIN_99</code> takes priority.</p>
|
|
4828
|
+
<p>Mixin environment variables only hold filepaths. Filepaths may be
|
|
4829
|
+
relative (in relation to the working directory) or absolute.</p>
|
|
4830
|
+
<p>If the filepath specified by an environment variable does not exist,
|
|
4831
|
+
Ceedling terminates with an error.</p>
|
|
4832
|
+
<h3 id="base-configuration-mixins-entries">Base configuration <code>:mixins</code> entries</h3>
|
|
4833
|
+
<div class="admonition note">
|
|
4834
|
+
<p class="admonition-title">Note</p>
|
|
4835
|
+
<p>Ceedling only recognizes a <code>:mixins</code> section in your base project
|
|
4836
|
+
configuration file. A <code>:mixins</code> section nested in a mixin is ignored.</p>
|
|
4837
|
+
</div>
|
|
4838
|
+
<p>The <code>:mixins</code> section of a base project configuration file is filtered
|
|
4839
|
+
out of the resulting merged configuration and will be absent in
|
|
4840
|
+
<code>ceedling dumpconfig</code> output.</p>
|
|
4841
|
+
<p>The <code>:mixins</code> configuration section can contain up to two subsections.
|
|
4842
|
+
Each subsection is optional.</p>
|
|
4843
|
+
<ul>
|
|
4844
|
+
<li>
|
|
4845
|
+
<p><code>:enabled</code></p>
|
|
4846
|
+
<p>An optional array comprising (A) mixin filenames/filepaths and/or
|
|
4847
|
+
(B) simple mixin names.</p>
|
|
4848
|
+
<ol>
|
|
4849
|
+
<li>A filename contains a file extension. A filepath includes a
|
|
4850
|
+
directory path. The file content is YAML.</li>
|
|
4851
|
+
<li>A simple name (no file extension and no path) is used
|
|
4852
|
+
as a file lookup among any configured load paths (see next
|
|
4853
|
+
section) and as a lookup name among Ceedling’s built-in mixins
|
|
4854
|
+
(currently none).</li>
|
|
4855
|
+
</ol>
|
|
4856
|
+
<p>Enabled entries support <a href="project-file.html#inline-ruby-string-expansion">inline Ruby string expansion</a>.</p>
|
|
4857
|
+
<p><strong>Default</strong>: <code>[]</code></p>
|
|
4858
|
+
</li>
|
|
4859
|
+
<li>
|
|
4860
|
+
<p><code>:load_paths</code></p>
|
|
4861
|
+
<p>Paths containing mixin files to be searched via mixin names. A mixin
|
|
4862
|
+
filename in a load path has the form <em><name>.yml</em> by default. If
|
|
4863
|
+
an alternate filename extension has been specified in your project
|
|
4864
|
+
configuration (<code>:extension</code> ↳ <code>:yaml</code>) it will be used for file
|
|
4865
|
+
lookups in the mixin load paths instead of <em>.yml</em>.</p>
|
|
4866
|
+
<p>Searches start in the path at the top of the list.</p>
|
|
4867
|
+
<p>Both mixin names in the <code>:enabled</code> list (above) and on the command
|
|
4868
|
+
line via <code>--mixin</code> flag use this list of load paths for searches.</p>
|
|
4869
|
+
<p>If a mixin name is not found in any user-configured load path,
|
|
4870
|
+
Ceedling automatically searches two additional locations in order:</p>
|
|
4871
|
+
<ol>
|
|
4872
|
+
<li><strong>Project directory</strong> — the directory containing your base project
|
|
4873
|
+
configuration file. This lets you drop a YAML file alongside
|
|
4874
|
+
<em>project.yml</em> and reference it by name with no extra configuration.</li>
|
|
4875
|
+
<li><strong>Built-in toolchain targets</strong> — Ceedling's bundled Unity <code>targets/</code>
|
|
4876
|
+
folder. See <a href="#built-in-toolchain-targets">Built-in toolchain targets</a>.</li>
|
|
4877
|
+
</ol>
|
|
4878
|
+
<p>User-configured load paths always take priority over these fallbacks.
|
|
4879
|
+
The project directory takes priority over the built-in targets.</p>
|
|
4880
|
+
<p>Load paths entries support <a href="project-file.html#inline-ruby-string-expansion">inline Ruby string expansion</a>.</p>
|
|
4881
|
+
<p><strong>Default</strong>: <code>[]</code></p>
|
|
4882
|
+
</li>
|
|
4883
|
+
</ul>
|
|
4884
|
+
<p>Example <code>:mixins</code> YAML blurb:</p>
|
|
4885
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">:mixins</span><span class="p">:</span>
|
|
4886
|
+
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4887
|
+
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">foo</span><span class="w"> </span><span class="c1"># Search for foo.yml in proj/mixins & support/ and 'foo' among built-in mixins</span>
|
|
4888
|
+
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">path/bar.yaml</span><span class="w"> </span><span class="c1"># Merge this file with base project conig</span>
|
|
4889
|
+
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="nt">:load_paths</span><span class="p">:</span>
|
|
4890
|
+
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">proj/mixins</span>
|
|
4891
|
+
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">support</span>
|
|
4892
|
+
</code></pre></div>
|
|
4893
|
+
<p>Relating the above example to command line <code>--mixin</code> flag handling:</p>
|
|
4894
|
+
<ul>
|
|
4895
|
+
<li>A command line flag of <code>--mixin=foo</code> is equivalent to the <code>foo</code>
|
|
4896
|
+
entry in the <code>:enabled</code> mixin configuration.</li>
|
|
4897
|
+
<li>A command line flag of <code>--mixin=path/bar.yaml</code> is equivalent to the
|
|
4898
|
+
<code>path/bar.yaml</code> entry in the <code>:enabled</code> mixin configuration.</li>
|
|
4899
|
+
<li>Note that while command line <code>--mixin</code> flags work identically to
|
|
4900
|
+
entries in <code>:mixins</code> ↳ <code>:enabled</code>, they are merged <strong>last</strong> and therefore
|
|
4901
|
+
have the highest priority. The <code>:enabled</code> list is merged <strong>first</strong> (because
|
|
4902
|
+
it resides in the base configuration and has the lowest priority).</li>
|
|
4903
|
+
</ul>
|
|
4904
|
+
<h2 id="built-in-toolchain-targets">Built-in toolchain targets</h2>
|
|
4905
|
+
<p>Ceedling bundles a set of ready-made toolchain target mixins sourced from
|
|
4906
|
+
Unity's <code>targets/</code> folder. Each file configures the compiler, linker,
|
|
4907
|
+
output extensions, and Unity-specific compilation symbols for a particular
|
|
4908
|
+
toolchain or target environment.</p>
|
|
4909
|
+
<p>Because the Unity targets folder is a default mixin load path (searched
|
|
4910
|
+
after the project directory), you can activate any of these by name
|
|
4911
|
+
alone — no <code>:load_paths</code> configuration required:</p>
|
|
4912
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>ceedling<span class="w"> </span>build<span class="w"> </span>test:all<span class="w"> </span>--mixin<span class="w"> </span>clang
|
|
4913
|
+
</code></pre></div>
|
|
4914
|
+
<p>Or via the project configuration:</p>
|
|
4915
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="nt">:mixins</span><span class="p">:</span>
|
|
4916
|
+
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4917
|
+
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">clang</span>
|
|
4918
|
+
</code></pre></div>
|
|
4919
|
+
<h3 id="available-built-in-targets">Available built-in targets</h3>
|
|
4920
|
+
<table>
|
|
4921
|
+
<thead>
|
|
4922
|
+
<tr>
|
|
4923
|
+
<th>Mixin name</th>
|
|
4924
|
+
<th>Toolchain / target</th>
|
|
4925
|
+
</tr>
|
|
4926
|
+
</thead>
|
|
4927
|
+
<tbody>
|
|
4928
|
+
<tr>
|
|
4929
|
+
<td><code>clang</code></td>
|
|
4930
|
+
<td>Clang local host configuration with common warnings and errors enabled</td>
|
|
4931
|
+
</tr>
|
|
4932
|
+
<tr>
|
|
4933
|
+
<td><code>gcc</code></td>
|
|
4934
|
+
<td>GCC local host configuration with common warnings and errors enabled</td>
|
|
4935
|
+
</tr>
|
|
4936
|
+
<tr>
|
|
4937
|
+
<td><code>hitech_picc18</code></td>
|
|
4938
|
+
<td>HI-TECH PICC-18 (PIC18)</td>
|
|
4939
|
+
</tr>
|
|
4940
|
+
<tr>
|
|
4941
|
+
<td><code>iar_arm</code></td>
|
|
4942
|
+
<td>IAR ARM configuration that likely requires customization for your target</td>
|
|
4943
|
+
</tr>
|
|
4944
|
+
</tbody>
|
|
4945
|
+
</table>
|
|
4946
|
+
<h3 id="using-a-built-in-target-as-a-starting-point">Using a built-in target as a starting point</h3>
|
|
4947
|
+
<p>A built-in target mixin sets only the toolchain-specific knobs. Your
|
|
4948
|
+
project configuration (or other mixins) supplies everything else —
|
|
4949
|
+
source paths, plugins, test file patterns, and so on. This means you
|
|
4950
|
+
can use a built-in target as a drop-in starting point and layer your
|
|
4951
|
+
own settings on top without duplicating the full tool configuration.</p>
|
|
4952
|
+
<p>For example, a minimal project targeting a GCC host build might
|
|
4953
|
+
look like:</p>
|
|
4954
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="c1"># project.yml</span>
|
|
4955
|
+
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="nt">:project</span><span class="p">:</span>
|
|
4956
|
+
<a id="__codelineno-12-3" name="__codelineno-12-3" href="#__codelineno-12-3"></a><span class="w"> </span><span class="nt">:build_root</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">build/</span>
|
|
4957
|
+
<a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a>
|
|
4958
|
+
<a id="__codelineno-12-5" name="__codelineno-12-5" href="#__codelineno-12-5"></a><span class="nt">:paths</span><span class="p">:</span>
|
|
4959
|
+
<a id="__codelineno-12-6" name="__codelineno-12-6" href="#__codelineno-12-6"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
|
|
4960
|
+
<a id="__codelineno-12-7" name="__codelineno-12-7" href="#__codelineno-12-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test/**</span>
|
|
4961
|
+
<a id="__codelineno-12-8" name="__codelineno-12-8" href="#__codelineno-12-8"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
|
|
4962
|
+
<a id="__codelineno-12-9" name="__codelineno-12-9" href="#__codelineno-12-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/**</span>
|
|
4963
|
+
<a id="__codelineno-12-10" name="__codelineno-12-10" href="#__codelineno-12-10"></a>
|
|
4964
|
+
<a id="__codelineno-12-11" name="__codelineno-12-11" href="#__codelineno-12-11"></a><span class="nt">:plugins</span><span class="p">:</span>
|
|
4965
|
+
<a id="__codelineno-12-12" name="__codelineno-12-12" href="#__codelineno-12-12"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4966
|
+
<a id="__codelineno-12-13" name="__codelineno-12-13" href="#__codelineno-12-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">report_tests_pretty_stdout</span>
|
|
4967
|
+
<a id="__codelineno-12-14" name="__codelineno-12-14" href="#__codelineno-12-14"></a>
|
|
4968
|
+
<a id="__codelineno-12-15" name="__codelineno-12-15" href="#__codelineno-12-15"></a><span class="nt">:mixins</span><span class="p">:</span>
|
|
4969
|
+
<a id="__codelineno-12-16" name="__codelineno-12-16" href="#__codelineno-12-16"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4970
|
+
<a id="__codelineno-12-17" name="__codelineno-12-17" href="#__codelineno-12-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gcc</span><span class="w"> </span><span class="c1"># Pulls in compiler, linker, and Unity symbol config for GCC</span>
|
|
4971
|
+
</code></pre></div>
|
|
4972
|
+
<p>If your project needs a tweak — say, an extra compiler flag or a different
|
|
4973
|
+
optimization level — merge an additional mixin after the built-in target:</p>
|
|
4974
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>ceedling<span class="w"> </span>build<span class="w"> </span>test:all<span class="w"> </span>--mixin<span class="w"> </span>clang<span class="w"> </span>--mixin<span class="w"> </span><span class="s2">"=tools: {test_compiler: {arguments: ['-O0']}}"</span>
|
|
4975
|
+
</code></pre></div>
|
|
4976
|
+
<p>Because command line mixins are merged last, the extra argument is appended
|
|
4977
|
+
after the built-in target's argument list and takes effect.</p>
|
|
4978
|
+
<div class="admonition tip">
|
|
4979
|
+
<p class="admonition-title">Override a built-in target for a single project</p>
|
|
4980
|
+
<p>Drop a YAML file with the same name as a built-in target (e.g.
|
|
4981
|
+
<code>gcc.yml</code>) into your project directory. Ceedling searches the
|
|
4982
|
+
project directory before the built-in targets folder, so your local
|
|
4983
|
+
file silently takes precedence — no <code>:load_paths</code> entry required.</p>
|
|
4984
|
+
</div>
|
|
4985
|
+
<p><br/><br/></p>
|
|
4986
|
+
|
|
4987
|
+
|
|
4988
|
+
|
|
4989
|
+
|
|
4990
|
+
|
|
4991
|
+
|
|
4992
|
+
|
|
4993
|
+
|
|
4994
|
+
|
|
4995
|
+
|
|
4996
|
+
|
|
4997
|
+
|
|
4998
|
+
|
|
4999
|
+
</article>
|
|
5000
|
+
</div>
|
|
5001
|
+
|
|
5002
|
+
|
|
5003
|
+
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
5004
|
+
</div>
|
|
5005
|
+
|
|
5006
|
+
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
|
5007
|
+
|
|
5008
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
|
5009
|
+
Back to top
|
|
5010
|
+
</button>
|
|
5011
|
+
|
|
5012
|
+
</main>
|
|
5013
|
+
|
|
5014
|
+
<footer class="md-footer">
|
|
5015
|
+
|
|
5016
|
+
<div class="md-footer-meta md-typeset">
|
|
5017
|
+
<div class="md-footer-meta__inner md-grid">
|
|
5018
|
+
<div class="md-copyright">
|
|
5019
|
+
|
|
5020
|
+
<div class="md-copyright__highlight">
|
|
5021
|
+
© 2010-2026 M. Karlesky, M. VanderVoord, and G. Williams — Documentation license: <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">CC BY-SA 4.0</a>
|
|
5022
|
+
</div>
|
|
5023
|
+
|
|
5024
|
+
|
|
5025
|
+
</div>
|
|
5026
|
+
|
|
5027
|
+
|
|
5028
|
+
<div class="md-social">
|
|
5029
|
+
|
|
5030
|
+
|
|
5031
|
+
|
|
5032
|
+
|
|
5033
|
+
|
|
5034
|
+
<a href="https://github.com/sponsors/ThrowTheSwitch" target="_blank" rel="noopener" title="Sponsor ThrowTheSwitch on GitHub" class="md-social__link">
|
|
5035
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
5036
|
+
</a>
|
|
5037
|
+
|
|
5038
|
+
</div>
|
|
5039
|
+
|
|
5040
|
+
</div>
|
|
5041
|
+
</div>
|
|
5042
|
+
</footer>
|
|
5043
|
+
|
|
5044
|
+
</div>
|
|
5045
|
+
<div class="md-dialog" data-md-component="dialog">
|
|
5046
|
+
<div class="md-dialog__inner md-typeset"></div>
|
|
5047
|
+
</div>
|
|
5048
|
+
|
|
5049
|
+
|
|
5050
|
+
|
|
5051
|
+
|
|
5052
|
+
|
|
5053
|
+
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
|
|
5054
|
+
|
|
5055
|
+
|
|
5056
|
+
<script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
|
|
5057
|
+
|
|
5058
|
+
|
|
5059
|
+
</body>
|
|
5060
|
+
</html>
|