ceedling 0.9.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/GIT_COMMIT_SHA +1 -0
- data/Gemfile +23 -2
- data/Gemfile.lock +50 -0
- data/README.md +728 -42
- data/Rakefile +21 -75
- data/assets/ceedling +9 -0
- data/assets/ceedling.cmd +1 -0
- data/assets/default_gitignore +7 -0
- data/assets/example_file.c +16 -0
- data/assets/example_file.h +15 -0
- data/assets/example_file_call.c +13 -0
- data/assets/example_file_call.h +13 -0
- data/assets/project.yml +402 -0
- data/assets/test_example_file.c +20 -0
- data/assets/test_example_file_boom.c +20 -0
- data/assets/test_example_file_crash.c +25 -0
- data/assets/test_example_file_success.c +21 -0
- data/assets/test_example_file_unity_printf.c +19 -0
- data/assets/test_example_file_verbose.c +19 -0
- data/assets/test_example_file_with_mock.c +20 -0
- data/assets/test_example_with_parameterized_tests.c +28 -0
- data/assets/tests_with_defines/src/adc_hardware.c +18 -0
- data/assets/tests_with_defines/src/adc_hardware.h +13 -0
- data/assets/tests_with_defines/src/adc_hardware_configurator.c +18 -0
- data/assets/tests_with_defines/src/adc_hardware_configurator.h +17 -0
- data/assets/tests_with_defines/test/test_adc_hardware.c +28 -0
- data/assets/tests_with_defines/test/test_adc_hardware_special.c +28 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareA.c +17 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareA.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareB.c +14 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareB.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareC.c +14 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareC.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +15 -0
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +15 -0
- data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +41 -0
- data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +25 -0
- data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +29 -0
- data/assets/uncovered_example_file.c +12 -0
- data/bin/actions_wrapper.rb +50 -0
- data/bin/app_cfg.rb +134 -0
- data/bin/ceedling +146 -57
- data/bin/cli.rb +542 -0
- data/bin/cli_handler.rb +480 -0
- data/bin/cli_helper.rb +512 -0
- data/bin/configinator.rb +111 -0
- data/bin/mixinator.rb +136 -0
- data/bin/mixins.rb +12 -0
- data/bin/objects.yml +80 -0
- data/bin/path_validator.rb +54 -0
- data/bin/projectinator.rb +244 -0
- data/bin/versionator.rb +81 -0
- data/ceedling.gemspec +54 -14
- data/config/test_environment.rb +14 -0
- data/docs/BreakingChanges.md +260 -0
- data/docs/CODE_OF_CONDUCT.md +138 -0
- data/docs/CONTRIBUTING.md +240 -0
- data/docs/Ceedling Basic Porting.pdf +0 -0
- data/docs/Ceedling Managing Release Code.pdf +0 -0
- data/docs/Ceedling Working with IDEs.pdf +0 -0
- data/docs/CeedlingPacket.md +5651 -0
- data/docs/CeedlingPullRequestChecklist.md +24 -0
- data/docs/CeedlingUpgrade.md +83 -0
- data/docs/Changelog.md +493 -0
- data/docs/PluginDevelopmentGuide.md +764 -0
- data/docs/ReleaseNotes.md +353 -0
- data/docs/SECURITY.md +41 -0
- data/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/examples/temp_sensor/README.md +18 -0
- data/examples/temp_sensor/mixin/add_gcov.yml +51 -0
- data/examples/temp_sensor/mixin/add_unity_helper.yml +26 -0
- data/examples/temp_sensor/project.yml +355 -70
- data/examples/temp_sensor/src/AdcConductor.c +49 -42
- data/examples/temp_sensor/src/AdcConductor.h +20 -11
- data/examples/temp_sensor/src/AdcHardware.c +34 -27
- data/examples/temp_sensor/src/AdcHardware.h +18 -11
- data/examples/temp_sensor/src/AdcHardwareConfigurator.c +25 -18
- data/examples/temp_sensor/src/AdcHardwareConfigurator.h +17 -10
- data/examples/temp_sensor/src/AdcModel.c +40 -33
- data/examples/temp_sensor/src/AdcModel.h +20 -13
- data/examples/temp_sensor/src/AdcTemperatureSensor.c +58 -51
- data/examples/temp_sensor/src/AdcTemperatureSensor.h +17 -10
- data/examples/temp_sensor/src/Executor.c +32 -25
- data/examples/temp_sensor/src/Executor.h +16 -9
- data/examples/temp_sensor/src/IntrinsicsWrapper.c +25 -18
- data/examples/temp_sensor/src/IntrinsicsWrapper.h +14 -7
- data/examples/temp_sensor/src/Main.c +53 -46
- data/examples/temp_sensor/src/Main.h +14 -7
- data/examples/temp_sensor/src/Model.c +17 -10
- data/examples/temp_sensor/src/Model.h +15 -8
- data/examples/temp_sensor/src/ModelConfig.h +14 -7
- data/examples/temp_sensor/src/TaskScheduler.c +79 -72
- data/examples/temp_sensor/src/TaskScheduler.h +18 -11
- data/examples/temp_sensor/src/TemperatureCalculator.c +38 -27
- data/examples/temp_sensor/src/TemperatureCalculator.h +15 -6
- data/examples/temp_sensor/src/TemperatureFilter.c +45 -39
- data/examples/temp_sensor/src/TemperatureFilter.h +17 -10
- data/examples/temp_sensor/src/TimerConductor.c +22 -15
- data/examples/temp_sensor/src/TimerConductor.h +16 -9
- data/examples/temp_sensor/src/TimerConfigurator.c +58 -51
- data/examples/temp_sensor/src/TimerConfigurator.h +22 -15
- data/examples/temp_sensor/src/TimerHardware.c +22 -15
- data/examples/temp_sensor/src/TimerHardware.h +15 -8
- data/examples/temp_sensor/src/TimerInterruptConfigurator.c +62 -55
- data/examples/temp_sensor/src/TimerInterruptConfigurator.h +20 -13
- data/examples/temp_sensor/src/TimerInterruptHandler.c +32 -25
- data/examples/temp_sensor/src/TimerInterruptHandler.h +17 -10
- data/examples/temp_sensor/src/TimerModel.c +16 -9
- data/examples/temp_sensor/src/TimerModel.h +15 -8
- data/examples/temp_sensor/src/Types.h +97 -103
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +25 -18
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +15 -6
- data/examples/temp_sensor/src/UsartConductor.c +28 -21
- data/examples/temp_sensor/src/UsartConductor.h +14 -7
- data/examples/temp_sensor/src/UsartConfigurator.c +46 -39
- data/examples/temp_sensor/src/UsartConfigurator.h +20 -13
- data/examples/temp_sensor/src/UsartHardware.c +29 -34
- data/examples/temp_sensor/src/UsartHardware.h +16 -10
- data/examples/temp_sensor/src/UsartModel.c +41 -34
- data/examples/temp_sensor/src/UsartModel.h +17 -10
- data/examples/temp_sensor/src/UsartPutChar.c +23 -16
- data/examples/temp_sensor/src/UsartPutChar.h +15 -8
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +14 -7
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +15 -8
- data/examples/temp_sensor/test/TestExecutor.c +43 -0
- data/examples/temp_sensor/test/TestMain.c +31 -0
- data/examples/temp_sensor/test/TestModel.c +27 -0
- data/examples/temp_sensor/test/TestTaskScheduler.c +111 -0
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +43 -0
- data/examples/temp_sensor/test/TestTemperatureFilter.c +86 -0
- data/examples/temp_sensor/test/TestTimerConductor.c +39 -0
- data/examples/temp_sensor/test/TestTimerHardware.c +33 -0
- data/examples/temp_sensor/test/TestTimerIntegrated.c +53 -0
- data/examples/temp_sensor/test/TestTimerModel.c +25 -0
- data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +28 -0
- data/examples/temp_sensor/test/TestUsartConductor.c +47 -0
- data/examples/temp_sensor/test/TestUsartHardware.c +43 -0
- data/examples/temp_sensor/test/TestUsartIntegrated.c +63 -0
- data/examples/temp_sensor/test/TestUsartModel.c +47 -0
- data/examples/temp_sensor/test/adc/TestAdcConductor.c +128 -0
- data/examples/temp_sensor/test/adc/TestAdcHardware.c +51 -0
- data/examples/temp_sensor/test/adc/TestAdcModel.c +40 -0
- data/examples/temp_sensor/test/support/UnityHelper.c +19 -10
- data/examples/temp_sensor/test/support/UnityHelper.h +17 -12
- data/lib/ceedling/application.rb +26 -0
- data/lib/ceedling/backtrace.gdb +5 -0
- data/lib/ceedling/build_batchinator.rb +113 -0
- data/lib/ceedling/cacheinator.rb +53 -0
- data/lib/ceedling/cacheinator_helper.rb +41 -0
- data/lib/ceedling/config_matchinator.rb +192 -0
- data/lib/ceedling/config_walkinator.rb +35 -0
- data/lib/ceedling/configurator.rb +735 -0
- data/lib/ceedling/configurator_builder.rb +558 -0
- data/lib/ceedling/configurator_plugins.rb +165 -0
- data/lib/ceedling/configurator_setup.rb +799 -0
- data/lib/ceedling/configurator_validator.rb +203 -0
- data/lib/ceedling/constants.rb +160 -0
- data/lib/ceedling/defaults.rb +477 -0
- data/lib/ceedling/defineinator.rb +90 -0
- data/lib/ceedling/dependinator.rb +31 -0
- data/lib/ceedling/encodinator.rb +26 -0
- data/lib/ceedling/erb_wrapper.rb +16 -0
- data/lib/ceedling/exceptions.rb +47 -0
- data/lib/ceedling/file_finder.rb +183 -0
- data/lib/ceedling/file_finder_helper.rb +116 -0
- data/lib/ceedling/file_path_collection_utils.rb +137 -0
- data/lib/ceedling/file_path_utils.rb +190 -0
- data/lib/ceedling/file_system_wrapper.rb +16 -0
- data/lib/ceedling/file_wrapper.rb +122 -0
- data/lib/ceedling/flaginator.rb +65 -0
- data/lib/ceedling/generator.rb +365 -0
- data/lib/ceedling/generator_helper.rb +78 -0
- data/lib/ceedling/generator_mocks.rb +41 -0
- data/lib/ceedling/generator_test_results.rb +270 -0
- data/lib/ceedling/generator_test_results_backtrace.rb +215 -0
- data/lib/ceedling/generator_test_results_sanity_checker.rb +70 -0
- data/lib/ceedling/generator_test_runner.rb +84 -0
- data/lib/ceedling/include_pathinator.rb +83 -0
- data/lib/ceedling/loginator.rb +326 -0
- data/lib/ceedling/makefile.rb +52 -0
- data/lib/ceedling/objects.yml +352 -0
- data/lib/ceedling/parsing_parcels.rb +77 -0
- data/lib/ceedling/plugin.rb +30 -0
- data/lib/ceedling/plugin_manager.rb +133 -0
- data/lib/ceedling/plugin_manager_helper.rb +25 -0
- data/lib/ceedling/plugin_reportinator.rb +139 -0
- data/lib/ceedling/plugin_reportinator_helper.rb +84 -0
- data/lib/ceedling/preprocessinator.rb +239 -0
- data/lib/ceedling/preprocessinator_extractor.rb +257 -0
- data/lib/ceedling/preprocessinator_file_handler.rb +229 -0
- data/lib/ceedling/preprocessinator_includes_handler.rb +382 -0
- data/lib/ceedling/rake_utils.rb +23 -0
- data/lib/ceedling/rake_wrapper.rb +40 -0
- data/lib/ceedling/rakefile.rb +145 -0
- data/lib/ceedling/release_invoker.rb +68 -0
- data/lib/ceedling/release_invoker_helper.rb +12 -0
- data/lib/ceedling/reportinator.rb +124 -0
- data/lib/ceedling/rules_release.rake +107 -0
- data/lib/ceedling/rules_tests.rake +62 -0
- data/lib/ceedling/setupinator.rb +199 -0
- data/lib/ceedling/stream_wrapper.rb +51 -0
- data/lib/ceedling/system_utils.rb +43 -0
- data/lib/ceedling/system_wrapper.rb +150 -0
- data/lib/ceedling/task_invoker.rb +70 -0
- data/lib/ceedling/tasks_base.rake +39 -0
- data/lib/ceedling/tasks_filesystem.rake +99 -0
- data/lib/ceedling/tasks_release.rake +43 -0
- data/lib/ceedling/tasks_tests.rake +71 -0
- data/lib/ceedling/test_context_extractor.rb +379 -0
- data/lib/ceedling/test_invoker.rb +506 -0
- data/lib/ceedling/test_invoker_helper.rb +347 -0
- data/lib/ceedling/test_runner_manager.rb +47 -0
- data/lib/ceedling/tool_executor.rb +233 -0
- data/lib/ceedling/tool_executor_helper.rb +107 -0
- data/lib/ceedling/tool_validator.rb +149 -0
- data/lib/ceedling/verbosinator.rb +22 -0
- data/lib/ceedling/yaml_wrapper.rb +37 -0
- data/lib/ceedling.rb +12 -4
- data/lib/version.rb +24 -0
- data/license.txt +24 -0
- data/plugins/beep/README.md +133 -0
- data/plugins/beep/config/defaults.yml +12 -0
- data/plugins/beep/config/defaults_beep.rb +67 -0
- data/plugins/beep/lib/beep.rb +85 -0
- data/plugins/bullseye/README.md +81 -0
- data/plugins/bullseye/bullseye.rake +180 -0
- data/plugins/bullseye/config/defaults.yml +66 -0
- data/plugins/bullseye/lib/bullseye.rb +203 -0
- data/plugins/command_hooks/README.md +241 -0
- data/plugins/command_hooks/lib/command_hooks.rb +231 -0
- data/plugins/compile_commands_json_db/README.md +40 -0
- data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +51 -0
- data/plugins/dependencies/README.md +321 -0
- data/plugins/dependencies/Rakefile +188 -0
- data/plugins/dependencies/config/defaults.yml +78 -0
- data/plugins/dependencies/dependencies.rake +157 -0
- data/plugins/dependencies/example/boss/project.yml +231 -0
- data/plugins/dependencies/example/boss/src/boss.c +80 -0
- data/plugins/dependencies/example/boss/src/boss.h +16 -0
- data/plugins/dependencies/example/boss/src/main.c +45 -0
- data/plugins/dependencies/example/boss/test/test_boss.c +118 -0
- data/plugins/dependencies/example/supervisor/project.yml +165 -0
- data/plugins/dependencies/example/supervisor/src/supervisor.c +45 -0
- data/plugins/dependencies/example/supervisor/src/supervisor.h +14 -0
- data/plugins/dependencies/example/supervisor/test/test_supervisor.c +58 -0
- data/plugins/dependencies/example/version.tar.gzip +0 -0
- data/plugins/dependencies/example/workerbees.zip +0 -0
- data/plugins/dependencies/lib/dependencies.rb +531 -0
- data/plugins/fff/README.md +242 -0
- data/plugins/fff/Rakefile +26 -0
- data/plugins/fff/config/fff.yml +13 -0
- data/plugins/fff/examples/fff_example/project.yml +145 -0
- data/plugins/fff/examples/fff_example/src/bar.c +8 -0
- data/plugins/fff/examples/fff_example/src/bar.h +21 -0
- data/plugins/fff/examples/fff_example/src/custom_types.h +13 -0
- data/plugins/fff/examples/fff_example/src/display.c +14 -0
- data/plugins/fff/examples/fff_example/src/display.h +23 -0
- data/plugins/fff/examples/fff_example/src/event_processor.c +100 -0
- data/plugins/fff/examples/fff_example/src/event_processor.h +18 -0
- data/plugins/fff/examples/fff_example/src/foo.c +23 -0
- data/plugins/fff/examples/fff_example/src/foo.h +15 -0
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +8 -0
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +13 -0
- data/plugins/fff/examples/fff_example/test/test_event_processor.c +160 -0
- data/plugins/fff/examples/fff_example/test/test_foo.c +54 -0
- data/plugins/fff/lib/fff.rb +90 -0
- data/plugins/fff/lib/fff_mock_generator.rb +172 -0
- data/plugins/fff/spec/fff_mock_header_generator_spec.rb +311 -0
- data/plugins/fff/spec/fff_mock_source_generator_spec.rb +156 -0
- data/plugins/fff/spec/header_generator.rb +58 -0
- data/plugins/fff/spec/spec_helper.rb +103 -0
- data/plugins/fff/src/fff_unity_helper.h +40 -0
- data/plugins/fff/vendor/fff/LICENSE +25 -0
- data/plugins/fff/vendor/fff/Makefile +10 -0
- data/plugins/fff/vendor/fff/README.md +454 -0
- data/plugins/fff/vendor/fff/buildandtest +15 -0
- data/plugins/fff/vendor/fff/examples/Makefile +7 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +64 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +32 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +21 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +58 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +70 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +25 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +23 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +27 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +25 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +67 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +31 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +56 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +22 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +191 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +144 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +42 -0
- data/plugins/fff/vendor/fff/fakegen.rb +428 -0
- data/plugins/fff/vendor/fff/fff.h +5122 -0
- data/plugins/fff/vendor/fff/gtest/Makefile +22 -0
- data/plugins/fff/vendor/fff/gtest/gtest-all.cc +9118 -0
- data/plugins/fff/vendor/fff/gtest/gtest-main.cc +6 -0
- data/plugins/fff/vendor/fff/gtest/gtest.h +19547 -0
- data/plugins/fff/vendor/fff/test/Makefile +81 -0
- data/plugins/fff/vendor/fff/test/c_test_framework.h +25 -0
- data/plugins/fff/vendor/fff/test/fff_test_c.c +116 -0
- data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +53 -0
- data/plugins/fff/vendor/fff/test/fff_test_global_c.c +84 -0
- data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +31 -0
- data/plugins/fff/vendor/fff/test/global_fakes.c +21 -0
- data/plugins/fff/vendor/fff/test/global_fakes.h +47 -0
- data/plugins/fff/vendor/fff/test/test_cases.include +276 -0
- data/plugins/gcov/README.md +893 -0
- data/plugins/gcov/config/defaults.yml +30 -0
- data/plugins/gcov/config/defaults_gcov.rb +109 -0
- data/plugins/gcov/gcov.rake +100 -0
- data/plugins/gcov/lib/gcov.rb +282 -0
- data/plugins/gcov/lib/gcov_constants.rb +63 -0
- data/plugins/gcov/lib/gcovr_reportinator.rb +425 -0
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +220 -0
- data/plugins/gcov/lib/reportinator_helper.rb +30 -0
- data/plugins/module_generator/README.md +267 -0
- data/plugins/module_generator/Rakefile +232 -0
- data/plugins/module_generator/assets/stubby1.h +13 -0
- data/plugins/module_generator/assets/stubby2.h +15 -0
- data/plugins/module_generator/config/module_generator.yml +13 -0
- data/plugins/module_generator/example/project.yml +174 -0
- data/plugins/module_generator/lib/module_generator.rb +122 -0
- data/plugins/module_generator/module_generator.rake +69 -0
- data/plugins/report_build_warnings_log/README.md +40 -0
- data/plugins/report_build_warnings_log/config/defaults.yml +12 -0
- data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +143 -0
- data/plugins/report_tests_gtestlike_stdout/README.md +96 -0
- data/plugins/report_tests_gtestlike_stdout/assets/template.erb +83 -0
- data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +11 -0
- data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +69 -0
- data/plugins/report_tests_ide_stdout/README.md +62 -0
- data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +11 -0
- data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +72 -0
- data/plugins/report_tests_log_factory/README.md +446 -0
- data/plugins/report_tests_log_factory/config/defaults.yml +11 -0
- data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +100 -0
- data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +181 -0
- data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +72 -0
- data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +197 -0
- data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +135 -0
- data/plugins/report_tests_log_factory/lib/tests_reporter.rb +70 -0
- data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
- data/plugins/report_tests_pretty_stdout/README.md +54 -0
- data/plugins/report_tests_pretty_stdout/assets/template.erb +63 -0
- data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +11 -0
- data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +73 -0
- data/plugins/report_tests_raw_output_log/README.md +50 -0
- data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +129 -0
- data/plugins/report_tests_teamcity_stdout/README.md +94 -0
- data/plugins/report_tests_teamcity_stdout/config/defaults.yml +12 -0
- data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +11 -0
- data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +163 -0
- data/spec/config_walkinator_spec.rb +62 -0
- data/spec/configurator_builder_spec.rb +16 -0
- data/spec/configurator_helper_spec.rb +12 -0
- data/spec/configurator_spec.rb +18 -0
- data/spec/file_finder_helper_spec.rb +73 -0
- data/spec/gcov/gcov_deployment_spec.rb +135 -0
- data/spec/gcov/gcov_test_cases_spec.rb +344 -0
- data/spec/generator_test_results_sanity_checker_spec.rb +104 -0
- data/spec/generator_test_results_spec.rb +131 -0
- data/spec/manual/stress_test.rb +31 -0
- data/spec/parsing_parcels_spec.rb +66 -0
- data/spec/preprocessinator_extractor_spec.rb +408 -0
- data/spec/preprocessinator_includes_handler_spec.rb +289 -0
- data/spec/reportinator_spec.rb +26 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/spec_system_helper.rb +994 -0
- data/spec/support/other_target.yml +7 -0
- data/spec/support/target.yml +7 -0
- data/spec/support/test_example.fail +25 -0
- data/spec/support/test_example.pass +25 -0
- data/spec/support/test_example_empty.pass +15 -0
- data/spec/support/test_example_ignore.pass +25 -0
- data/spec/support/test_example_mangled.pass +22 -0
- data/spec/support/test_example_with_time.pass +25 -0
- data/spec/system/deployment_as_gem_spec.rb +76 -0
- data/spec/system/deployment_as_vendor_spec.rb +123 -0
- data/spec/system/example_temp_sensor_spec.rb +264 -0
- data/spec/system/upgrade_as_vendor_spec.rb +68 -0
- data/spec/system_utils_spec.rb +65 -0
- data/spec/test_context_extractor_spec.rb +328 -0
- data/spec/tool_executor_helper_spec.rb +219 -0
- data/spec/uncategorized_specs_spec.rb +15 -0
- data/vendor/c_exception/README.md +236 -0
- data/vendor/c_exception/docs/CException.md +289 -0
- data/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
- data/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/c_exception/lib/CException.c +59 -0
- data/vendor/c_exception/lib/CException.h +122 -0
- data/vendor/c_exception/lib/meson.build +11 -0
- data/vendor/c_exception/license.txt +22 -0
- data/vendor/c_exception/meson.build +14 -0
- data/vendor/c_exception/project.yml +263 -0
- data/vendor/c_exception/test/TestException.c +398 -0
- data/vendor/c_exception/test/support/CExceptionConfig.h +53 -0
- data/vendor/cmock/Gemfile +1 -0
- data/vendor/cmock/LICENSE.txt +21 -0
- data/vendor/cmock/README.md +55 -0
- data/vendor/cmock/cmock.gemspec +34 -0
- data/vendor/cmock/config/production_environment.rb +13 -0
- data/vendor/cmock/config/test_environment.rb +17 -0
- data/vendor/cmock/docs/CMockChangeLog.md +166 -0
- data/vendor/cmock/docs/CMockKnownIssues.md +13 -0
- data/vendor/cmock/docs/CMock_ArgumentValidation.md +274 -0
- data/vendor/cmock/docs/CMock_Summary.md +866 -0
- data/vendor/cmock/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/cmock/docs/CONTRIBUTING.md +238 -0
- data/vendor/cmock/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/cmock/examples/make_example/Makefile +30 -0
- data/vendor/cmock/examples/make_example/src/foo.c +12 -0
- data/vendor/cmock/examples/make_example/src/foo.h +12 -0
- data/vendor/cmock/examples/make_example/src/main.c +22 -0
- data/vendor/cmock/examples/make_example/test/test_foo.c +24 -0
- data/vendor/cmock/examples/make_example/test/test_main.c +22 -0
- data/vendor/cmock/examples/temp_sensor/rakefile.rb +49 -0
- data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +280 -0
- data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +2564 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +49 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +18 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +34 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +16 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +25 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +17 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +40 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +20 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +58 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +17 -0
- data/vendor/cmock/examples/temp_sensor/src/Executor.c +32 -0
- data/vendor/cmock/examples/temp_sensor/src/Executor.h +16 -0
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +25 -0
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +14 -0
- data/vendor/cmock/examples/temp_sensor/src/Main.c +53 -0
- data/vendor/cmock/examples/temp_sensor/src/Main.h +14 -0
- data/vendor/cmock/examples/temp_sensor/src/Model.c +17 -0
- data/vendor/cmock/examples/temp_sensor/src/Model.h +15 -0
- data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +14 -0
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +79 -0
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +18 -0
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +34 -0
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +13 -0
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +49 -0
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +17 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +22 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +16 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +58 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +22 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +22 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +15 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +62 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +20 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +32 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +17 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +16 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +15 -0
- data/vendor/cmock/examples/temp_sensor/src/Types.h +110 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +25 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +13 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +28 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +14 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +46 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +20 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +29 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +16 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +41 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +17 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +23 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +15 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +14 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +15 -0
- data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +97 -0
- data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +143 -0
- data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +132 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +128 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +51 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +50 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +40 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +54 -0
- data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +43 -0
- data/vendor/cmock/examples/temp_sensor/test/TestMain.c +31 -0
- data/vendor/cmock/examples/temp_sensor/test/TestModel.c +27 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +111 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +40 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +76 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +39 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +119 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +33 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +85 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +73 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +25 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +28 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +47 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +84 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +44 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +47 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +50 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +29 -0
- data/vendor/cmock/lib/cmock.rb +127 -0
- data/vendor/cmock/lib/cmock_config.rb +184 -0
- data/vendor/cmock/lib/cmock_file_writer.rb +48 -0
- data/vendor/cmock/lib/cmock_generator.rb +379 -0
- data/vendor/cmock/lib/cmock_generator_plugin_array.rb +68 -0
- data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +88 -0
- data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +50 -0
- data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +105 -0
- data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +52 -0
- data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +90 -0
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +49 -0
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +87 -0
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +102 -0
- data/vendor/cmock/lib/cmock_generator_utils.rb +251 -0
- data/vendor/cmock/lib/cmock_header_parser.rb +629 -0
- data/vendor/cmock/lib/cmock_plugin_manager.rb +51 -0
- data/vendor/cmock/lib/cmock_unityhelper_parser.rb +82 -0
- data/vendor/cmock/lib/cmock_version.rb +29 -0
- data/vendor/cmock/meson.build +17 -0
- data/vendor/cmock/scripts/create_makefile.rb +210 -0
- data/vendor/cmock/scripts/create_mock.rb +15 -0
- data/vendor/cmock/scripts/create_runner.rb +25 -0
- data/vendor/cmock/scripts/test_summary.rb +25 -0
- data/vendor/cmock/src/cmock.c +238 -0
- data/vendor/cmock/src/cmock.h +54 -0
- data/vendor/cmock/src/cmock_internals.h +98 -0
- data/vendor/cmock/src/meson.build +12 -0
- data/vendor/cmock/test/c/TestCMockC.c +340 -0
- data/vendor/cmock/test/c/TestCMockC.yml +21 -0
- data/vendor/cmock/test/c/TestCMockCDynamic.c +193 -0
- data/vendor/cmock/test/c/TestCMockCDynamic.yml +19 -0
- data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +43 -0
- data/vendor/cmock/test/c/TestCMockC_Runner.c +48 -0
- data/vendor/cmock/test/iar/iar_v4/Resource/SAM7_FLASH.mac +71 -0
- data/vendor/cmock/test/iar/iar_v4/Resource/SAM7_RAM.mac +94 -0
- data/vendor/cmock/test/iar/iar_v4/Resource/SAM7_SIM.mac +67 -0
- data/vendor/cmock/test/iar/iar_v4/Resource/at91SAM7X256_FLASH.xcl +185 -0
- data/vendor/cmock/test/iar/iar_v4/Resource/at91SAM7X256_RAM.xcl +185 -0
- data/vendor/cmock/test/iar/iar_v4/Resource/ioat91sam7x256.ddf +2259 -0
- data/vendor/cmock/test/iar/iar_v4/cmock_demo.dep +3691 -0
- data/vendor/cmock/test/iar/iar_v4/cmock_demo.ewd +1696 -0
- data/vendor/cmock/test/iar/iar_v4/cmock_demo.ewp +2581 -0
- data/vendor/cmock/test/iar/iar_v4/cmock_demo.eww +10 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +68 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256.inc +2314 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256.rdf +4704 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256.tcl +3407 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +2275 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +4387 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/lib_AT91SAM7X256.h +4211 -0
- data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.cspy.bat +32 -0
- data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.dbgdt +86 -0
- data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.dni +42 -0
- data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.wsdt +76 -0
- data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup.s79 +266 -0
- data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +105 -0
- data/vendor/cmock/test/iar/iar_v5/Resource/SAM7_FLASH.mac +71 -0
- data/vendor/cmock/test/iar/iar_v5/Resource/SAM7_RAM.mac +94 -0
- data/vendor/cmock/test/iar/iar_v5/Resource/SAM7_SIM.mac +67 -0
- data/vendor/cmock/test/iar/iar_v5/Resource/at91SAM7X256_FLASH.icf +43 -0
- data/vendor/cmock/test/iar/iar_v5/Resource/at91SAM7X256_RAM.icf +42 -0
- data/vendor/cmock/test/iar/iar_v5/cmock_demo.dep +4204 -0
- data/vendor/cmock/test/iar/iar_v5/cmock_demo.ewd +1906 -0
- data/vendor/cmock/test/iar/iar_v5/cmock_demo.ewp +2426 -0
- data/vendor/cmock/test/iar/iar_v5/cmock_demo.eww +26 -0
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +68 -0
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +2275 -0
- data/vendor/cmock/test/iar/iar_v5/incIAR/lib_AT91SAM7X256.h +4211 -0
- data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +37 -0
- data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +33 -0
- data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.dbgdt +5 -0
- data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.dni +18 -0
- data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.wsdt +74 -0
- data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +12 -0
- data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.cspy.bat +33 -0
- data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.dbgdt +85 -0
- data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.dni +44 -0
- data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.wsdt +73 -0
- data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo_Binary.jlink +12 -0
- data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +12 -0
- data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo_RAM_Debug.jlink +12 -0
- data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup.s +299 -0
- data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +105 -0
- data/vendor/cmock/test/rakefile +150 -0
- data/vendor/cmock/test/rakefile_helper.rb +417 -0
- data/vendor/cmock/test/system/systest_generator.rb +206 -0
- data/vendor/cmock/test/system/test_compilation/callingconv.h +18 -0
- data/vendor/cmock/test/system/test_compilation/config.yml +17 -0
- data/vendor/cmock/test/system/test_compilation/const.h +44 -0
- data/vendor/cmock/test/system/test_compilation/inline.h +30 -0
- data/vendor/cmock/test/system/test_compilation/osek.h +282 -0
- data/vendor/cmock/test/system/test_compilation/parsing.h +99 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +382 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +467 -0
- data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +453 -0
- data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +131 -0
- data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +94 -0
- data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +315 -0
- data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +254 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +115 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +180 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +177 -0
- data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +245 -0
- data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +217 -0
- data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +90 -0
- data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +336 -0
- data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +332 -0
- data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +44 -0
- data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +59 -0
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +98 -0
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +66 -0
- data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +72 -0
- data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +249 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_and_expect_any_args.yml +242 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +238 -0
- data/vendor/cmock/test/system/test_interactions/skeleton.yml +62 -0
- data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +83 -0
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +284 -0
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +287 -0
- data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +228 -0
- data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +84 -0
- data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +146 -0
- data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +98 -0
- data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +149 -0
- data/vendor/cmock/test/targets/clang_strict.yml +97 -0
- data/vendor/cmock/test/targets/gcc.yml +65 -0
- data/vendor/cmock/test/targets/gcc_64.yml +65 -0
- data/vendor/cmock/test/targets/gcc_tiny.yml +87 -0
- data/vendor/cmock/test/targets/iar_arm_v4.yml +117 -0
- data/vendor/cmock/test/targets/iar_arm_v5.yml +102 -0
- data/vendor/cmock/test/test_helper.rb +45 -0
- data/vendor/cmock/test/unit/cmock_config_test.rb +127 -0
- data/vendor/cmock/test/unit/cmock_config_test.yml +14 -0
- data/vendor/cmock/test/unit/cmock_file_writer_test.rb +28 -0
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +706 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +145 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +282 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +109 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +189 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +71 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +205 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +117 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +121 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +124 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +209 -0
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +404 -0
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +2886 -0
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +102 -0
- data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +224 -0
- data/vendor/cmock/vendor/behaviors/Manifest.txt +9 -0
- data/vendor/cmock/vendor/behaviors/Rakefile +19 -0
- data/vendor/cmock/vendor/behaviors/lib/behaviors/reporttask.rb +158 -0
- data/vendor/cmock/vendor/behaviors/lib/behaviors.rb +76 -0
- data/vendor/cmock/vendor/behaviors/test/behaviors_tasks_test.rb +73 -0
- data/vendor/cmock/vendor/behaviors/test/behaviors_test.rb +50 -0
- data/vendor/cmock/vendor/behaviors/test/tasks_test/Rakefile +19 -0
- data/vendor/cmock/vendor/behaviors/test/tasks_test/lib/user.rb +2 -0
- data/vendor/cmock/vendor/behaviors/test/tasks_test/test/user_test.rb +17 -0
- data/vendor/cmock/vendor/c_exception/README.md +236 -0
- data/vendor/cmock/vendor/c_exception/docs/CException.md +289 -0
- data/vendor/cmock/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/cmock/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
- data/vendor/cmock/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.c +59 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.h +122 -0
- data/vendor/cmock/vendor/c_exception/lib/meson.build +11 -0
- data/vendor/cmock/vendor/c_exception/license.txt +22 -0
- data/vendor/cmock/vendor/c_exception/meson.build +14 -0
- data/vendor/cmock/vendor/c_exception/project.yml +263 -0
- data/vendor/cmock/vendor/c_exception/test/TestException.c +398 -0
- data/vendor/cmock/vendor/c_exception/test/support/CExceptionConfig.h +53 -0
- data/vendor/cmock/vendor/unity/CMakeLists.txt +172 -0
- data/vendor/cmock/vendor/unity/LICENSE.txt +21 -0
- data/vendor/cmock/vendor/unity/README.md +234 -0
- data/vendor/cmock/vendor/unity/auto/__init__.py +7 -0
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +120 -0
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +40 -0
- data/vendor/cmock/vendor/unity/auto/extract_version.py +22 -0
- data/vendor/cmock/vendor/unity/auto/generate_config.yml +43 -0
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +318 -0
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +547 -0
- data/vendor/cmock/vendor/unity/auto/parse_output.rb +390 -0
- data/vendor/cmock/vendor/unity/auto/run_test.erb +37 -0
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.py +161 -0
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +253 -0
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +28 -0
- data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +13 -0
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +140 -0
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +140 -0
- data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +23 -0
- data/vendor/cmock/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/cmock/vendor/unity/docs/CONTRIBUTING.md +238 -0
- data/vendor/cmock/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
- data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +187 -0
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +860 -0
- data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +110 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +654 -0
- data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.md +242 -0
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +533 -0
- data/vendor/cmock/vendor/unity/docs/UnityKnownIssues.md +13 -0
- data/vendor/cmock/vendor/unity/examples/example_1/makefile +73 -0
- data/vendor/cmock/vendor/unity/examples/example_1/meson.build +48 -0
- data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +12 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +30 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +9 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +17 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +8 -0
- data/vendor/cmock/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +68 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +37 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
- data/vendor/cmock/vendor/unity/examples/example_2/makefile +72 -0
- data/vendor/cmock/vendor/unity/examples/example_2/readme.txt +5 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +30 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +9 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +17 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +8 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +71 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +40 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +19 -0
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +17 -0
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +19 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +45 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +255 -0
- data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +13 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +30 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +9 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +17 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +8 -0
- data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +54 -0
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +68 -0
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +37 -0
- data/vendor/cmock/vendor/unity/examples/example_4/meson.build +12 -0
- data/vendor/cmock/vendor/unity/examples/example_4/readme.txt +15 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +30 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +9 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +17 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +8 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/meson.build +16 -0
- data/vendor/cmock/vendor/unity/examples/example_4/subprojects/unity.wrap +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +69 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +41 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/meson.build +7 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/meson.build +13 -0
- data/vendor/cmock/vendor/unity/examples/unity_config.h +251 -0
- data/vendor/cmock/vendor/unity/extras/bdd/readme.md +40 -0
- data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
- data/vendor/cmock/vendor/unity/extras/bdd/test/meson.build +9 -0
- data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
- data/vendor/cmock/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
- data/vendor/cmock/vendor/unity/extras/fixture/readme.md +26 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/meson.build +10 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +310 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +94 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +50 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +72 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +20 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +39 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +245 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +32 -0
- data/vendor/cmock/vendor/unity/extras/memory/readme.md +42 -0
- data/vendor/cmock/vendor/unity/extras/memory/src/meson.build +9 -0
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +203 -0
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +61 -0
- data/vendor/cmock/vendor/unity/extras/memory/test/Makefile +85 -0
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +326 -0
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +57 -0
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +17 -0
- data/vendor/cmock/vendor/unity/library.json +25 -0
- data/vendor/cmock/vendor/unity/meson.build +80 -0
- data/vendor/cmock/vendor/unity/meson_options.txt +3 -0
- data/vendor/cmock/vendor/unity/platformio-build.py +24 -0
- data/vendor/cmock/vendor/unity/src/meson.build +17 -0
- data/vendor/cmock/vendor/unity/src/unity.c +2501 -0
- data/vendor/cmock/vendor/unity/src/unity.h +698 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +1183 -0
- data/vendor/cmock/vendor/unity/test/Makefile +167 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +61 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +57 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +55 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +15 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +80 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +76 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +77 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +90 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +67 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +70 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +58 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +67 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +70 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +71 -0
- data/vendor/cmock/vendor/unity/test/rakefile +164 -0
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +316 -0
- data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +164 -0
- data/vendor/cmock/vendor/unity/test/targets/ansi.yml +51 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +79 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +79 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +52 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +53 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +50 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +62 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +50 -0
- data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +98 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +105 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +99 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +99 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +97 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +101 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +119 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +106 -0
- data/vendor/cmock/vendor/unity/test/testdata/CException.h +18 -0
- data/vendor/cmock/vendor/unity/test/testdata/Defs.h +16 -0
- data/vendor/cmock/vendor/unity/test/testdata/cmock.h +21 -0
- data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +20 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +204 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
- data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +151 -0
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1341 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +2941 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +375 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +1285 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +1395 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +2863 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +783 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +82 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +309 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +330 -0
- data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +21 -0
- data/vendor/cmock/vendor/unity/unityConfig.cmake +1 -0
- data/vendor/diy/History.txt +28 -0
- data/vendor/diy/LICENSE.txt +7 -0
- data/vendor/diy/README.rdoc +215 -0
- data/vendor/diy/Rakefile +33 -0
- data/vendor/diy/TODO.txt +9 -0
- data/vendor/diy/diy.gemspec +131 -0
- data/vendor/diy/lib/diy/factory.rb +44 -0
- data/vendor/diy/lib/diy.rb +411 -0
- data/vendor/diy/sample_code/car.rb +15 -0
- data/vendor/diy/sample_code/chassis.rb +13 -0
- data/vendor/diy/sample_code/diy_example.rb +34 -0
- data/vendor/diy/sample_code/engine.rb +13 -0
- data/vendor/diy/sample_code/objects.yml +18 -0
- data/vendor/diy/test/constructor.rb +127 -0
- data/vendor/diy/test/diy_test.rb +616 -0
- data/vendor/diy/test/factory_test.rb +87 -0
- data/vendor/diy/test/files/broken_construction.yml +15 -0
- data/vendor/diy/test/files/cat/cat.rb +11 -0
- data/vendor/diy/test/files/cat/extra_conflict.yml +13 -0
- data/vendor/diy/test/files/cat/heritage.rb +10 -0
- data/vendor/diy/test/files/cat/needs_input.yml +11 -0
- data/vendor/diy/test/files/cat/the_cat_lineage.rb +9 -0
- data/vendor/diy/test/files/dog/dog_model.rb +11 -0
- data/vendor/diy/test/files/dog/dog_presenter.rb +11 -0
- data/vendor/diy/test/files/dog/dog_view.rb +10 -0
- data/vendor/diy/test/files/dog/file_resolver.rb +10 -0
- data/vendor/diy/test/files/dog/other_thing.rb +10 -0
- data/vendor/diy/test/files/dog/simple.yml +19 -0
- data/vendor/diy/test/files/donkey/foo/bar/qux.rb +15 -0
- data/vendor/diy/test/files/donkey/foo.rb +16 -0
- data/vendor/diy/test/files/factory/beef.rb +13 -0
- data/vendor/diy/test/files/factory/dog.rb +14 -0
- data/vendor/diy/test/files/factory/factory.yml +27 -0
- data/vendor/diy/test/files/factory/farm/llama.rb +15 -0
- data/vendor/diy/test/files/factory/farm/pork.rb +15 -0
- data/vendor/diy/test/files/factory/kitten.rb +21 -0
- data/vendor/diy/test/files/fud/objects.yml +21 -0
- data/vendor/diy/test/files/fud/toy.rb +22 -0
- data/vendor/diy/test/files/functions/attached_things_builder.rb +10 -0
- data/vendor/diy/test/files/functions/invalid_method.yml +13 -0
- data/vendor/diy/test/files/functions/method_extractor.rb +11 -0
- data/vendor/diy/test/files/functions/nonsingleton_objects.yml +14 -0
- data/vendor/diy/test/files/functions/objects.yml +30 -0
- data/vendor/diy/test/files/functions/thing.rb +11 -0
- data/vendor/diy/test/files/functions/thing_builder.rb +33 -0
- data/vendor/diy/test/files/functions/things_builder.rb +11 -0
- data/vendor/diy/test/files/gnu/objects.yml +22 -0
- data/vendor/diy/test/files/gnu/thinger.rb +15 -0
- data/vendor/diy/test/files/goat/base.rb +16 -0
- data/vendor/diy/test/files/goat/can.rb +14 -0
- data/vendor/diy/test/files/goat/goat.rb +14 -0
- data/vendor/diy/test/files/goat/objects.yml +20 -0
- data/vendor/diy/test/files/goat/paper.rb +14 -0
- data/vendor/diy/test/files/goat/plane.rb +15 -0
- data/vendor/diy/test/files/goat/shirt.rb +14 -0
- data/vendor/diy/test/files/goat/wings.rb +16 -0
- data/vendor/diy/test/files/horse/holder_thing.rb +11 -0
- data/vendor/diy/test/files/horse/objects.yml +15 -0
- data/vendor/diy/test/files/namespace/animal/bird.rb +13 -0
- data/vendor/diy/test/files/namespace/animal/cat.rb +13 -0
- data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +16 -0
- data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +15 -0
- data/vendor/diy/test/files/namespace/bad_module_specified.yml +16 -0
- data/vendor/diy/test/files/namespace/class_name_combine.yml +16 -0
- data/vendor/diy/test/files/namespace/hello.txt +1 -0
- data/vendor/diy/test/files/namespace/no_module_specified.yml +16 -0
- data/vendor/diy/test/files/namespace/objects.yml +29 -0
- data/vendor/diy/test/files/namespace/road.rb +10 -0
- data/vendor/diy/test/files/namespace/sky.rb +10 -0
- data/vendor/diy/test/files/namespace/subcontext.yml +30 -0
- data/vendor/diy/test/files/non_singleton/air.rb +10 -0
- data/vendor/diy/test/files/non_singleton/fat_cat.rb +11 -0
- data/vendor/diy/test/files/non_singleton/objects.yml +27 -0
- data/vendor/diy/test/files/non_singleton/pig.rb +11 -0
- data/vendor/diy/test/files/non_singleton/thread_spinner.rb +11 -0
- data/vendor/diy/test/files/non_singleton/tick.rb +11 -0
- data/vendor/diy/test/files/non_singleton/yard.rb +10 -0
- data/vendor/diy/test/files/yak/core_model.rb +11 -0
- data/vendor/diy/test/files/yak/core_presenter.rb +11 -0
- data/vendor/diy/test/files/yak/core_view.rb +9 -0
- data/vendor/diy/test/files/yak/data_source.rb +9 -0
- data/vendor/diy/test/files/yak/fringe_model.rb +11 -0
- data/vendor/diy/test/files/yak/fringe_presenter.rb +11 -0
- data/vendor/diy/test/files/yak/fringe_view.rb +9 -0
- data/vendor/diy/test/files/yak/giant_squid.rb +11 -0
- data/vendor/diy/test/files/yak/krill.rb +10 -0
- data/vendor/diy/test/files/yak/my_objects.yml +29 -0
- data/vendor/diy/test/files/yak/sub_sub_context_test.yml +35 -0
- data/vendor/diy/test/test_helper.rb +63 -0
- data/vendor/unity/CMakeLists.txt +172 -0
- data/vendor/unity/LICENSE.txt +21 -0
- data/vendor/unity/README.md +234 -0
- data/vendor/unity/auto/__init__.py +7 -0
- data/vendor/unity/auto/colour_prompt.rb +120 -0
- data/vendor/unity/auto/colour_reporter.rb +40 -0
- data/vendor/unity/auto/extract_version.py +22 -0
- data/vendor/unity/auto/generate_config.yml +43 -0
- data/vendor/unity/auto/generate_module.rb +318 -0
- data/vendor/unity/auto/generate_test_runner.rb +547 -0
- data/vendor/unity/auto/parse_output.rb +390 -0
- data/vendor/unity/auto/run_test.erb +37 -0
- data/vendor/unity/auto/stylize_as_junit.py +161 -0
- data/vendor/unity/auto/stylize_as_junit.rb +253 -0
- data/vendor/unity/auto/test_file_filter.rb +28 -0
- data/vendor/unity/auto/type_sanitizer.rb +13 -0
- data/vendor/unity/auto/unity_test_summary.py +140 -0
- data/vendor/unity/auto/unity_test_summary.rb +140 -0
- data/vendor/unity/auto/yaml_helper.rb +23 -0
- data/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/unity/docs/CONTRIBUTING.md +238 -0
- data/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
- data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +187 -0
- data/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
- data/vendor/unity/docs/UnityAssertionsReference.md +860 -0
- data/vendor/unity/docs/UnityChangeLog.md +110 -0
- data/vendor/unity/docs/UnityConfigurationGuide.md +654 -0
- data/vendor/unity/docs/UnityGettingStartedGuide.md +242 -0
- data/vendor/unity/docs/UnityHelperScriptsGuide.md +533 -0
- data/vendor/unity/docs/UnityKnownIssues.md +13 -0
- data/vendor/unity/examples/example_1/makefile +73 -0
- data/vendor/unity/examples/example_1/meson.build +48 -0
- data/vendor/unity/examples/example_1/readme.txt +12 -0
- data/vendor/unity/examples/example_1/src/ProductionCode.c +30 -0
- data/vendor/unity/examples/example_1/src/ProductionCode.h +9 -0
- data/vendor/unity/examples/example_1/src/ProductionCode2.c +17 -0
- data/vendor/unity/examples/example_1/src/ProductionCode2.h +8 -0
- data/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
- data/vendor/unity/examples/example_1/test/TestProductionCode.c +68 -0
- data/vendor/unity/examples/example_1/test/TestProductionCode2.c +37 -0
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
- data/vendor/unity/examples/example_2/makefile +72 -0
- data/vendor/unity/examples/example_2/readme.txt +5 -0
- data/vendor/unity/examples/example_2/src/ProductionCode.c +30 -0
- data/vendor/unity/examples/example_2/src/ProductionCode.h +9 -0
- data/vendor/unity/examples/example_2/src/ProductionCode2.c +17 -0
- data/vendor/unity/examples/example_2/src/ProductionCode2.h +8 -0
- data/vendor/unity/examples/example_2/test/TestProductionCode.c +71 -0
- data/vendor/unity/examples/example_2/test/TestProductionCode2.c +40 -0
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
- data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +19 -0
- data/vendor/unity/examples/example_3/helper/UnityHelper.c +17 -0
- data/vendor/unity/examples/example_3/helper/UnityHelper.h +19 -0
- data/vendor/unity/examples/example_3/rakefile.rb +45 -0
- data/vendor/unity/examples/example_3/rakefile_helper.rb +255 -0
- data/vendor/unity/examples/example_3/readme.txt +13 -0
- data/vendor/unity/examples/example_3/src/ProductionCode.c +30 -0
- data/vendor/unity/examples/example_3/src/ProductionCode.h +9 -0
- data/vendor/unity/examples/example_3/src/ProductionCode2.c +17 -0
- data/vendor/unity/examples/example_3/src/ProductionCode2.h +8 -0
- data/vendor/unity/examples/example_3/target_gcc_32.yml +54 -0
- data/vendor/unity/examples/example_3/test/TestProductionCode.c +68 -0
- data/vendor/unity/examples/example_3/test/TestProductionCode2.c +37 -0
- data/vendor/unity/examples/example_4/meson.build +12 -0
- data/vendor/unity/examples/example_4/readme.txt +15 -0
- data/vendor/unity/examples/example_4/src/ProductionCode.c +30 -0
- data/vendor/unity/examples/example_4/src/ProductionCode.h +9 -0
- data/vendor/unity/examples/example_4/src/ProductionCode2.c +17 -0
- data/vendor/unity/examples/example_4/src/ProductionCode2.h +8 -0
- data/vendor/unity/examples/example_4/src/meson.build +16 -0
- data/vendor/unity/examples/example_4/subprojects/unity.wrap +6 -0
- data/vendor/unity/examples/example_4/test/TestProductionCode.c +69 -0
- data/vendor/unity/examples/example_4/test/TestProductionCode2.c +41 -0
- data/vendor/unity/examples/example_4/test/meson.build +7 -0
- data/vendor/unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
- data/vendor/unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
- data/vendor/unity/examples/example_4/test/test_runners/meson.build +13 -0
- data/vendor/unity/examples/unity_config.h +251 -0
- data/vendor/unity/extras/bdd/readme.md +40 -0
- data/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
- data/vendor/unity/extras/bdd/test/meson.build +9 -0
- data/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
- data/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
- data/vendor/unity/extras/fixture/readme.md +26 -0
- data/vendor/unity/extras/fixture/src/meson.build +10 -0
- data/vendor/unity/extras/fixture/src/unity_fixture.c +310 -0
- data/vendor/unity/extras/fixture/src/unity_fixture.h +94 -0
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +50 -0
- data/vendor/unity/extras/fixture/test/Makefile +72 -0
- data/vendor/unity/extras/fixture/test/main/AllTests.c +20 -0
- data/vendor/unity/extras/fixture/test/template_fixture_tests.c +39 -0
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +245 -0
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +32 -0
- data/vendor/unity/extras/memory/readme.md +42 -0
- data/vendor/unity/extras/memory/src/meson.build +9 -0
- data/vendor/unity/extras/memory/src/unity_memory.c +203 -0
- data/vendor/unity/extras/memory/src/unity_memory.h +61 -0
- data/vendor/unity/extras/memory/test/Makefile +85 -0
- data/vendor/unity/extras/memory/test/unity_memory_Test.c +326 -0
- data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
- data/vendor/unity/extras/memory/test/unity_output_Spy.c +57 -0
- data/vendor/unity/extras/memory/test/unity_output_Spy.h +17 -0
- data/vendor/unity/library.json +25 -0
- data/vendor/unity/meson.build +80 -0
- data/vendor/unity/meson_options.txt +3 -0
- data/vendor/unity/platformio-build.py +24 -0
- data/vendor/unity/src/meson.build +17 -0
- data/vendor/unity/src/unity.c +2501 -0
- data/vendor/unity/src/unity.h +698 -0
- data/vendor/unity/src/unity_internals.h +1183 -0
- data/vendor/unity/test/Makefile +167 -0
- data/vendor/unity/test/expectdata/testsample_cmd.c +61 -0
- data/vendor/unity/test/expectdata/testsample_def.c +57 -0
- data/vendor/unity/test/expectdata/testsample_head1.c +55 -0
- data/vendor/unity/test/expectdata/testsample_head1.h +15 -0
- data/vendor/unity/test/expectdata/testsample_mock_cmd.c +80 -0
- data/vendor/unity/test/expectdata/testsample_mock_def.c +76 -0
- data/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
- data/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
- data/vendor/unity/test/expectdata/testsample_mock_new1.c +89 -0
- data/vendor/unity/test/expectdata/testsample_mock_new2.c +89 -0
- data/vendor/unity/test/expectdata/testsample_mock_param.c +77 -0
- data/vendor/unity/test/expectdata/testsample_mock_run1.c +89 -0
- data/vendor/unity/test/expectdata/testsample_mock_run2.c +89 -0
- data/vendor/unity/test/expectdata/testsample_mock_yaml.c +90 -0
- data/vendor/unity/test/expectdata/testsample_new1.c +67 -0
- data/vendor/unity/test/expectdata/testsample_new2.c +70 -0
- data/vendor/unity/test/expectdata/testsample_param.c +58 -0
- data/vendor/unity/test/expectdata/testsample_run1.c +67 -0
- data/vendor/unity/test/expectdata/testsample_run2.c +70 -0
- data/vendor/unity/test/expectdata/testsample_yaml.c +71 -0
- data/vendor/unity/test/rakefile +164 -0
- data/vendor/unity/test/rakefile_helper.rb +316 -0
- data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +164 -0
- data/vendor/unity/test/targets/ansi.yml +51 -0
- data/vendor/unity/test/targets/clang_file.yml +79 -0
- data/vendor/unity/test/targets/clang_strict.yml +79 -0
- data/vendor/unity/test/targets/gcc_32.yml +52 -0
- data/vendor/unity/test/targets/gcc_64.yml +53 -0
- data/vendor/unity/test/targets/gcc_auto_limits.yml +50 -0
- data/vendor/unity/test/targets/gcc_auto_stdint.yml +62 -0
- data/vendor/unity/test/targets/gcc_manual_math.yml +50 -0
- data/vendor/unity/test/targets/hitech_picc18.yml +98 -0
- data/vendor/unity/test/targets/iar_arm_v4.yml +105 -0
- data/vendor/unity/test/targets/iar_arm_v5.yml +99 -0
- data/vendor/unity/test/targets/iar_arm_v5_3.yml +99 -0
- data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +97 -0
- data/vendor/unity/test/targets/iar_cortexm3_v5.yml +101 -0
- data/vendor/unity/test/targets/iar_msp430.yml +119 -0
- data/vendor/unity/test/targets/iar_sh2a_v6.yml +106 -0
- data/vendor/unity/test/testdata/CException.h +18 -0
- data/vendor/unity/test/testdata/Defs.h +16 -0
- data/vendor/unity/test/testdata/cmock.h +21 -0
- data/vendor/unity/test/testdata/mockMock.h +20 -0
- data/vendor/unity/test/testdata/testRunnerGenerator.c +204 -0
- data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
- data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
- data/vendor/unity/test/tests/self_assessment_utils.h +151 -0
- data/vendor/unity/test/tests/test_generate_test_runner.rb +1341 -0
- data/vendor/unity/test/tests/test_unity_arrays.c +2941 -0
- data/vendor/unity/test/tests/test_unity_core.c +375 -0
- data/vendor/unity/test/tests/test_unity_doubles.c +1285 -0
- data/vendor/unity/test/tests/test_unity_floats.c +1395 -0
- data/vendor/unity/test/tests/test_unity_integers.c +2863 -0
- data/vendor/unity/test/tests/test_unity_integers_64.c +783 -0
- data/vendor/unity/test/tests/test_unity_memory.c +82 -0
- data/vendor/unity/test/tests/test_unity_parameterized.c +309 -0
- data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
- data/vendor/unity/test/tests/test_unity_strings.c +330 -0
- data/vendor/unity/test/tests/types_for_test.h +21 -0
- data/vendor/unity/unityConfig.cmake +1 -0
- metadata +1211 -251
- data/.gitignore +0 -14
- data/.vim +0 -1
- data/.yardopts +0 -1
- data/LICENSE +0 -19
- data/ceedling-gem.sublime-project +0 -575
- data/examples/temp_sensor/rakefile.rb +0 -4
- data/examples/temp_sensor/src/AT91SAM7X256.h +0 -2556
- data/examples/temp_sensor/src/UsartGetChar.c +0 -6
- data/examples/temp_sensor/src/UsartGetChar.h +0 -8
- data/examples/temp_sensor/test/test_AdcConductor.c +0 -121
- data/examples/temp_sensor/test/test_AdcHardware.c +0 -44
- data/examples/temp_sensor/test/test_AdcHardwareConfigurator.c +0 -43
- data/examples/temp_sensor/test/test_AdcModel.c +0 -33
- data/examples/temp_sensor/test/test_AdcTemperatureSensor.c +0 -47
- data/examples/temp_sensor/test/test_Executor.c +0 -36
- data/examples/temp_sensor/test/test_Main.c +0 -24
- data/examples/temp_sensor/test/test_Model.c +0 -20
- data/examples/temp_sensor/test/test_TaskScheduler.c +0 -104
- data/examples/temp_sensor/test/test_TemperatureCalculator.c +0 -33
- data/examples/temp_sensor/test/test_TemperatureFilter.c +0 -71
- data/examples/temp_sensor/test/test_TimerConductor.c +0 -32
- data/examples/temp_sensor/test/test_TimerConfigurator.c +0 -112
- data/examples/temp_sensor/test/test_TimerHardware.c +0 -26
- data/examples/temp_sensor/test/test_TimerInterruptConfigurator.c +0 -78
- data/examples/temp_sensor/test/test_TimerInterruptHandler.c +0 -66
- data/examples/temp_sensor/test/test_TimerModel.c +0 -18
- data/examples/temp_sensor/test/test_UsartBaudRateRegisterCalculator.c +0 -21
- data/examples/temp_sensor/test/test_UsartConductor.c +0 -40
- data/examples/temp_sensor/test/test_UsartConfigurator.c +0 -77
- data/examples/temp_sensor/test/test_UsartGetChar.c +0 -17
- data/examples/temp_sensor/test/test_UsartHardware.c +0 -56
- data/examples/temp_sensor/test/test_UsartModel.c +0 -40
- data/examples/temp_sensor/test/test_UsartPutChar.c +0 -43
- data/examples/temp_sensor/test/test_UsartTransmitBufferStatus.c +0 -22
- data/lib/ceedling/version.rb +0 -16
- data/lib/ceedling/version.rb.erb +0 -16
- data/new_project_template/build/.gitkeep +0 -0
- data/new_project_template/project.yml +0 -65
- data/new_project_template/rakefile.rb +0 -4
- data/new_project_template/src/.gitkeep +0 -0
- data/new_project_template/test/.gitkeep +0 -0
- data/new_project_template/test/support/.gitkeep +0 -0
- data/new_project_template/vendor/ceedling/docs/CExceptionSummary.pdf +0 -0
- data/new_project_template/vendor/ceedling/docs/CMock Summary.pdf +0 -0
- data/new_project_template/vendor/ceedling/docs/Ceedling Packet.pdf +0 -0
- data/new_project_template/vendor/ceedling/docs/Unity Summary.pdf +0 -0
- data/new_project_template/vendor/ceedling/lib/build_invoker_utils.rb +0 -27
- data/new_project_template/vendor/ceedling/lib/cacheinator.rb +0 -42
- data/new_project_template/vendor/ceedling/lib/cacheinator_helper.rb +0 -12
- data/new_project_template/vendor/ceedling/lib/cmock_builder.rb +0 -15
- data/new_project_template/vendor/ceedling/lib/configurator.rb +0 -329
- data/new_project_template/vendor/ceedling/lib/configurator_builder.rb +0 -419
- data/new_project_template/vendor/ceedling/lib/configurator_plugins.rb +0 -93
- data/new_project_template/vendor/ceedling/lib/configurator_setup.rb +0 -123
- data/new_project_template/vendor/ceedling/lib/configurator_validator.rb +0 -184
- data/new_project_template/vendor/ceedling/lib/constants.rb +0 -91
- data/new_project_template/vendor/ceedling/lib/defaults.rb +0 -378
- data/new_project_template/vendor/ceedling/lib/dependinator.rb +0 -92
- data/new_project_template/vendor/ceedling/lib/file_finder.rb +0 -132
- data/new_project_template/vendor/ceedling/lib/file_finder_helper.rb +0 -54
- data/new_project_template/vendor/ceedling/lib/file_path_utils.rb +0 -189
- data/new_project_template/vendor/ceedling/lib/file_system_utils.rb +0 -69
- data/new_project_template/vendor/ceedling/lib/file_wrapper.rb +0 -74
- data/new_project_template/vendor/ceedling/lib/flaginator.rb +0 -54
- data/new_project_template/vendor/ceedling/lib/generator.rb +0 -162
- data/new_project_template/vendor/ceedling/lib/generator_helper.rb +0 -40
- data/new_project_template/vendor/ceedling/lib/generator_test_results.rb +0 -89
- data/new_project_template/vendor/ceedling/lib/generator_test_results_sanity_checker.rb +0 -62
- data/new_project_template/vendor/ceedling/lib/generator_test_runner.rb +0 -63
- data/new_project_template/vendor/ceedling/lib/loginator.rb +0 -31
- data/new_project_template/vendor/ceedling/lib/makefile.rb +0 -46
- data/new_project_template/vendor/ceedling/lib/objects.yml +0 -301
- data/new_project_template/vendor/ceedling/lib/plugin.rb +0 -79
- data/new_project_template/vendor/ceedling/lib/plugin_manager.rb +0 -95
- data/new_project_template/vendor/ceedling/lib/plugin_manager_helper.rb +0 -19
- data/new_project_template/vendor/ceedling/lib/plugin_reportinator.rb +0 -75
- data/new_project_template/vendor/ceedling/lib/plugin_reportinator_helper.rb +0 -52
- data/new_project_template/vendor/ceedling/lib/preprocessinator.rb +0 -43
- data/new_project_template/vendor/ceedling/lib/preprocessinator_extractor.rb +0 -36
- data/new_project_template/vendor/ceedling/lib/preprocessinator_file_handler.rb +0 -21
- data/new_project_template/vendor/ceedling/lib/preprocessinator_helper.rb +0 -46
- data/new_project_template/vendor/ceedling/lib/preprocessinator_includes_handler.rb +0 -55
- data/new_project_template/vendor/ceedling/lib/project_config_manager.rb +0 -38
- data/new_project_template/vendor/ceedling/lib/project_file_loader.rb +0 -64
- data/new_project_template/vendor/ceedling/lib/rake_utils.rb +0 -17
- data/new_project_template/vendor/ceedling/lib/rake_wrapper.rb +0 -31
- data/new_project_template/vendor/ceedling/lib/rakefile.rb +0 -61
- data/new_project_template/vendor/ceedling/lib/release_invoker.rb +0 -58
- data/new_project_template/vendor/ceedling/lib/release_invoker_helper.rb +0 -16
- data/new_project_template/vendor/ceedling/lib/reportinator.rb +0 -9
- data/new_project_template/vendor/ceedling/lib/rules_cmock.rake +0 -9
- data/new_project_template/vendor/ceedling/lib/rules_preprocess.rake +0 -26
- data/new_project_template/vendor/ceedling/lib/rules_release.rake +0 -79
- data/new_project_template/vendor/ceedling/lib/rules_release_deep_dependencies.rake +0 -15
- data/new_project_template/vendor/ceedling/lib/rules_tests.rake +0 -59
- data/new_project_template/vendor/ceedling/lib/rules_tests_deep_dependencies.rake +0 -15
- data/new_project_template/vendor/ceedling/lib/setupinator.rb +0 -51
- data/new_project_template/vendor/ceedling/lib/stream_wrapper.rb +0 -20
- data/new_project_template/vendor/ceedling/lib/streaminator.rb +0 -41
- data/new_project_template/vendor/ceedling/lib/streaminator_helper.rb +0 -15
- data/new_project_template/vendor/ceedling/lib/system_utils.rb +0 -32
- data/new_project_template/vendor/ceedling/lib/system_wrapper.rb +0 -75
- data/new_project_template/vendor/ceedling/lib/task_invoker.rb +0 -85
- data/new_project_template/vendor/ceedling/lib/tasks_base.rake +0 -104
- data/new_project_template/vendor/ceedling/lib/tasks_filesystem.rake +0 -91
- data/new_project_template/vendor/ceedling/lib/tasks_release.rake +0 -28
- data/new_project_template/vendor/ceedling/lib/tasks_release_deep_dependencies.rake +0 -9
- data/new_project_template/vendor/ceedling/lib/tasks_tests.rake +0 -52
- data/new_project_template/vendor/ceedling/lib/tasks_tests_deep_dependencies.rake +0 -9
- data/new_project_template/vendor/ceedling/lib/tasks_vendor.rake +0 -36
- data/new_project_template/vendor/ceedling/lib/test_includes_extractor.rb +0 -81
- data/new_project_template/vendor/ceedling/lib/test_invoker.rb +0 -97
- data/new_project_template/vendor/ceedling/lib/test_invoker_helper.rb +0 -28
- data/new_project_template/vendor/ceedling/lib/tool_executor.rb +0 -212
- data/new_project_template/vendor/ceedling/lib/tool_executor_helper.rb +0 -115
- data/new_project_template/vendor/ceedling/lib/verbosinator.rb +0 -10
- data/new_project_template/vendor/ceedling/lib/yaml_wrapper.rb +0 -16
- data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rake +0 -162
- data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rb +0 -173
- data/new_project_template/vendor/ceedling/plugins/bullseye/defaults.yml +0 -53
- data/new_project_template/vendor/ceedling/plugins/bullseye/readme.txt +0 -0
- data/new_project_template/vendor/ceedling/plugins/gcov/defaults.yml +0 -34
- data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rake +0 -152
- data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rb +0 -128
- data/new_project_template/vendor/ceedling/plugins/gcov/readme.txt +0 -0
- data/new_project_template/vendor/ceedling/plugins/gcov/template.erb +0 -15
- data/new_project_template/vendor/ceedling/plugins/module_generator/module_generator.rake +0 -14
- data/new_project_template/vendor/ceedling/plugins/module_generator/module_generator.rb +0 -218
- data/new_project_template/vendor/ceedling/plugins/module_generator/module_generator.yml +0 -4
- data/new_project_template/vendor/ceedling/plugins/stdout_ide_tests_report/stdout_ide_tests_report.rb +0 -44
- data/new_project_template/vendor/ceedling/plugins/stdout_ide_tests_report/stdout_ide_tests_report.yml +0 -4
- data/new_project_template/vendor/ceedling/plugins/stdout_pretty_tests_report/stdout_pretty_tests_report.rb +0 -48
- data/new_project_template/vendor/ceedling/plugins/stdout_pretty_tests_report/stdout_pretty_tests_report.yml +0 -4
- data/new_project_template/vendor/ceedling/plugins/stdout_pretty_tests_report/template.erb +0 -59
- data/new_project_template/vendor/ceedling/plugins/warnings_report/warnings_report.rb +0 -71
- data/new_project_template/vendor/ceedling/plugins/xml_tests_report/xml_tests_report.rb +0 -110
- data/new_project_template/vendor/ceedling/release/build.info +0 -1
- data/new_project_template/vendor/ceedling/release/version.info +0 -1
- data/new_project_template/vendor/ceedling/vendor/c_exception/lib/CException.c +0 -39
- data/new_project_template/vendor/ceedling/vendor/c_exception/lib/CException.h +0 -70
- data/new_project_template/vendor/ceedling/vendor/c_exception/release/build.info +0 -1
- data/new_project_template/vendor/ceedling/vendor/c_exception/release/version.info +0 -2
- data/new_project_template/vendor/ceedling/vendor/cmock/config/production_environment.rb +0 -14
- data/new_project_template/vendor/ceedling/vendor/cmock/config/test_environment.rb +0 -16
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock.rb +0 -65
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_config.rb +0 -129
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_file_writer.rb +0 -33
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator.rb +0 -194
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_array.rb +0 -57
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_callback.rb +0 -78
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +0 -51
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_expect.rb +0 -86
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +0 -85
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_utils.rb +0 -177
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_header_parser.rb +0 -273
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_plugin_manager.rb +0 -40
- data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_unityhelper_parser.rb +0 -74
- data/new_project_template/vendor/ceedling/vendor/cmock/release/build.info +0 -1
- data/new_project_template/vendor/ceedling/vendor/cmock/release/version.info +0 -2
- data/new_project_template/vendor/ceedling/vendor/cmock/src/cmock.c +0 -186
- data/new_project_template/vendor/ceedling/vendor/cmock/src/cmock.h +0 -30
- data/new_project_template/vendor/ceedling/vendor/constructor/lib/constructor.rb +0 -127
- data/new_project_template/vendor/ceedling/vendor/constructor/lib/constructor_struct.rb +0 -33
- data/new_project_template/vendor/ceedling/vendor/deep_merge/lib/deep_merge.rb +0 -211
- data/new_project_template/vendor/ceedling/vendor/diy/lib/diy/factory.rb +0 -36
- data/new_project_template/vendor/ceedling/vendor/diy/lib/diy.rb +0 -403
- data/new_project_template/vendor/ceedling/vendor/unity/auto/generate_test_runner.rb +0 -308
- data/new_project_template/vendor/ceedling/vendor/unity/release/build.info +0 -1
- data/new_project_template/vendor/ceedling/vendor/unity/release/version.info +0 -2
- data/new_project_template/vendor/ceedling/vendor/unity/src/unity.c +0 -960
- data/new_project_template/vendor/ceedling/vendor/unity/src/unity.h +0 -232
- data/new_project_template/vendor/ceedling/vendor/unity/src/unity_internals.h +0 -414
- /data/{new_project_template/vendor/ceedling/plugins/bullseye → plugins/bullseye/assets}/template.erb +0 -0
@@ -0,0 +1,446 @@
|
|
1
|
+
# Ceedling Plugin: Test Suite Report Log Factory
|
2
|
+
|
3
|
+
Generate one or more built-in test suite reports — JSON, JUnit XML, CppUnit XML, or HTML — or create your own.
|
4
|
+
|
5
|
+
# Plugin Overview
|
6
|
+
|
7
|
+
Test reports are handy for all sorts of reasons. Various build and reporting tools are able to generate, visualize, or otherwise process results encoded in handy container formats including JSON and XML.
|
8
|
+
|
9
|
+
This plugin generates one or more of up to four available test suite report formats:
|
10
|
+
|
11
|
+
1. JSON
|
12
|
+
1. JUnit XML
|
13
|
+
1. CppUnit XML
|
14
|
+
1. HTML
|
15
|
+
|
16
|
+
This plugin generates reports after test builds, storing them in your project `artifacts/` build path.
|
17
|
+
|
18
|
+
With a limited amount of Ruby code, you can also create your own report without creating an entire Ceedling plugin.
|
19
|
+
|
20
|
+
# _User Beware_
|
21
|
+
|
22
|
+
Test reports often lack well managed standards or even much documentation at all. Different revisions of the formats exist as do different flavors of the same version produced by different tools.
|
23
|
+
|
24
|
+
If a test report produced by this plugin does not work for your needs or is not recognized by your report processing tool of choice, well, sadly, this is not all that uncommon. You have at least two options:
|
25
|
+
|
26
|
+
1. Use a script or other tool to post-process the report into a format that works for you. You might be surprised how many of these hacks are commonly necessary and exist peppered throughout online forums. You can incorporate any such post-processing step by enabling the `command_hooks` Ceedling plugin (lower in the plugin list than this plugin) and configuring a Ceedling tool to run the needed transformation.
|
27
|
+
1. Use Ceedling's abilities plus features of this plugin (documented below) to generate your own test report with a minimal amount of Ruby code.
|
28
|
+
|
29
|
+
# Setup
|
30
|
+
|
31
|
+
Enable the plugin in your Ceedling project file by adding `report_tests_log_factory` to the list of enabled plugins.
|
32
|
+
|
33
|
+
```yaml
|
34
|
+
:plugins:
|
35
|
+
:enabled:
|
36
|
+
- report_tests_log_factory
|
37
|
+
```
|
38
|
+
|
39
|
+
All generated reports are written to `<build root>/artifacts/<context>`. Your Ceedling project file specifies `<build root>` as a required entry for any build. Your build's context defaults to `test`. Certain other test build plugins (e.g. GCov) provide a different context (e.g. `gcov`) for test builds, generally named after themselves. That is, for example, if this plugin is used in conjunction with a GCov coverage build, the reports will end up in a subdirectory other than `test/`, `gcov/`.
|
40
|
+
|
41
|
+
# Configuration
|
42
|
+
|
43
|
+
Enable the reports you wish to generate — `json`, `junit`, and/or `cppunit` — within the `:report_tests_log_factory` ↳ `:reports` configuration list.
|
44
|
+
|
45
|
+
```yaml
|
46
|
+
:report_tests_log_factory:
|
47
|
+
# Any one or all four of the following...
|
48
|
+
:reports:
|
49
|
+
- json
|
50
|
+
- junit
|
51
|
+
- cppunit
|
52
|
+
- html
|
53
|
+
```
|
54
|
+
|
55
|
+
Each report is written to a default filename within `<build root>/artifacts/<context>`:
|
56
|
+
|
57
|
+
* JSON: _tests_report.json_
|
58
|
+
* JUnit XML: _junit_tests_report.xml_
|
59
|
+
* CppUnit XML: _cppunit_tests_report.xml_
|
60
|
+
* HTML: _tests_report.html_
|
61
|
+
|
62
|
+
To change the output filename, specify it with the `:filename` key beneath the relevant report within the `:report_tests_log_factory` configuration block:
|
63
|
+
|
64
|
+
```yaml
|
65
|
+
:report_tests_log_factory:
|
66
|
+
# Replace `<report>` with one of the available options above.
|
67
|
+
# Each report can have its own sub-configuration block.
|
68
|
+
:reports:
|
69
|
+
- <report>
|
70
|
+
:<report>:
|
71
|
+
:filename: 'more_better_filename.ext'
|
72
|
+
```
|
73
|
+
|
74
|
+
# Built-in Reports
|
75
|
+
|
76
|
+
## Execution duration values
|
77
|
+
|
78
|
+
Some test reporting formats include the execution time (duration) for aspects of a test suite run. Various granularities exist from the total time for all tests to the time of each suite (per the relevant defition of a suite) to the time required to run individual test cases. See _CeedlingPacket_ for the details on time duration values.
|
79
|
+
|
80
|
+
Ceedling automatically gathers all the relevant durations. In fact, Ceedling itself performs the needed timing and arithmetric in all cases, except one. Individual test case exection time tracking is specifically a [Unity] feature (see its documentation for more details). If enabled and if your platform supports the time mechanism Unity relies on, Ceedling will automatically collect test case time values and make them available to reports.
|
81
|
+
|
82
|
+
To enable test case duration measurements, they must be enabled as a Unity compilation option. Add `UNITY_INCLUDE_EXEC_TIME` to Unity's compilation symbols (`:unity` ↳ `:defines`) in your Ceedling project file (below). This plugin and the core of Ceedling take care of the rest. Unity test case durations as reported by Ceedling default to 0 if this Unity compilation option is not configured.
|
83
|
+
|
84
|
+
```yaml
|
85
|
+
:unity:
|
86
|
+
:defines:
|
87
|
+
- UNITY_INCLUDE_EXEC_TIME
|
88
|
+
```
|
89
|
+
|
90
|
+
_Note:_ Most test cases are quite short, and most computers are quite fast. As such, Unity test case execution time is often reported as 0 milliseconds as the CPU execution time for a test case typically remains in the microseconds range. Unity would require special rigging that is inconsistently available across platforms to measure test case durations at a finer resolution.
|
91
|
+
|
92
|
+
[Unity]: https://github.com/ThrowTheSwitch/Unity
|
93
|
+
|
94
|
+
## JSON Format
|
95
|
+
|
96
|
+
[JSON] is “a lightweight data-interchange format.” JSON serializes common data structures into a human readable form. The format has several pros, including the ability for entirely different programming languages to ingest JSON and recreate these data structures. As such, this makes JSON a good report generation option as the result can be easily programmatically manipulated and put to use.
|
97
|
+
|
98
|
+
Something like XML is a general purpose structure for, well, structuring data. XML has enough formality that XML formats can be validated with general purpose tools plus much more. JSON is much more flexible but rather tied to the data it encodes. Small changes to a data structure can have big impacts.
|
99
|
+
|
100
|
+
The JSON this plugin generates uses an ad hoc set of data structures following no standard — though any other test framework outputting test results in JSON may look fairly similar.
|
101
|
+
|
102
|
+
### Example JSON configuration YAML
|
103
|
+
|
104
|
+
```yaml
|
105
|
+
:plugins:
|
106
|
+
:enabled:
|
107
|
+
- report_tests_log_factory
|
108
|
+
|
109
|
+
:report_tests_log_factory:
|
110
|
+
:reports:
|
111
|
+
- json
|
112
|
+
# Default filename shown for completeness
|
113
|
+
# `:json` block only needed to override default
|
114
|
+
:json:
|
115
|
+
:filename: tests_report.json
|
116
|
+
```
|
117
|
+
|
118
|
+
[JSON]: https://www.json.org/
|
119
|
+
|
120
|
+
### Example JSON test report
|
121
|
+
|
122
|
+
In the following example a single test file _TestUsartModel.c_ exercised four test cases. Two test cases passed, one test case failed, and one test case was ignored.
|
123
|
+
|
124
|
+
```sh
|
125
|
+
> ceedling test:UsartModel
|
126
|
+
```
|
127
|
+
|
128
|
+
```json
|
129
|
+
{
|
130
|
+
"FailedTests": [
|
131
|
+
{
|
132
|
+
"file": "test/TestUsartModel.c",
|
133
|
+
"test": "testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately",
|
134
|
+
"line": 25,
|
135
|
+
"message": "Function TemperatureFilter_GetTemperatureInCelcius() called more times than expected."
|
136
|
+
}
|
137
|
+
],
|
138
|
+
"PassedTests": [
|
139
|
+
{
|
140
|
+
"file": "test/TestUsartModel.c",
|
141
|
+
"test": "testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting"
|
142
|
+
},
|
143
|
+
{
|
144
|
+
"file": "test/TestUsartModel.c",
|
145
|
+
"test": "testShouldReturnErrorMessageUponInvalidTemperatureValue"
|
146
|
+
}
|
147
|
+
],
|
148
|
+
"IgnoredTests": [
|
149
|
+
{
|
150
|
+
"file": "test/TestUsartModel.c",
|
151
|
+
"test": "testShouldReturnWakeupMessage"
|
152
|
+
}
|
153
|
+
],
|
154
|
+
"Summary": {
|
155
|
+
"total_tests": 4,
|
156
|
+
"passed": 2,
|
157
|
+
"ignored": 1,
|
158
|
+
"failures": 1
|
159
|
+
}
|
160
|
+
}
|
161
|
+
```
|
162
|
+
|
163
|
+
## JUnit XML Format
|
164
|
+
|
165
|
+
[JUnit] holds a certain position among testing tools. While it is an xUnit-style framework specific to unit testing Java, it has influenced how Continuous Integration build tools operate, and its [JUnit XML report format][junit-xml-format] has become something of a defacto standard for test reports in any language. The JUnit XML format has been revised in various ways over time but generally has more available documentation than some other formats.
|
166
|
+
|
167
|
+
[JUnit]: https://junit.org/
|
168
|
+
[junit-xml-format]: https://docs.getxray.app/display/XRAY/Taking+advantage+of+JUnit+XML+reports
|
169
|
+
|
170
|
+
### Example JUnit configuration YAML
|
171
|
+
|
172
|
+
```yaml
|
173
|
+
:plugins:
|
174
|
+
:enabled:
|
175
|
+
- report_tests_log_factory
|
176
|
+
|
177
|
+
:report_tests_log_factory:
|
178
|
+
:reports:
|
179
|
+
- junit
|
180
|
+
# Default filename shown for completeness
|
181
|
+
# `:junit` block only needed to override default
|
182
|
+
:junit:
|
183
|
+
:filename: junit_tests_report.xml
|
184
|
+
```
|
185
|
+
|
186
|
+
### Example JUnit test report
|
187
|
+
|
188
|
+
In the following example a single test file _TestUsartModel.c_ exercised four test cases. Two test cases passed, one test case failed, and one test case was ignored (a.k.a. “skipped” in JUnit lingo).
|
189
|
+
|
190
|
+
In mapping a Ceedling test suite to JUnit convetions, a Ceedling _test file_ becomes a JUnit _test suite_.
|
191
|
+
|
192
|
+
```sh
|
193
|
+
> ceedling test:UsartModel
|
194
|
+
```
|
195
|
+
|
196
|
+
```xml
|
197
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
198
|
+
<testsuites tests="4" failures="1" time="0.331">
|
199
|
+
<testsuite name="test/TestUsartModel" tests="4" failures="1" skipped="1" errors="0" time="0.331">
|
200
|
+
<testcase name="testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting" time="0.000"/>
|
201
|
+
<testcase name="testShouldReturnErrorMessageUponInvalidTemperatureValue" time="0.000"/>
|
202
|
+
<testcase name="testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately" time="0.000">
|
203
|
+
<failure message="Function TemperatureFilter_GetTemperatureInCelcius() called more times than expected." />
|
204
|
+
</testcase>
|
205
|
+
<testcase name="testShouldReturnWakeupMessage" time="0.000">
|
206
|
+
<skipped />
|
207
|
+
</testcase>
|
208
|
+
</testsuite>
|
209
|
+
</testsuites>
|
210
|
+
```
|
211
|
+
|
212
|
+
## CppUnit XML Format
|
213
|
+
|
214
|
+
[CppUnit] is an xUnit-style port of the JUnit framework to C/C++. Documentation for its XML test report is scattered and not easily linked.
|
215
|
+
|
216
|
+
[CppUnit]: https://freedesktop.org/wiki/Software/cppunit/
|
217
|
+
|
218
|
+
### Example CppUnit configuration YAML
|
219
|
+
|
220
|
+
```yaml
|
221
|
+
:plugins:
|
222
|
+
:enabled:
|
223
|
+
- report_tests_log_factory
|
224
|
+
|
225
|
+
:report_tests_log_factory:
|
226
|
+
:reports:
|
227
|
+
- cppunit
|
228
|
+
# Default filename shown for completeness
|
229
|
+
# `:cppunit` block only needed to override default
|
230
|
+
:cppunit:
|
231
|
+
:filename: cppunit_tests_report.xml
|
232
|
+
```
|
233
|
+
|
234
|
+
### Example CppUnit test report
|
235
|
+
|
236
|
+
In the following example a single test file _TestUsartModel.c_ exercised four test cases. Two test cases passed, one test case failed, and one test case was ignored.
|
237
|
+
|
238
|
+
In mapping a Ceedling test suite to CppUnit convetions, a CppUnit test name is the concatenation of a Ceedling test filename and a test case function name. As such, a test filename will appear in the report a number of times equal to the number of test cases it holds. Test IDs are merely an incrementing count useful to uniquely identifying tests by number; no ordering or convention is enforced in generating them.
|
239
|
+
|
240
|
+
```sh
|
241
|
+
> ceedling test:UsartModel
|
242
|
+
```
|
243
|
+
|
244
|
+
```xml
|
245
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
246
|
+
<TestRun>
|
247
|
+
<FailedTests>
|
248
|
+
<Test id="1">
|
249
|
+
<Name>test/TestUsartModel.c::testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately</Name>
|
250
|
+
<FailureType>Assertion</FailureType>
|
251
|
+
<Location>
|
252
|
+
<File>test/TestUsartModel.c</File>
|
253
|
+
<Line>25</Line>
|
254
|
+
</Location>
|
255
|
+
<Message>Function TemperatureFilter_GetTemperatureInCelcius() called more times than expected.</Message>
|
256
|
+
</Test>
|
257
|
+
</FailedTests>
|
258
|
+
<SuccessfulTests>
|
259
|
+
<Test id="2">
|
260
|
+
<Name>test/TestUsartModel.c::testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting</Name>
|
261
|
+
</Test>
|
262
|
+
<Test id="3">
|
263
|
+
<Name>test/TestUsartModel.c::testShouldReturnErrorMessageUponInvalidTemperatureValue</Name>
|
264
|
+
</Test>
|
265
|
+
</SuccessfulTests>
|
266
|
+
<IgnoredTests>
|
267
|
+
<Test id="4">
|
268
|
+
<Name>test/TestUsartModel.c::testShouldReturnWakeupMessage</Name>
|
269
|
+
</Test>
|
270
|
+
</IgnoredTests>
|
271
|
+
<Statistics>
|
272
|
+
<Tests>4</Tests>
|
273
|
+
<Ignores>1</Ignores>
|
274
|
+
<FailuresTotal>1</FailuresTotal>
|
275
|
+
<Errors>0</Errors>
|
276
|
+
<Failures>1</Failures>
|
277
|
+
</Statistics>
|
278
|
+
</TestRun>
|
279
|
+
```
|
280
|
+
|
281
|
+
## HTML Format
|
282
|
+
|
283
|
+
This plugin creates an adhoc HTML page in a single file.
|
284
|
+
|
285
|
+
### Example HTML configuration YAML
|
286
|
+
|
287
|
+
```yaml
|
288
|
+
:plugins:
|
289
|
+
:enabled:
|
290
|
+
- report_tests_log_factory
|
291
|
+
|
292
|
+
:report_tests_log_factory:
|
293
|
+
:reports:
|
294
|
+
- html
|
295
|
+
# Default filename shown for completeness
|
296
|
+
# `:html` block only needed to override default
|
297
|
+
:html:
|
298
|
+
:filename: tests_report.html
|
299
|
+
```
|
300
|
+
|
301
|
+
### Example HTML test report
|
302
|
+
|
303
|
+

|
304
|
+
|
305
|
+
# Creating Your Own Custom Report
|
306
|
+
|
307
|
+
Creating your own report requires three steps:
|
308
|
+
|
309
|
+
1. Choose a directory to hold your report Ruby code and add it to your `:plugins` ↳ `:load_paths` configuration.
|
310
|
+
1. Create a Ruby file in the directory from (1) per instructions that follow.
|
311
|
+
1. Enable your new report in your `:report_tests_log_factory` Ceedling configuration.
|
312
|
+
|
313
|
+
## Custom report configuration
|
314
|
+
|
315
|
+
Configuration steps, (1) and (3) above, are documented by example below. Conventions simplify the Ruby programming and require certain naming rules that extend into your project configuration.
|
316
|
+
|
317
|
+
```yaml
|
318
|
+
:plugins:
|
319
|
+
:load_paths: # Paths can be relative or absolute
|
320
|
+
- scripts/ # Add <build root>/scripts to Ruby's load paths
|
321
|
+
:enabled:
|
322
|
+
- report_tests_log_factory
|
323
|
+
|
324
|
+
:report_tests_log_factory:
|
325
|
+
:reports:
|
326
|
+
- fancy_shmancy # Your custom report must follow naming rules (below)
|
327
|
+
```
|
328
|
+
|
329
|
+
## Custom `TestsReporter` Ruby code
|
330
|
+
|
331
|
+
To create a custom report, here's what you gotta do:
|
332
|
+
|
333
|
+
1. Create a Ruby file in your configured additional load path named `<custom_report>_tests_reporter.rb`. `<custom_report>` should be in lower case and use underscores if you wish to seperate words (i.e. snakecase).
|
334
|
+
1. The Ruby code itself must subclass an existing plugin class, `TestsReporter`.
|
335
|
+
1. Your new subclass must be named `<CustomReport>TestsReporter` where `<CustomReport>` is the camelcase version of your report name from (1).
|
336
|
+
1. Fill out up to four methods in your custom `TestsReporter` subclass:
|
337
|
+
* `setup()`
|
338
|
+
* `header()` (optional)
|
339
|
+
* `body()`
|
340
|
+
* `footer()` (optional)
|
341
|
+
|
342
|
+
Overriding the default filename of your custom report happens just as it does for the built-in reports. In fact, apart from the custom load path, the built-in reports documented above use the same mechanisms as a custom report. These Ruby files can and should be used as references.
|
343
|
+
|
344
|
+
You may access `:report_tests_log_factory` configuration for your custom report using a handy utility method documented in a later section.
|
345
|
+
|
346
|
+
### Sample `TestReporter` custom subclass
|
347
|
+
|
348
|
+
The following code creates a simple, dummy report of the _FancyShmancy_ variety (note the name correspondence to the example configuration YAML above).
|
349
|
+
|
350
|
+
```ruby
|
351
|
+
# Must include this `require` statement
|
352
|
+
require 'tests_reporter'
|
353
|
+
|
354
|
+
# Your custom class must:
|
355
|
+
# 1. Follow the naming convention <CustomReport>TestsReporter where
|
356
|
+
# <CustomReport> corresponds to the <custom_report> entry in your
|
357
|
+
# `:report_tests_log_factory` configuration.
|
358
|
+
# 2. Sublcass `TestsReporter`.
|
359
|
+
class FancyShmancyTestsReporter < TestsReporter
|
360
|
+
|
361
|
+
# Must include a method `setup()` that:
|
362
|
+
# 1. Calls `super()` with a default filename for the custom report.
|
363
|
+
# (No convention or limitations on filenames.)
|
364
|
+
# 2. Includes any needed instance variables.
|
365
|
+
# (`setup()` is effectively your constructor.)
|
366
|
+
def setup()
|
367
|
+
super( default_filename: 'fancy_shmancy_tests_report.xml' )
|
368
|
+
end
|
369
|
+
|
370
|
+
# If your report includes a header section, fill out this method.
|
371
|
+
# If no header in your report, this method is not needed in this file at all.
|
372
|
+
def header(results:, stream:)
|
373
|
+
stream.puts( '<?xml version="1.0" encoding="utf-8" ?>' )
|
374
|
+
stream.puts( "<FancyShmancy TestCount=#{results[:counts][:total]}>" )
|
375
|
+
end
|
376
|
+
|
377
|
+
# Process test results into report records
|
378
|
+
def body(results:, stream:)
|
379
|
+
results.each do |result|
|
380
|
+
result[:collection].each do |item|
|
381
|
+
write_test( item, stream )
|
382
|
+
end
|
383
|
+
end
|
384
|
+
end
|
385
|
+
|
386
|
+
# If your report includes a footer section, fill out this method.
|
387
|
+
# If no footer in your report, this method is not needed in this file at all.
|
388
|
+
def footer(results:, stream:)
|
389
|
+
stream.puts( "</FancyShmancy>" )
|
390
|
+
end
|
391
|
+
|
392
|
+
# If you want to break up your custom reporting code, create all the private
|
393
|
+
# methods you wish and call them as needed from `setup()`, `header()`,
|
394
|
+
# `body()`, and `footer()`.
|
395
|
+
|
396
|
+
private
|
397
|
+
|
398
|
+
# A simple helper method for a simple test report entry.
|
399
|
+
# This methid is not required by a custom `TestReporter` subclass.
|
400
|
+
def write_test(item, stream)
|
401
|
+
stream.puts( " <Test><Name>#{item[:test]}</Name></Test>" )
|
402
|
+
end
|
403
|
+
|
404
|
+
end
|
405
|
+
```
|
406
|
+
|
407
|
+
### Plugin hooks & test results data structure
|
408
|
+
|
409
|
+
See [_PluginDevelopmentGuide_][custom-plugins] for documentation of the test results data structure (i.e. the `results` method arguments in above sample code).
|
410
|
+
|
411
|
+
See this plugin's built-in `TestsReports` subclasses — `json_tests_reporter.rb`, `junit_tests_reporter.rb`, and `cppunit_tests_reporter.rb` — for examples of using test results.
|
412
|
+
|
413
|
+
[custom-plugins]: ../docs/PluginDevelopmentGuide.md
|
414
|
+
|
415
|
+
### `TestsReporter` utility methods
|
416
|
+
|
417
|
+
#### Configuration access: `fetch_config_value(*keys)`
|
418
|
+
|
419
|
+
You may call the private method `fetch_config_value(*keys)` of the parent class `TestReporters` from your custom subclass to retrieve configuration entries.
|
420
|
+
|
421
|
+
This method automatically indexes into `:report_tests_log_factory` configuration to extract any needed configuration values for your custom report. If the configuration keys do not exist, it simply returns `nil`. Otherwise, it returns the hash, list, string, boolean, or numeric value for the specified key walk into your report's configuration.
|
422
|
+
|
423
|
+
`fetch_config_value(*keys)` expects a list of keys and only accesses configuration beneath `:report_tests_log_factory` ↳ `:<custom_report>`.
|
424
|
+
|
425
|
+
##### Example _FancyShmancy_ configuration + `TestsReporter.fetch_config_value()` calls
|
426
|
+
|
427
|
+
```yaml
|
428
|
+
report_tests_log_factory:
|
429
|
+
:fancy_shmancy:
|
430
|
+
# Hypothetical feature to standardize test names before writing to report
|
431
|
+
:standardize:
|
432
|
+
:names: TRUE
|
433
|
+
:filters:
|
434
|
+
- '/^Foo/'
|
435
|
+
- '/Bar$/'
|
436
|
+
```
|
437
|
+
|
438
|
+
```ruby
|
439
|
+
# Calls from within FancyShmancyTestsReporter
|
440
|
+
|
441
|
+
fetch_config_value( :standardize, :names ) => true
|
442
|
+
|
443
|
+
fetch_config_value( :standardize, :filters ) => ['/^Foo/', '/Bar$/']
|
444
|
+
|
445
|
+
fetch_config_value( :does, :not, :exist ) => nil
|
446
|
+
```
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# =========================================================================
|
2
|
+
# Ceedling - Test-Centered Build System for C
|
3
|
+
# ThrowTheSwitch.org
|
4
|
+
# Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
# SPDX-License-Identifier: MIT
|
6
|
+
# =========================================================================
|
7
|
+
|
8
|
+
---
|
9
|
+
:report_tests_log_factory:
|
10
|
+
:reports: []
|
11
|
+
...
|
@@ -0,0 +1,100 @@
|
|
1
|
+
# =========================================================================
|
2
|
+
# Ceedling - Test-Centered Build System for C
|
3
|
+
# ThrowTheSwitch.org
|
4
|
+
# Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
# SPDX-License-Identifier: MIT
|
6
|
+
# =========================================================================
|
7
|
+
|
8
|
+
require 'tests_reporter'
|
9
|
+
|
10
|
+
class CppunitTestsReporter < TestsReporter
|
11
|
+
|
12
|
+
def setup()
|
13
|
+
super( default_filename: 'cppunit_tests_report.xml' )
|
14
|
+
@test_counter = 0
|
15
|
+
end
|
16
|
+
|
17
|
+
# CppUnit XML header
|
18
|
+
def header(results:, stream:)
|
19
|
+
stream.puts( '<?xml version="1.0" encoding="utf-8" ?>' )
|
20
|
+
stream.puts( "<TestRun>" )
|
21
|
+
end
|
22
|
+
|
23
|
+
# CppUnit XML test list contents
|
24
|
+
def body(results:, stream:)
|
25
|
+
@test_counter = 1
|
26
|
+
write_failures( results[:failures], stream )
|
27
|
+
write_tests( results[:successes], stream, 'SuccessfulTests' )
|
28
|
+
write_tests( results[:ignores], stream, 'IgnoredTests' )
|
29
|
+
write_statistics( results[:counts], stream )
|
30
|
+
end
|
31
|
+
|
32
|
+
# CppUnit XML footer
|
33
|
+
def footer(results:, stream:)
|
34
|
+
stream.puts( "</TestRun>" )
|
35
|
+
end
|
36
|
+
|
37
|
+
### Private
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def write_failures(results, stream)
|
42
|
+
if results.size.zero?
|
43
|
+
stream.puts( " <FailedTests/>" )
|
44
|
+
return
|
45
|
+
end
|
46
|
+
|
47
|
+
stream.puts( " <FailedTests>" )
|
48
|
+
|
49
|
+
results.each do |result|
|
50
|
+
result[:collection].each do |item|
|
51
|
+
filename = result[:source][:file]
|
52
|
+
|
53
|
+
stream.puts " <Test id=\"#{@test_counter}\">"
|
54
|
+
stream.puts " <Name>#{filename}::#{item[:test]}</Name>"
|
55
|
+
stream.puts " <FailureType>Assertion</FailureType>"
|
56
|
+
stream.puts " <Location>"
|
57
|
+
stream.puts " <File>#{filename}</File>"
|
58
|
+
stream.puts " <Line>#{item[:line]}</Line>"
|
59
|
+
stream.puts " </Location>"
|
60
|
+
stream.puts " <Message>#{item[:message]}</Message>"
|
61
|
+
stream.puts " </Test>"
|
62
|
+
@test_counter += 1
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
stream.puts( " </FailedTests>" )
|
67
|
+
end
|
68
|
+
|
69
|
+
def write_tests(results, stream, tag)
|
70
|
+
if results.size.zero?
|
71
|
+
stream.puts( " <#{tag}/>" )
|
72
|
+
return
|
73
|
+
end
|
74
|
+
|
75
|
+
stream.puts( " <#{tag}>" )
|
76
|
+
|
77
|
+
results.each do |result|
|
78
|
+
result[:collection].each do |item|
|
79
|
+
filename = result[:source][:file]
|
80
|
+
stream.puts( " <Test id=\"#{@test_counter}\">" )
|
81
|
+
stream.puts( " <Name>#{filename}::#{item[:test]}</Name>" )
|
82
|
+
stream.puts( " </Test>" )
|
83
|
+
@test_counter += 1
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
stream.puts " </#{tag}>"
|
88
|
+
end
|
89
|
+
|
90
|
+
def write_statistics(counts, stream)
|
91
|
+
stream.puts( " <Statistics>" )
|
92
|
+
stream.puts( " <Tests>#{counts[:total]}</Tests>" )
|
93
|
+
stream.puts( " <Ignores>#{counts[:ignored]}</Ignores>" )
|
94
|
+
stream.puts( " <FailuresTotal>#{counts[:failed]}</FailuresTotal>" )
|
95
|
+
stream.puts( " <Errors>0</Errors>" )
|
96
|
+
stream.puts( " <Failures>#{counts[:failed]}</Failures>" )
|
97
|
+
stream.puts( " </Statistics>" )
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|